关于 seo-sitemap
为 SEO 从业者提供站点地图分析与生成流程,可检查现有 XML 站点地图,或按站点结构生成新文件。包含发现、验证、拆分及错误处理要求。
主要功能
- 01发现并验证现有站点地图
- 02检查 XML、URL 状态与规范性
- 03对照抓取页面查找遗漏
- 04生成站点地图及索引文件
- 05提供结构文档和问题报告
适用场景
- 01检查站点地图中的失效或重定向 URL
- 02发现未收录在站点地图中的页面
- 03为新站点规划并生成站点地图
- 04按 URL 数量或文件大小拆分地图
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ agricidaniel/ claude-seo --skill seo-sitemap安装后在 Claude Code 中输入/seo-sitemap确认已加载。
附带文件LICENSE.txt
详细介绍
站点地图分析与生成
模式 1:分析现有站点地图
在报告站点地图缺失之前,先查找候选项:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run sitemap_discovery.py <url> --json
该辅助工具会读取 robots.txt 中所有范围受限的 Sitemap: 声明,通过共享的 SSRF 安全抓取层验证跨主机目标,并且在声明的站点地图已过期或无效时仍会探测常见路径。只使用 found 中的条目;将声明失败记录为发现项,不要仅凭 robots.txt 中的一行就认定站点地图有效。
验证检查
- XML 格式有效
- 每个文件的限制:≤50,000 个 URL 且 ≤50MB 未压缩(以先达到者为准)
- 所有 URL 均返回 HTTP 200
<lastmod>准确:必须是有效的 W3C 日期时间,并反映上次重大内容变更(主要内容、结构化数据、链接,不包括版权/通用模板编辑)。Google 只有在<lastmod>持续且可验证地准确时才会采信,因此当值可疑地一致或比页面实际内容更新时发出警告。- 不包含已弃用标签:Google 会忽略
<priority>和<changefreq> - robots.txt 中引用了站点地图
- 比较抓取的页面与站点地图;标记缺失页面
质量信号
- URL 超过 50k 时使用站点地图索引文件
- 按内容类型拆分(页面、文章、图片、视频)
- 站点地图中不包含非规范 URL
- 站点地图中不包含 noindex URL
- 站点地图中不包含重定向 URL
- 仅使用 HTTPS URL(不使用 HTTP)
常见问题
| 问题 | 严重程度 | 修复方法 |
|---|---|---|
| 单个文件中 URL 超过 50k | 严重 | 使用站点地图索引拆分 |
| 单个文件未压缩后超过 50MB | 严重 | 使用站点地图索引拆分 |
| 非 200 URL | 高 | 移除或修复失效 URL |
| 包含 noindex URL | 高 | 从站点地图中移除 |
| 包含重定向 URL | 中 | 更新为最终 URL |
| 所有 lastmod 均相同 | 低 | 使用实际修改日期 |
| 使用 priority/changefreq | 信息 | 可移除(Google 会忽略) |
扩展站点地图(图片 / 视频 / 新闻)
Google 记录了三种各有规则的子类型,请按子类型分别验证:
- 图片(
http://www.google.com/schemas/sitemap-image/1.1):仅剩两个有效标签:<image:image>和<image:loc>(每个<url>最多 1,000 个<image:image>)。<image:caption>/<image:geo_location>/<image:title>/<image:license>已于 2022 年弃用,请标记为信息级可移除项。 - 视频:必需包含
<video:video>,以及<video:thumbnail_loc>、<video:title>、<video:description>,并且还需包含<video:content_loc>或<video:player_loc>;也支持 mRSS。将已弃用/移除的标签(<video:category>、<video:gallery_loc>、<video:price>、<video:tvshow>、播放器自动播放/allow_embed)标记为信息级可移除项;引用移除日期前,请重新查看 Google 文档。 - 新闻:每个文件最多 1,000 个
<news:news>(而非 50,000 个);仅包含过去 2 天内的文章;必需包含<news:publication>/<news:name>/<news:language>/<news:publication_date>/<news:title>;通过 Search Console 或 robots.txt/站点地图索引提交/发现;仅在相关时使用 Publisher Center 管理出版物。检测到news:命名空间时,使用 1,000 个的上限覆盖通用的 50k 检查。
模式 2:生成新站点地图
流程
- 询问业务类型(或根据现有网站自动检测)
- 从
../seo-plan/assets/目录加载行业模板 - 与用户交互式规划结构
- 应用质量门槛:
- ⚠️ 达到 30 个以上位置页面时发出警告(要求 60% 以上的独特内容)
- 🛑 达到 50 个以上位置页面时强制停止(要求提供理由)
- 生成有效的 XML 输出
- 在以下条件中先达到者处拆分:50,000 个 URL 或 50MB 未压缩,并使用站点地图索引
- 生成 STRUCTURE.md 文档
可安全批量生成的程序化页面(可接受)
✅ 集成页面(包含真实的设置文档) ✅ 模板/工具页面(包含可下载内容) ✅ 术语表页面(定义超过 200 个词) ✅ 产品页面(独特规格、评价) ✅ 用户资料页面(包含用户生成内容)
惩罚风险(规模化时应避免)
❌ 仅替换城市名称的地区页面 ❌「适用于 [industry] 的最佳 [tool]」,却未提供针对该行业的价值 ❌「[Competitor] 的替代方案」,却没有真实的比较数据 ❌ 未经人工审核且缺乏独特价值的 AI 生成页面
Sitemap 格式
标准 Sitemap
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/page</loc>
<lastmod>2026-02-07</lastmod>
</url>
</urlset>
Sitemap 索引(超过 50k 个 URL 时)
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-pages.xml</loc>
<lastmod>2026-02-07</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2026-02-07</lastmod>
</sitemap>
</sitemapindex>
错误处理
- URL 无法访问:报告 HTTP 状态码,并建议检查网站是否正常运行
- 未找到 Sitemap:运行
sitemap_discovery.py;仅当检查已声明的候选项和常见候选项后,found列表仍为空时,才报告「未找到」 - XML 格式无效:报告具体的解析错误及其行号
- 检测到速率限制:退避重试,并附注重试时间,报告部分结果
输出
用于分析
VALIDATION-REPORT.md:分析结果- 问题列表及严重程度
- 建议
用于生成
sitemap.xml(或使用索引拆分文件)STRUCTURE.md:网站架构文档- URL 数量和组织结构摘要
评论
支持 Markdown