<?xml version="1.0" encoding="UTF-8"?>
<!--
  Hand-maintained against app.routes.ts (and, for the two course-details
  pages, core/course-detail-pages.ts): this is a pure client-side SPA with
  no server-side route registry to generate this from, so whoever adds or
  removes a public route there should mirror it here too. Deliberately
  excludes:
    * `/home`: redirects to `/`, would just read as duplicate content.
    * everything under `/admin`: private, also blocked in robots.txt.
    * `/sprawdz-siebie/test`: the timed reading-test flow itself; a real
      page, but an interactive tool rather than a landing page, so there's
      nothing worth sending search traffic to directly.
    * the wildcard 404 route: not a real page.
  `/sprawdz-siebie` is listed even though it's gated behind the
  "sprawdzSiebie" feature flag (see FeatureFlagService): every flag defaults
  to enabled, and a disabled flag just soft-redirects a crawler back to `/`
  rather than erroring.

  URL FORMAT (2026-09): every <loc> below is a plain path, no `#` fragment.
  Until 2026-09 these were hash-fragment URLs (`/#/route`) because the app
  ran `withHashLocation()` (app.config.ts) — a bare path like `/oferta`
  used to silently resolve to the HOME route instead of Oferta, since
  Angular's router only read `location.hash`. That's no longer true:
  `withHashLocation()` was dropped (see TODO.md's hash-routing decision
  history for the full why/when), the production Apache host got a
  `public/.htaccess` SPA-fallback rewrite (Cloudflare already had the
  equivalent via `wrangler.jsonc`'s `not_found_handling`), and every plain
  path below is now a real, directly reachable URL on both hosts —
  confirmed live, 2026-09.

  Update the domain below everywhere it appears (here, robots.txt's Sitemap
  line, src/index.html's static og:url/og:image) if the site ever moves off
  szybkieczytanie.lodz.pl too — see wrangler.jsonc's own comment, and note
  its list is itself incomplete (missing CLAUDE.md, docs/content-source-map.md,
  email-templates/, per TODO.md's SEO section).
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://szybkieczytanie.lodz.pl/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/oferta</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/terminarz</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/aktualnosci</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/metodyka</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/kursy/czytanie-dla-mlodziezy-doroslych</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/kursy/czytanie-dla-mlodziezy-doroslych-wakacyjny</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/czytanie-dla-dzieci</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/kontakt</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/sprawdz-siebie</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/zespol</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://szybkieczytanie.lodz.pl/polityka-prywatnosci</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
