XML站点地图收录规划
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_fccf428b/xml-sitemap-roadmap。
技能介绍
问题:URL 列表不会自动变成可用的站点地图
页面数量超过几百后,内部链接很难让搜索引擎发现所有可索引 URL;新站外链少、深层或孤立页面同样面临收录瓶颈。即使生成了 /sitemap.xml,仍有三个典型坑:lastmod 填成生成时间导致搜索引擎忽略、多语言站点的 hreflang 散落在 HTML 里难以维护、超过 50,000 条 URL 后单文件失效。更隐蔽的是,站点地图路由被 catch-all 拦截后返回 HTML,HTTP 状态却是 200,Google 会静默拒绝而不报错。
工作方式:从评估到提交验证
技能首先读取项目上下文(.claude/project-context.md 或 .cursor/project-context.md)确认站点 URL 与页面结构,然后判断站点是否真的需要 sitemap——小站或内链良好时收益有限。接着按 sitemaps.org 协议生成站点地图,并根据 URL 数量决定单文件还是 sitemap index,常见拆分方式:
- 按内容类型:
/sitemap/posts.xml、/sitemap/pages.xml - 按语言:
/sitemap/zh.xml、/sitemap/en.xml
字段处理上,lastmod 必须取页面真实的 modifiedDate 而非 new Date(),changefreq 与 priority 仅作提示、不影响排名。多语言站点可在每个 <url> 内声明 xhtml:link 互链(含自身引用与 x-default)。URL 数据要求单一事实来源:集中配置导出 getAllPageUrls(baseUrl),供 sitemap、IndexNow 与 feed 共用,避免多处硬编码。生成后写入 robots.txt 的 Sitemap: 声明,再引导用户在 Google Search Console 提交并核对 Discovered pages 数量。
边界与注意点
- 排除
/api/*、/admin/*、/_next/*与静态资源等不可索引路径 - 含 i18n 中间件的项目需在路由排除中放行 sitemap 路径,否则可能被重定向或拦截
- 返回 HTML 而非 XML 的故障比 404 更危险,可用
curl -I加 Googlebot UA 诊断 - 技能不自动安装依赖、修改系统权限或执行外部写入,涉及部署与发布操作时先展示影响并等待确认
使用场景
- 网站页面超过数百个且内链薄弱,需要生成XML站点地图帮助搜索引擎发现深层页面,并在GSC提交验证收录数量。
- 多语言站点需要在每个URL条目内声明hreflang互链关系,包含自身引用和x-default,统一管理多语言收录。
- 站点地图路由被catch-all拦截返回HTML,HTTP状态为200但内容不对,需诊断并修复Content-Type问题。
- 项目使用单一配置源导出URL列表,避免sitemap与IndexNow维护多份硬编码列表导致不一致。
适合人员
- 负责大型网站技术SEO的工程师,需要确保数百上千个URL被搜索引擎正确发现和收录,排查GSC中的Discovered-not indexed问题。
- 维护多语言站点的开发者,需要在站点地图中集中管理hreflang声明,避免各语言版本间的引用错误和遗漏。
- 使用Next.js或Astro等框架构建站点的前端工程师,需要将站点地图生成集成到构建流程,并处理i18n中间件对sitemap路由的干扰。