mcpField
S
seo-sitemap

seo-sitemap

github.com/agricidaniel营销与增长23.3k7.4k 次安装6 天前更新
代码仓库

关于 seo-sitemap

为 SEO 从业者提供站点地图分析与生成流程,可检查现有 XML 站点地图,或按站点结构生成新文件。包含发现、验证、拆分及错误处理要求。

主要功能

  1. 01发现并验证现有站点地图
  2. 02检查 XML、URL 状态与规范性
  3. 03对照抓取页面查找遗漏
  4. 04生成站点地图及索引文件
  5. 05提供结构文档和问题报告

适用场景

  1. 01检查站点地图中的失效或重定向 URL
  2. 02发现未收录在站点地图中的页面
  3. 03为新站点规划并生成站点地图
  4. 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:生成新站点地图

流程
  1. 询问业务类型(或根据现有网站自动检测)
  2. 从 ../seo-plan/assets/ 目录加载行业模板
  3. 与用户交互式规划结构
  4. 应用质量门槛:
    • ⚠️ 达到 30 个以上位置页面时发出警告(要求 60% 以上的独特内容)
    • 🛑 达到 50 个以上位置页面时强制停止(要求提供理由)
  5. 生成有效的 XML 输出
  6. 在以下条件中先达到者处拆分:50,000 个 URL 或 50MB 未压缩,并使用站点地图索引
  7. 生成 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