<?xml version="1.0" encoding="UTF-8"?>
<!-- Hand-maintained index of the site's own pages. The 348 SSR book/article/
     library URLs live in sitemap-seo.xml (generated by konsensus-seo).
     RULE: never list a URL that redirects, 404s, or carries a noindex — a
     sitemap row is an explicit "please index this", and Google flags the
     contradiction. /partners/ was removed on 2026-07-28 for exactly that
     reason: it is the login-gated partner dashboard and is noindexed on
     purpose. The public recruitment page /partners/register/ stays. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://konsensus.net/</loc><changefreq>weekly</changefreq><priority>1.0</priority></url>
  <url><loc>https://konsensus.net/books/</loc><changefreq>daily</changefreq><priority>0.9</priority></url>
  <!-- Curated /books/<token> landing pages (Phase 2c, 2026-07-30). Each one is
       server-rendered with ITS books, its own title/description and a
       self-canonical, so they are pages in their own right rather than 14 more
       addresses for the shop. Listed WITHOUT a trailing slash — that is the form
       the worker answers 200 with no redirect, and the form the canonical tag,
       the filter pills and these rows all use. The 301 that kills every unknown
       token (/books/<anything-else> → /books/) is what makes this list closed:
       only the tokens in src/lib/books-render.js resolveBooksToken exist.
       Listed here = allowlisted AND non-empty on the live catalogue; tokens with
       thin or no stock (nl, sv, pt, the smaller categories) resolve but are not
       advertised. -->
  <url><loc>https://konsensus.net/books/free</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/new</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/bestsellers</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/deals</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/hot</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/konsensus</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/audiobooks</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/fiction</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/econ</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/fi</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/fr</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/es</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/de</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/books/it</loc><changefreq>weekly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/library/</loc><changefreq>weekly</changefreq><priority>0.9</priority></url>
  <!-- /blog/ is THE blog index (Phase 4, 2026-07-30): server-rendered cards for
       every post, Blog + ItemList JSON-LD. /articles/ was a second listing of the
       same posts and now 301s here, so its row is gone — a sitemap must never
       list a redirect. NOTE: sitemap-seo.xml (konsensus-seo, separate worker)
       still lists /articles/ and the article pages still breadcrumb to it; that
       repo's follow-up removes both. -->
  <url><loc>https://konsensus.net/blog/</loc><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://konsensus.net/publish/</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://konsensus.net/partners/register/</loc><changefreq>monthly</changefreq><priority>0.5</priority></url>
  <url><loc>https://konsensus.net/shipping/</loc><changefreq>monthly</changefreq><priority>0.5</priority></url>
  <url><loc>https://konsensus.net/returns/</loc><changefreq>monthly</changefreq><priority>0.5</priority></url>
  <url><loc>https://konsensus.net/contact/</loc><changefreq>monthly</changefreq><priority>0.5</priority></url>
  <url><loc>https://konsensus.net/call/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://konsensus.net/terms/</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://konsensus.net/privacy/</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://konsensus.net/privacy/analytics/</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
</urlset>
