<?xml version="1.0" encoding="UTF-8"?>
<!--
  Koru sitemap.xml — the public, indexable surface.

  Scope: only public (un-authenticated) routes. The app surfaces
  (/dashboard, /websites, /portfolio, /settings, /billing) live behind
  login and are disallowed in robots.txt; they MUST NOT appear here
  even though they're real routes.

  Update cadence:
  * New blog article shipped → add a <url> entry with the article's
    publishedAt as <lastmod>.
  * New marketing page shipped → add a <url> entry.
  * Routine content edits → bump the relevant <lastmod> to the edit
    date.

  Drift guard: src/__tests__/sitemap.test.ts asserts every URL listed
  here has a matching route in src/constants/routes.ts (modulo the
  /blog/:slug pattern) and that no auth-only route leaks in.

  Format: sitemaps 0.9 (https://www.sitemaps.org/protocol.html).
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

  <!-- Landing — the headline entry point. -->
  <url>
    <loc>https://koru-seo.com/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Marketing pages -->
  <url>
    <loc>https://koru-seo.com/about</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://koru-seo.com/contact</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Blog index — entry point to all articles. ``changefreq`` is
       weekly because new articles ship in batches. -->
  <url>
    <loc>https://koru-seo.com/blog</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Individual blog articles. ``lastmod`` matches the article's
       publishedAt in src/content/blog/<slug>.tsx (or updatedAt when
       set). One <url> per article — drift test pins this. -->
  <url>
    <loc>https://koru-seo.com/blog/seo-technical-audit-service</loc>
    <lastmod>2026-05-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

</urlset>
