<?xml version="1.0" encoding="UTF-8"?>
<!--
  Public, indexable routes only. Cross-checked against src/router/index.ts,
  public/robots.txt and public/_headers on 2026-09-04 — every URL below
  resolves to a real public route and none of them carry an
  `X-Robots-Tag: noindex`. Auth surfaces (/login, /reset-password) and
  signed-in-only routes (/dashboard, /questions, /challenge/:id, /account,
  /upgrade, /schema, /courses) are deliberately absent: they are noindexed in
  public/_headers, and listing a noindexed URL here would raise a "Submitted
  URL marked 'noindex'" error in Search Console.
  /learn/topic/:slug is dynamic and is left to internal linking from /learn.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://query-u.com/</loc>
    <lastmod>2026-08-30</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Primary acquisition pages: the practice hub and the public, no-signup
       first-query page. -->
  <url>
    <loc>https://query-u.com/sql-practice</loc>
    <lastmod>2026-08-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://query-u.com/start</loc>
    <lastmod>2026-08-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://query-u.com/learn</loc>
    <lastmod>2026-05-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Long-tail topic guides. -->
  <url>
    <loc>https://query-u.com/sql-basics</loc>
    <lastmod>2026-09-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-joins</loc>
    <lastmod>2026-09-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-having-vs-where</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-group-by-multiple-columns</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-group-by-month-date-trunc</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-cte-with-clause</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-case-when-conditional-aggregation</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-rank-vs-dense-rank-vs-row-number</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://query-u.com/sql-practice-sites-compared</loc>
    <lastmod>2026-08-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Course landing page for the "Build the Warehouse" database-design
       track. Public and indexable; the course itself lives under /courses/*
       which stays noindexed. -->
  <url>
    <loc>https://query-u.com/learn-database-design</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://query-u.com/leaderboard</loc>
    <lastmod>2026-08-21</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://query-u.com/privacy</loc>
    <lastmod>2026-05-06</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://query-u.com/terms</loc>
    <lastmod>2026-05-06</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
