<?xml version="1.0" encoding="UTF-8"?>
<!--
  Castle Cleans sitemap. Hand-built: every canonical URL and nothing else. No
  campaign pages, no preview URLs, and index-dark.html stays out, because it is
  a noindex comparison variant rather than a page.

  enquiry-sent.html stays out for the same reason (added 2026-08-19). It is the
  page a form submission redirects to when JavaScript is unavailable: a receipt,
  permanently noindex, reached by a redirect and linked from nothing. Both
  exclusions are asserted rather than assumed , audit-contract.mjs names
  enquiry-sent.html in a NOT_IN_SITEMAP set, so "it is missing" and "it is
  deliberately absent" cannot be confused for each other.

  A sitemap listing a URL that 404s is worse than a short sitemap, so this file
  covers only what is built. Both directions are asserted by an automated check
  before release: every URL listed here has a file, and every shipped page is
  listed here. Add a row in the same pass that ships a page, never ahead of it.

  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>
