<?xml version="1.0" encoding="UTF-8"?>
<!--
  The ThermaSpec front door. Served at /sitemap.xml on thermaspec.co.uk by the
  worker (audio-worker/src/index.ts), because a sitemap may only list URLs on
  the host that serves it, and robots.txt's Sitemap line is rewritten to match.

  THREE pages: the front door and the two legal documents. The privacy notice
  and the terms used to be left out, on the grounds that those routes rendered
  the EchoSpec notices whose canonicals point at echospec.co.uk. That stopped
  being true when this host got documents of its own — audio-v9's route table
  mounts ThermaSpecPrivacyPage and ThermaSpecTermsPage there, and each writes
  its own thermaspec.co.uk canonical.

  Whatever is listed here MUST also be in THERMASPEC_PAGES in
  audio-worker/src/lib/thermaspec-shell.ts, or the edge canonicalises the URL
  back to the home page and the crawler is handed a contradiction. The whole
  site is client-rendered, so the edge's head is the only thing a crawler that
  does not run JavaScript ever sees.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://thermaspec.co.uk/</loc>
    <lastmod>2026-09-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://thermaspec.co.uk/privacy</loc>
    <lastmod>2026-09-12</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://thermaspec.co.uk/terms</loc>
    <lastmod>2026-09-12</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
