<?xml version="1.0" encoding="UTF-8"?>
<!--
  OpenQuiz – Static sitemap (FE only, no backend).
  - One file (well under 50k URLs / 50MB limit) → simpler crawl, no sitemap index needed.
  - <xhtml:link rel="alternate" hreflang="..."> for every URL that has an EN/VI counterpart
    (Google's recommended bidirectional hreflang signal).
  - x-default points to the canonical SPA root for international/unknown locales.
  - <lastmod> uses W3C Datetime (YYYY-MM-DD); update on real content changes.
  - <priority> is relative to other URLs on this site (0.0–1.0). Marketing & money pages get higher weight.
  - <changefreq> is a hint only; kept conservative & realistic.
  Dynamic routes (/study-set/:id, /learning-path/:id, /discussion/:slug) are not enumerable
  from the FE — they are surfaced via the SPA's internal links + (optionally) a future BE-generated
  supplementary sitemap that can be referenced from robots.txt independently.
-->
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">

  <!-- ─────────────────────────── HOME / LANDING ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/en/" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/" />
  </url>
  <url>
    <loc>https://openquiz.ai/en/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/en/" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/" />
  </url>
  <url>
    <loc>https://openquiz.ai/vi/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/en/" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/" />
  </url>

  <!-- ─────────────────────────── ABOUT ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/en/about.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/en/about.html" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/about.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/en/about.html" />
  </url>
  <url>
    <loc>https://openquiz.ai/vi/about.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/en/about.html" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/about.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/en/about.html" />
  </url>

  <!-- ─────────────────────────── PUBLIC SPA ROUTES ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/discussion</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- ─────────────────────────── BLOGS – INDEX ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/blogs/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/blogs/" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/blogs/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/blogs/" />
  </url>
  <url>
    <loc>https://openquiz.ai/vi/blogs/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/blogs/" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/blogs/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/blogs/" />
  </url>

  <!-- ─────────────────────────── BLOGS – EN POSTS ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/blogs/how-to-learn-english-speaking-fast.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/blogs/how-to-learn-english-speaking-fast.html" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/blogs/how-to-learn-english-speaking-fast.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/blogs/how-to-learn-english-speaking-fast.html" />
  </url>
  <url>
    <loc>https://openquiz.ai/blogs/japanese-conversation-practice-tips.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/blogs/learn-korean-speaking-fluency.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/blogs/learn-mandarin-chinese-conversation.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/blogs/spanish-speaking-practice-guide.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- ─────────────────────────── BLOGS – VI POSTS ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/vi/blogs/how-to-learn-english-speaking-fast.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/blogs/how-to-learn-english-speaking-fast.html" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/blogs/how-to-learn-english-speaking-fast.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/blogs/how-to-learn-english-speaking-fast.html" />
  </url>

  <!-- ─────────────────────────── LEARNING GUIDES – INDEX ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/learning-guides/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/learning-guides/" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/learning-guides/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/learning-guides/" />
  </url>
  <url>
    <loc>https://openquiz.ai/vi/learning-guides/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://openquiz.ai/learning-guides/" />
    <xhtml:link rel="alternate" hreflang="vi" href="https://openquiz.ai/vi/learning-guides/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://openquiz.ai/learning-guides/" />
  </url>

  <!-- ─────────────────────────── LEARNING GUIDES – EN ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/learning-guides/active-vs-passive-language-learning.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/learning-guides/ai-conversation-practice-ultimate-guide.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/learning-guides/create-effective-language-flashcards.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/learning-guides/language-immersion-techniques-at-home.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/learning-guides/spaced-repetition-system-complete-guide.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- ─────────────────────────── VI – LANDING PAGES (HIGH-INTENT KEYWORDS) ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/vi/hoc-tieng-anh-mien-phi/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/vi/hoc-tieng-han-mien-phi/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/vi/hoc-tieng-nhat-mien-phi/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/vi/hoc-tieng-trung-mien-phi/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/vi/hoc-tu-vung-mien-phi/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- ─────────────────────────── VI – COMPARISON / ALTERNATIVES ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/vi/openquiz-vs-anki/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/vi/openquiz-vs-knowt/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/vi/openquiz-vs-quizlet/</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- ─────────────────────────── LEGAL / POLICY (LOW PRIORITY BUT INDEXABLE) ─────────────────────────── -->
  <url>
    <loc>https://openquiz.ai/en/privacy-policy.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/en/terms-of-service.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/en/refund-policy.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/openquiz-extension-privacy-policy.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://openquiz.ai/openquiz-extension-terms-of-use.html</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

</urlset>
