<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Hub pages -->
  <url><loc>https://sallymills.com/technical-seo-examples/</loc></url>
  <url><loc>https://sallymills.com/canonicals/</loc></url>
  <url><loc>https://sallymills.com/seo-javascript-issues/</loc></url>
  <url><loc>https://sallymills.com/indexing/</loc></url>

  <!-- Canonical tag demos -->
  <url><loc>https://sallymills.com/canonicals/incorrect-relative-url/</loc></url>
  <url><loc>https://sallymills.com/canonicals/looped-canonical-1/</loc></url>
  <url><loc>https://sallymills.com/canonicals/looped-canonical-2/</loc></url>
  <url><loc>https://sallymills.com/canonicals/correct-canonical/</loc></url>
  <url><loc>https://sallymills.com/canonicals/broken-canonical/</loc></url>
  <url><loc>https://sallymills.com/canonicals/blocked-canonical/</loc></url>
  <url><loc>https://sallymills.com/canonicals/trailing-slash-mismatch/</loc></url>

  <!-- JavaScript SEO demos -->
  <url><loc>https://sallymills.com/seo-javascript-issues/server-side-rendered/</loc></url>
  <url><loc>https://sallymills.com/seo-javascript-issues/client-side-rendered/</loc></url>
  <url><loc>https://sallymills.com/seo-javascript-issues/csr-ssr-mixed/</loc></url>
  <url><loc>https://sallymills.com/seo-javascript-issues/links-loaded-javascript/</loc></url>
  <url><loc>https://sallymills.com/seo-javascript-issues/interaction-gated-content/</loc></url>
  <url><loc>https://sallymills.com/seo-javascript-issues/noindex-loaded-in-javascript/</loc></url>

  <!-- Indexing demos — noindex-in-sitemap is intentionally listed here (that's the demo) -->
  <url><loc>https://sallymills.com/indexing/noindex-in-sitemap/</loc></url>

  <!-- NOTE: The following indexing demo pages are NOT listed here because they are
       genuinely noindexed. Sitemaps should only contain URLs you want indexed.
       /indexing/meta-robots-noindex/     — noindex in HTML
       /indexing/x-robots-tag/           — noindex via X-Robots-Tag HTTP header
       /indexing/noindex-javascript/     — noindex injected by JavaScript
       /indexing/noindex-with-canonical/ — noindex + canonical conflict (noindex wins)
  -->

</urlset>
