mcpField
S
seo-technical

seo-technical

github.com/agricidaniel营销与增长89480 次安装2 周前更新
代码仓库

关于 seo-technical

seo-technical 是用于检查网站技术 SEO 的技能,涵盖抓取、索引、安全、URL、移动端、性能、结构化数据和 JavaScript 渲染。它为 SEO 从业者整理优先级问题,并可选用 DataForSEO 和 Google API 数据。

主要功能

  1. 01技术 SEO 分类检查
  2. 02AI 爬虫 robots.txt 指引
  3. 03可选 DataForSEO 与 Google API 数据
  4. 04优先级审计报告与共享缓存

适用场景

  1. 01排查抓取与索引问题
  2. 02检查 Core Web Vitals 与安全性
  3. 03评估 AI 爬虫访问规则

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agricidaniel/codex-seo --skill seo-technical

安装后在 Claude Code 中输入/seo-technical确认已加载。

附带文件LICENSE.txt

详细介绍

Technical SEO Audit

Shared Data Cache

步骤 0 —— 检查共享数据缓存:

开始收集信息前,检查 .seo-cache/ 中是否有可复用的相关 SEO 技能上下文。 参考 ../seo/references/shared-data-cache.md,了解架构和依赖关系图。

如果存在,请检查以下缓存文件:

  • .seo-cache/site-meta.json,查看域名、业务类型、行业和抓取上下文

  • .seo-cache/audit-scores.json,查看此前完整审计的优先级

  • .seo-cache/pages/{url-slug}/page-analysis.json,如果提供了 URL,查看页面级上下文

  • 如果找到:解析并使用明显有效的字段(注明“正在使用来自 [date] 的缓存 [X]”)

  • 如果文件缺失、损坏或无关:继续收集新证据

  • 如果用户说“refresh”或“re-run”:忽略缓存读取,并在写入时覆盖

类别

1. 可抓取性
  • robots.txt:文件存在且有效,不会阻止重要资源
  • XML 站点地图:文件存在,在 robots.txt 中有引用,格式有效
  • Noindex 标签:确认是有意设置还是意外设置
  • 抓取深度:重要页面距首页不超过 3 次点击
  • JavaScript 渲染:检查关键内容是否需要执行 JS 才能显示
  • 抓取预算:对于大型网站(>10k 个页面),效率很重要
AI 爬虫管理

截至 2025-2026 年,AI 公司会主动抓取网络内容,用于训练模型和支持 AI 搜索。通过 robots.txt 管理这些爬虫,是技术 SEO 的关键考量。

已知 AI 爬虫:

爬虫公司robots.txt 标记用途
GPTBotOpenAIGPTBot模型训练
ChatGPT-UserOpenAIChatGPT-User实时浏览
ClaudeBotAnthropicClaudeBot模型训练
PerplexityBotPerplexityPerplexityBot搜索索引 + 训练
BytespiderByteDanceBytespider模型训练
Google-ExtendedGoogleGoogle-ExtendedGemini 训练(不用于搜索)
CCBotCommon CrawlCCBot开放数据集

重要区别:

  • 阻止 Google-Extended 可防止内容用于 Gemini 训练,但不会影响 Google 搜索索引或 AI Overviews(它们使用 Googlebot)
  • 阻止 GPTBot 可防止内容用于 OpenAI 训练,但不会阻止 ChatGPT 通过浏览功能引用你的内容(使用 ChatGPT-User)
  • 目前约有 3-5% 的网站使用专门针对 AI 的 robots.txt 规则

示例:有选择地阻止 AI 爬虫:

# Allow search indexing, block AI training crawlers
User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: Bytespider
Disallow: /

# Allow all other crawlers (including Googlebot for search)
User-agent: *
Allow: /

**建议:**阻止爬虫前,请先考虑你的 AI 可见度策略。被 AI 系统引用有助于提升品牌知名度并带来引荐流量。请结合 seo-geo 技能,全面优化 AI 可见度。

2. 可索引性
  • Canonical 标签:指向自身,且不与 noindex 冲突
  • 重复内容:近似重复内容、参数 URL、www 与非 www
  • 内容单薄:页面字数低于相应类型的最低要求
  • 分页:使用 rel=next/prev 或加载更多模式
  • Hreflang:适用于多语言/多地区网站,且设置正确
  • 索引膨胀:不必要的页面占用抓取预算
3. 安全性
  • HTTPS:强制启用,SSL 证书有效,无混合内容
  • 安全标头:
    • Content-Security-Policy (CSP)
    • Strict-Transport-Security (HSTS)
    • X-Frame-Options
    • X-Content-Type-Options
    • Referrer-Policy
  • HSTS 预加载:对于高安全性网站,检查是否已加入预加载列表
4. URL 结构
  • 简洁 URL:描述性强,使用连字符,内容 URL 不使用查询参数
  • 层级结构:采用符合网站架构的逻辑文件夹结构
  • 重定向:无重定向链(最多 1 次跳转),永久迁移使用 301
  • URL 长度:标记超过 100 个字符的 URL
  • 尾部斜杠:用法保持一致
5. 移动端优化
  • 响应式设计:设置 viewport 元标签,使用响应式 CSS
  • 触控目标:最小尺寸为 48x48px,间距为 8px
  • 字体大小:基础字号至少为 16px
  • 无水平滚动
  • 移动优先索引:Google 会索引移动版网站。**截至 2024 年 7 月 5 日,移动优先索引已 100% 完成。**Google 现在只使用移动版 Googlebot 用户代理抓取和索引所有网站。
