<?xml version="1.0" encoding="UTF-8"?>
<!--
  Hand-maintained sitemap for a small, fixed route set (5 routes x 2 languages = 10 URLs).
  If routes are added/removed in src/App.tsx, keep src/lib/seo.ts's ROUTE_PATHS and this
  file in sync. hreflang <xhtml:link> entries mirror src/components/SEO.tsx's
  hreflangAlternates() so the sitemap and in-page <link rel="alternate"> tags never disagree
  (conflicting hreflang signals cause Google to drop the pair).
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://assetlabjr.com/en</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en" />
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://assetlabjr.com/cn</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en" />
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <url>
    <loc>https://assetlabjr.com/en/compare</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en/compare" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn/compare" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en/compare" />
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://assetlabjr.com/cn/compare</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en/compare" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn/compare" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en/compare" />
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://assetlabjr.com/en/methodology</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en/methodology" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn/methodology" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en/methodology" />
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://assetlabjr.com/cn/methodology</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en/methodology" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn/methodology" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en/methodology" />
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!--
    /results is excluded: every real URL is a user-specific, LZString-encoded share link
    (?s=...), not a canonical indexable page. Indexing example/demo links here would create
    thin, near-duplicate content rather than something worth ranking.
  -->

  <!--
    Content marketing hub under /articles/ - static HTML (not part of the SPA's react-router
    tree), so these are listed with their real on-disk paths rather than via src/lib/seo.ts's
    ROUTE_PATHS. Keep in sync with public/articles/index.html and public/articles/en/index.html
    if pages are added/removed there.
  -->
  <url>
    <loc>https://assetlabjr.com/articles/index.html</loc>
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/articles/index.html" />
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/articles/en/index.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/articles/en/index.html" />
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://assetlabjr.com/articles/en/index.html</loc>
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/articles/index.html" />
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/articles/en/index.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/articles/en/index.html" />
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>

  <url>
    <loc>https://assetlabjr.com/articles/new-vs-secondhand.html</loc>
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/articles/new-vs-secondhand.html" />
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/articles/en/new-vs-secondhand.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/articles/en/new-vs-secondhand.html" />
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://assetlabjr.com/articles/en/new-vs-secondhand.html</loc>
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/articles/new-vs-secondhand.html" />
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/articles/en/new-vs-secondhand.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/articles/en/new-vs-secondhand.html" />
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://assetlabjr.com/articles/cash-needed.html</loc>
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/articles/cash-needed.html" />
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/articles/en/cash-needed.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/articles/en/cash-needed.html" />
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://assetlabjr.com/articles/en/cash-needed.html</loc>
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/articles/cash-needed.html" />
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/articles/en/cash-needed.html" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/articles/en/cash-needed.html" />
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!--
    rent-vs-buy.html / en/rent-vs-buy.html deliberately omitted for now (product decision,
    2026-09-04): both pages exist and are linked from the articles index / hreflang tags,
    just not yet submitted via sitemap. Re-add both <url> blocks (mirroring the pattern
    above) once ready.
  -->

  <url>
    <loc>https://assetlabjr.com/en/privacy</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en/privacy" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn/privacy" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en/privacy" />
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://assetlabjr.com/cn/privacy</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://assetlabjr.com/en/privacy" />
    <xhtml:link rel="alternate" hreflang="zh-HK" href="https://assetlabjr.com/cn/privacy" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://assetlabjr.com/en/privacy" />
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
