<?xml version="1.0" encoding="UTF-8"?>
<!--
  https://www.tunify.am/sitemap.xml

  ONLY ROUTES THAT EXIST. Every URL below is a real entry in the router
  (src/App.jsx) that renders indexable content without a session.

  DELIBERATELY ABSENT, and why:

    /try, /login, /register, /forgot-password
        Public, but an editor canvas and three auth forms. Nothing to index.

    /search
        The internal search page. Its content is the same rows /designers and
        /shop present at cleaner URLs, and Google's own guidance is to keep
        internal search results out of the index. It carries a noindex at
        runtime rather than a Disallow, so the crawler can still follow the
        links on it.

    /designer/:uid, /shop/:uid, /product/:id
        Real public pages and genuinely worth indexing — but one URL per row in
        Firestore, so they cannot be listed in a static file that ships with
        the build. They need a generated sitemap; see the report.

    /share/:userId/:projectId, /dashboard, /profile, /settings, /workspace,
    /app/:projectId, /my-designers, /my-liked, /basket, /account-type, /admin
        Private or signed-in. Disallowed in robots.txt.

  NO <changefreq> OR <priority>: Google has stated it ignores both. <lastmod>
  is the one hint it does read, so it is the only one here — and it is only
  meaningful if it is kept honest when the page actually changes.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Homepage — the product overview and the entry point to everything else. -->
  <url>
    <loc>https://www.tunify.am/</loc>
    <lastmod>2026-08-28</lastmod>
  </url>

  <!-- The interior designer directory. -->
  <url>
    <loc>https://www.tunify.am/designers</loc>
    <lastmod>2026-08-28</lastmod>
  </url>

  <!-- The furniture and decor marketplace. -->
  <url>
    <loc>https://www.tunify.am/shop</loc>
    <lastmod>2026-08-28</lastmod>
  </url>

</urlset>