6. Core Web Vitals
  • LCP(最大内容绘制):目标 <2.5s
  • INP(下一次绘制交互):目标 <200ms
    • INP 于 2024 年 3 月 12 日取代 FID。2024 年 9 月 9 日,FID 已从所有 Chrome 工具(CrUX API、PageSpeed Insights、Lighthouse)中完全移除。请勿在任何地方提及 FID。
  • CLS(累积布局偏移):目标 <0.1
  • 评估使用真实用户数据的第 75 百分位数
  • 如果 MCP 可用,请使用 PageSpeed Insights API 或 CrUX 数据
7. 结构化数据
  • 检测:JSON-LD(首选)、Microdata、RDFa
  • 根据 Google 支持的类型进行验证
  • 完整分析请参阅 seo-schema skill
8. JavaScript 渲染
  • 检查内容是否在初始 HTML 中可见,还是需要 JavaScript 才能显示
  • 识别客户端渲染(CSR)与服务端渲染(SSR)
  • 标记可能导致索引问题的 SPA 框架(React、Vue、Angular)
  • 如适用,请验证动态渲染设置
JavaScript SEO:规范网址与索引指南(2025 年 12 月)

Google 于 2025 年 12 月更新了 JavaScript SEO 文档,并作出以下重要说明:

  1. **规范网址冲突:**如果原始 HTML 中的规范网址标签与 JavaScript 注入的标签不同,Google 可能会采用其中任意一个。确保服务端渲染的 HTML 与 JavaScript 渲染的输出中的规范网址标签完全一致。
  2. **JavaScript 与 noindex:**如果原始 HTML 中包含 <meta name="robots" content="noindex">,但 JavaScript 将其移除,Google 仍可能遵循原始 HTML 中的 noindex 指令。请在初始 HTML 响应中提供正确的 robots 指令。
  3. **非 200 状态码:**对于返回非 200 HTTP 状态码的页面,Google 不会渲染 JavaScript。错误页面中通过 JS 注入的任何内容或元标签对 Googlebot 都不可见。
  4. **JavaScript 中的结构化数据:**通过 JS 注入的 Product、Article 和其他结构化数据可能会延迟处理。对于有时效性的结构化数据(尤其是电子商务 Product 标记),请将其包含在初始服务端渲染的 HTML 中。

**最佳实践:**请在初始服务端渲染的 HTML 中提供关键 SEO 元素(规范网址、meta robots、结构化数据、标题、meta description),而不要依赖 JavaScript 注入。

9. IndexNow 协议
  • 检查网站是否支持 Bing、Yandex、Naver 的 IndexNow
  • Google 以外的搜索引擎支持该协议
  • 建议实施该协议,以便在非 Google 搜索引擎中更快地编入索引

输出

技术评分:XX/100
类别细分
类别状态评分
可抓取性pass/warn/failXX/100
可索引性pass/warn/failXX/100
安全性pass/warn/failXX/100
URL 结构pass/warn/failXX/100
移动设备pass/warn/failXX/100
Core Web Vitalspass/warn/failXX/100
结构化数据pass/warn/failXX/100
JS 渲染pass/warn/failXX/100
IndexNowpass/warn/failXX/100
严重问题(立即修复)
高优先级(1 周内修复)
中优先级(1 个月内修复)
低优先级(列入待办)

DataForSEO 集成(可选)

如果 DataForSEO MCP 工具可用,请使用 on_page_instant_pages 进行真实页面分析(状态码、页面耗时、失效链接、页面检查),使用 on_page_lighthouse 进行 Lighthouse 审核(性能、无障碍、SEO 评分),并使用 domain_analytics_technologies_domain_technologies 检测技术栈。

Google API 集成(可选)

如果已配置 Google API 凭据,请使用 python scripts/pagespeed_check.py <url> --json 获取真实 PSI 和 CrUX 实地数据(替代仅基于实验室数据的 CWV 估算),使用 python scripts/crux_history.py <url> --json 获取 25 周的 CWV 趋势,并使用 python scripts/gsc_inspect.py <url> --json 获取每个 URL 的真实索引状态。

错误处理

场景操作
URL 无法访问报告连接错误和状态码。建议验证 URL、检查 DNS 解析,并确认该网站可公开访问。
未找到 robots.txt说明在根域名下未检测到 robots.txt。建议创建一个并设置适当的指令。继续审计其余类别。
未配置 HTTPS标记为严重问题。报告 HTTP 是否未重定向、是否存在混合内容,或 SSL 证书是否缺失或已过期。
Core Web Vitals 数据不可用说明 CrUX 数据不可用(低流量网站常见)。建议使用 Lighthouse 实验室数据作为替代,并建议增加流量后重新测试。

写入共享数据缓存

完成所有工作后,如果工作流产生了可长期保留的发现,请将简洁的 JSON 摘要写入 .seo-cache/。 使用 ../seo/references/shared-data-cache.md 中的架构和命名规则;至少包含 cache_type、analyzed_at、来源 URL/域名、关键发现、问题、建议和工具限制。如果 .gitignore 中没有 .seo-cache/,请将其添加进去。

评论

支持 Markdown