<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://speakpro.uz/</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="uz" href="https://speakpro.uz/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://speakpro.uz/"/>
  </url>
  <!-- Deep-link-supported app states (App.tsx serves these via server-side
       SPA-fallback + window.history.pushState — see App.tsx's /library,
       /privacy, and /pricing effects). All three still render the SAME
       index.html shell (this is a pure-CSR SPA with no per-route HTML), so
       they share index.html's static title/meta at crawl time regardless of
       this sitemap entry — listing them here only tells Google these URLs
       exist and are worth crawling/indexing at all, which they weren't
       before (an absent sitemap entry doesn't block indexing, but omitting
       a known-real URL means Google may never discover it organically). -->
  <url>
    <loc>https://speakpro.uz/pricing</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://speakpro.uz/library</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://speakpro.uz/privacy</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
