<?xml version="1.0" encoding="UTF-8"?>
<!--
  Static sitemap for the public marketing routes in src/App.tsx.

  Only unauthenticated, statically-addressable pages belong here. Deliberately
  excluded: /auth/* and every login or invite-acceptance route; the case
  workspaces (/…/workspace/:caseId) and /cases, /account, /learning, which
  require a session; and the :slug-driven detail routes under /blog, /radar,
  /careers and /help, which cannot be enumerated at build time — a generated
  sitemap fed from those tables would be the way to cover them.

  robots.txt advertises this file at https://nidable.com/sitemap.xml. Until it
  existed, that URL fell through vercel.json's catch-all rewrite and returned
  index.html with a 200, so crawlers were served the SPA shell in place of a
  sitemap.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://nidable.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Product landings -->
  <url>
    <loc>https://nidable.com/f1-visa</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://nidable.com/uk-student-visa</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://nidable.com/canada-student-visa</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://nidable.com/netherlands-student-visa</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://nidable.com/niw</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://nidable.com/e2-visa</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Content hubs (index pages only; :slug detail routes are not enumerable statically) -->
  <url>
    <loc>https://nidable.com/blog</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://nidable.com/radar</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://nidable.com/help</loc>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://nidable.com/careers</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Audience landings -->
  <url>
    <loc>https://nidable.com/attorneys</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://nidable.com/officers</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Company / legal -->
  <url>
    <loc>https://nidable.com/contact-us</loc>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://nidable.com/terms-of-service</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://nidable.com/privacy-policy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://nidable.com/cookie-policy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://nidable.com/disclaimers</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
