<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/ad-blocker-sitecoreai</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/app-service-502-errors</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/automatic-typescript-model-generation-tds</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/azure-paas-cache-optimization</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/block-bots-in-iis</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/boost-sif-cert-expiry-days</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/bulletproof-components-part-1-front-end</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/bulletproof-components-part-2-back-end</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/bulletproof-components-part-3-general</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/cdp-personalize-engage-sdk-nextjs-xm-xp</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/ck-editor-profiles-sitecoreai</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/cloudflare-turnstile-sitecore-forms</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/content-editor-search-bar-not-working</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/ctl-classname-indexof-not-a-function</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/custom-fields-sitecoreai-marketplace</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/data-exchange-framework-dynamics-connector-overview</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/disable-duplicate-item</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/docker-up-script</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/exclude-paths-sitecore-content-serialization</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/form-implementation-tips</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/front-end-tests-github-actions-playwright</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/headless-jss-cloud-infrastructure</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/hello-world</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/httprequestvalidationexception-potentially-dangerous</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/jss-cli-2100-not-compatible-with-xp-xm</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/jss-ts-project-tips</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/long-file-paths-sitecoreai-deployment</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/marcel-gruber-awarded-2024-sitecore-mvp</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/marcel-gruber-awarded-2025-sitecore-mvp</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/media-library-ids-helix-folders</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/mvp-summit-sugcon-north-america-2023</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/nextjs-access-blocked-by-cors</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/nextjs-jss-edit-frame-before-jss-21-1-0</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/nextjs-unable-verify-first-certificate</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/nodes-cannot-be-empty</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/on-database-refreshes</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/on-sitecore-development</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/on-sitecore-stack-exchange-sse</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/onetrust-gtm-tag-custom-cookie-settings-button</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/pages-experience-editor-feature-parity</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/ps-script-for-text-fields</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/query-layout-service-simplified</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/react-component-early-returns</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/reduce-jss-list-field-serialization-bloat</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/reduce-size-of-sql-databases</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/reflections-before-2025-symposium</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/renew-expired-xconnect-client-cert-on-azure-paas</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/route-fields-type-checking-typescript</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/run-solr-in-docker-container</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sc2024-001-619349-security-bulletin</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/security-series-app-service-ip-restrictions</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/self-documenting-roles</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sitecore-audits-server-maintenance</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sitecore-forms-disable-client-validation-bookmarklet</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sitecore-item-version-count-mismatch</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sitecore-scheduled-task-environment-isolation</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sitecore-symposium-2022-planning</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sitecoreai-development-chromes-editable</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/sitecoreai-essentials-tier</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/solr-cannot-be-installed-sif</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/spe-script-performance-troubleshooting</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/storing-full-urls-in-page-view-events</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/strict-vs-flexible-code</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/superfast-project-builds-with-vs-publish</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/symposium-2022-reflections</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/tds-serialization-with-long-paths</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/tips-for-applying-cumulative-sitecore-xm-xp-patches-hotfixes</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/tips-for-new-sitecore-developers</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/type-checked-field-names</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/vercel-firewall-outlook-ddos</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/what-i-learned-as-an-mvp-mentor</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/why-you-should-care-about-content-hub-as-a-developer</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/windows-10-docker-sitecore-10-3-1</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/xconnect-rapid-interaction-spoofing-contact-identification</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/xm-vulnerability-exploit-attempts</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/year-in-review-2022</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/year-in-review-2023</loc>
</url>
<url>
  <loc>https://sitecore.marcelgruber.ca/posts/your-sitecore-site-is-being-farmed-to-train-ai</loc>
</url></urlset>