<?xml version="1.0" encoding="UTF-8"?>
<!--
  短库 AI 素材交易平台 —— 站点地图（2026-10-30 新增）。

  为什么放 client/public/：vite 会把 public/ 原样拷进 dist，nginx 的 `try_files $uri $uri/ /index.html`
  先命中真实文件，所以不必改 nginx 配置，也不必新开一个服务端端点（那样要重建 api 镜像才能生效）。

  清单口径（闸门见 client/src/__tests__/crawlerFiles.test.js）：
    · 只收 App.jsx 里**无参数、不在登录守卫下**的页面；每个 <loc> 都必须是真路由，写幻影路径会红。
    · /login 与 /register 故意不收：它们是功能入口而非内容，收进地图只会稀释权重。
    · 素材详情页 /script/:id **不在本文件里**——静态文件列不出不断增长的 id 集合，
      而 /explore 是公开列表页，爬虫顺着链接就能取到详情页。别误以为详情页靠这里被收录。
    · 不写 <lastmod>：本文件是静态的，写死一个日期就会长期说谎（日期不会随内容更新）。
      最后修改时间由爬虫自己判定，比这里放一个假数字诚实。
    · <changefreq>/<priority> 一并省略：主流搜索引擎已不按这两个值调整抓取。
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://www.gmduanku.com/</loc></url>
  <url><loc>https://www.gmduanku.com/explore</loc></url>
  <url><loc>https://www.gmduanku.com/membership</loc></url>
  <url><loc>https://www.gmduanku.com/agreement</loc></url>
  <url><loc>https://www.gmduanku.com/privacy</loc></url>
  <url><loc>https://www.gmduanku.com/creator-agreement</loc></url>
  <url><loc>https://www.gmduanku.com/creator-contract</loc></url>
  <url><loc>https://www.gmduanku.com/refund</loc></url>
  <url><loc>https://www.gmduanku.com/disclosure</loc></url>
  <url><loc>https://www.gmduanku.com/notices</loc></url>
</urlset>
