<?xml version="1.0" encoding="UTF-8"?>
<!--
  Only list URLs that are (a) live, (b) Allow-ed in robots-wizmarks.txt, and
  (c) NOT served with X-Robots-Tag noindex by nginx. A sitemap entry that
  fails any of those three reports as an error in Search Console.
  Add each /learn/ topic page here as it ships — see the commented example.

  6 Oct 2026: the /learn/ cluster added. These were built in September and
  never deployed — every URL under /learn/ 404s until the directory is
  pushed AND the nginx block from _tmp_nginx-learn-block.conf is applied.
  Do not submit this sitemap before both are done, or GSC reports 404s.

  15 Oct 2026: the /try/ sample questions added (index + 8 pages). They go
  live as indexable pages only when all three agree: this sitemap, the
  `Allow: /try/` lines in robots-wizmarks.txt, and the `location ^~ /try/`
  nginx block from _tmp_nginx-try-block.conf. See DEPLOY-TRY-SEO.md.
  The pages are GENERATED by tools/build-try-pages.mjs; the list below must
  match its SAMPLES array — if a sample is swapped, swap it here too.

  Deliberately NOT listed, pending a decision:
    /learn/11-plus-3d-shape-viewer.html  - duplicates the already-indexed
        root /11-plus-3d-shape-viewer.html. Two self-canonical pages on the
        same topic would compete. Pick one before shipping it.
    /learn/11-plus-fold-and-punch.html   - overlaps
        /learn/11-plus-fold-and-punch-model.html, which is newer, longer and
        is the one the hub links to.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://wizmarks.co.uk/</loc>
    <lastmod>2026-09-17</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/privacy.html</loc>
    <lastmod>2026-09-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/terms-subscription.html</loc>
    <lastmod>2026-09-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Free 3D shape viewer: the public selling page for the spatial tools.
       Served from the root with its own nginx `location =` (no X-Robots-Tag). -->
  <url>
    <loc>https://wizmarks.co.uk/11-plus-3d-shape-viewer.html</loc>
    <lastmod>2026-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- /learn/ — HELD OUT 15 Oct 2026. The directory has never been
       deployed (every URL below 404s on the live server) and only one of
       the pages is even committed. A sitemap that lists 404s teaches the
       crawler to trust it less, which would drag on /try/. Un-comment the
       block when /learn/ actually ships; the entries are kept verbatim.
  <!- - /learn/ — the public SEO surface. Ungated (no auth.js), each page
       self-canonical, each with its own meta description. The hub and the
       four topic pages cross-link, so they crawl as one cluster. - ->
  <url>
    <loc>https://wizmarks.co.uk/learn/11-plus-3d-reasoning.html</loc>
    <lastmod>2026-09-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/learn/11-plus-views-of-a-solid.html</loc>
    <lastmod>2026-09-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/learn/11-plus-hidden-cubes.html</loc>
    <lastmod>2026-09-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/learn/11-plus-cube-nets.html</loc>
    <lastmod>2026-09-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/learn/11-plus-fold-and-punch-model.html</loc>
    <lastmod>2026-09-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  -->
  <!-- /try/ — eight free sample questions, outside the paywall, each
       self-canonical with its own title and description (built by
       tools/build-try-pages.mjs). The index is the entry point. -->
  <url>
    <loc>https://wizmarks.co.uk/try/index.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/triangle-area-9.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/ratio-total-17.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/misspelling-6.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/grammar-punctuation-13.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/letter-word-code-13.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/hidden-word-27.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/nvr-net-map-2.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://wizmarks.co.uk/try/nvr-view-side-10.html</loc>
    <lastmod>2026-10-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>
