<?xml version="1.0" encoding="UTF-8"?>
<!--
  https://mafia.aimdev.site/sitemap.xml

  Why this file exists: there was no sitemap, and the SPA fallback answered
  /sitemap.xml with HTTP 200 and the app shell. A crawler cannot tell a missing
  sitemap from a broken one — it just records an XML parse error against a URL
  that looks like it exists. The `location = /sitemap.xml` block in nginx.conf
  serves this file from disk, the same remedy /robots.txt and the prerendered
  store documents use.

  WHY ONLY THREE URLS, when the app also routes /rules and /roles:

  Mafia is a hand-rolled SPA. index.html carries one fixed head block for the
  whole host, including `<link rel="canonical" href="https://mafia.aimdev.site/">`.
  So /rules and /roles answer with the home page's title, the home page's
  description and a canonical pointing at /. They are, by their own declaration,
  the home page. Listing a URL that canonicalises away is a contradiction a
  sitemap should not contain.

  Those two pages are worth indexing on their own merits — "mafia game rules"
  and a 24-role reference are real queries. Getting there means giving each its
  own prerendered document with its own title, description and canonical, the
  way public/privacy/ and public/support/ already work. Add the document first,
  then add the <url> here; this file is static and will not notice on its own.

  No <changefreq> or <priority>: Google ignores both, and inventing values would
  only make this file look more authoritative than it is. Each <lastmod> is the
  real last-change date of that document in git.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://mafia.aimdev.site/</loc>
    <lastmod>2026-10-12</lastmod>
  </url>
  <url>
    <loc>https://mafia.aimdev.site/privacy</loc>
    <lastmod>2026-10-12</lastmod>
  </url>
  <url>
    <loc>https://mafia.aimdev.site/support</loc>
    <lastmod>2026-10-12</lastmod>
  </url>
</urlset>
