<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap for ClarAI public marketing pages.

  ORIGIN: https://myclarai.com
  This is the live production origin. If it ever changes, replace every
  occurrence of "https://myclarai.com" in this file (one per <loc>). Served
  verbatim from /sitemap.xml by Vite (public/).

  TRAILING SLASH. Every <loc> below ends in "/" because that is the form that
  returns 200. The prerenderer writes dist/<route>/index.html and Netlify 301s
  the slashless URL onto the directory form; measured on production 2026-08-22,
  /pricing 301s to /pricing/. Listing the slashless form made every URL in this
  file a redirect, and disagreed with the per-page <link rel="canonical">, which
  names the 200 URL. See canonicalPathFor() in src/lib/seo.ts.

  Only genuinely public, indexable routes are listed here. Authenticated app
  routes (/projects, /workspaces, /admin, auth pages), dynamic per-record pages
  (/vs/:competitor slugs are enumerated below, but /grade/:reportId,
  /brand/:slug, /customers/:slug and /blog/:slug are enumerated only for the
  published entries) are intentionally excluded.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Home -->
  <url>
    <loc>https://myclarai.com/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Marketing pages -->
  <url>
    <loc>https://myclarai.com/pricing/</loc>
    <lastmod>2026-08-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://myclarai.com/manifesto/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/simple/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://myclarai.com/advanced/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://myclarai.com/agencies/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/for/saas/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/free-ai-visibility-checker/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://myclarai.com/grade/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://myclarai.com/features/</loc>
    <lastmod>2026-08-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- [B4] /customers REMOVED 2026-08-21 (ROAST_HOMEPAGE_2026-08.md finding
       5b). It is not in the ROUTES list in scripts/prerender.mjs, so Netlify's
       SPA fallback hands back dist/index.html, which the prerenderer has
       already overwritten with the fully rendered HOMEPAGE. Verified live on
       2026-08-21: https://myclarai.com/customers returned 200 with the same
       136,832 bytes and the same md5 as https://myclarai.com/, under the
       homepage's own canonical. Listing a duplicate is a self-inflicted
       duplicate-content signal.

       /terms, /privacy and /legal serve the SAME byte-identical homepage for
       the same reason, but they were never listed here, so there was nothing
       to remove. Both defects have one fix: add the four routes to ROUTES in
       scripts/prerender.mjs. Re-add /customers below once it prerenders. -->

  <!-- Blog index -->
  <url>
    <loc>https://myclarai.com/blog/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Public changelog -->
  <url>
    <loc>https://myclarai.com/changelog/</loc>
    <lastmod>2026-08-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Blog posts (published entries in src/content/blog/posts.ts) -->
  <url>
    <loc>https://myclarai.com/blog/best-ai-visibility-tools-2026/</loc>
    <lastmod>2026-08-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/your-ai-visibility-score-is-lying/</loc>
    <lastmod>2026-08-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/google-ai-search-guide-what-matters/</loc>
    <lastmod>2026-08-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/aeo-retainer-economics/</loc>
    <lastmod>2026-08-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/snippet-controls-ai-visibility-off-switch/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/google-extended-vs-googlebot/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/is-your-site-agent-ready/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/ai-crawlers-gptbot-claudebot-perplexitybot/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/ai-shopping-how-product-cards-get-picked/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/prompt-demand-without-the-billion-conversation-dataset/</loc>
    <lastmod>2026-08-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/gsc-generative-ai-report-what-it-shows-and-hides/</loc>
    <lastmod>2026-08-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://myclarai.com/blog/reading-query-fan-out-like-a-map/</loc>
    <lastmod>2026-08-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Competitor comparison pages (src/pages/public/vsData.ts) -->
  <url>
    <loc>https://myclarai.com/vs/reach/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://myclarai.com/vs/profound/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://myclarai.com/vs/peec/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://myclarai.com/vs/otterly/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://myclarai.com/vs/semrush/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://myclarai.com/vs/ahrefs/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://myclarai.com/vs/trakkr/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>
