<?xml version="1.0" encoding="UTF-8"?>
<!--
  Castle Cleans sitemap. Hand-built, per _briefs/ONPAGE_SEO_PLAN.md §10.5:
  every canonical URL and nothing else. No /oldcontact, no campaign pages, no
  preview URLs, and index-dark.html stays out (it is a noindex comparison
  variant, not a page).

  THIS FILE COVERS ONLY WHAT IS BUILT. A sitemap listing a URL that 404s is
  worse than a short sitemap, so _dev/build/audit-contract.mjs asserts both
  directions: every URL here has a file, and every shipped page is listed here.

  STILL TO BUILD (add a row as each ships):
    /privacy     , BUILT 2026-07-26, listed below. Interim draft pending Ryan's
                   legal sign-off and six open questions (see privacy.html head
                   comment + CLIENT_REQUEST_LIST). Terms of service is still to
                   come as a separate page when its copy is ready.
    /quote/home  , the residential quote page (ONPAGE_SEO_PLAN §4.1). Until it
                   exists, /quote serves residential explicitly rather than
                   silently, and /house-cleaning points there.
    /service-area , BUILT 2026-07-26, listed below. The postcode coverage
                   checker + areas list. INTERIM: its 30km radius is an operator
                   working assumption, not Ryan-confirmed (see the page's LAUNCH
                   GATE). Listed so it is crawlable in preview; the radius is
                   confirmed before production launch.
    /window-cleaning and /carpet-cleaning are NOT pending. Both are [NEEDS
                   RYAN], questionnaire item 6, and neither exists on the live
                   site. They stay out of the build entirely until he confirms
                   he sells them.
  Submitted in Search Console at launch, never before.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Core -->
  <url>
    <loc>https://www.castlecleans.com.au/</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/services</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/quote</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/crown-guarantee</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/about</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/contact</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/service-area</loc>
    <lastmod>2026-07-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/privacy</loc>
    <lastmod>2026-07-26</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Commercial service pages, in the ONPAGE_SEO_PLAN §6.2 priority order.
       office-cleaning carries the highest measured value of any term on the
       site (880/mo at $54.68 CPC, LOW competition, §0). -->
  <url>
    <loc>https://www.castlecleans.com.au/office-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/commercial-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/strata-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/medical-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/childcare-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/gym-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/hospitality-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/industrial-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.castlecleans.com.au/construction-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Residential. Kept and served, weighted second per the locked direction. -->
  <url>
    <loc>https://www.castlecleans.com.au/house-cleaning</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

</urlset>
