关于 seo-technical
seo-technical 是用于检查网站技术 SEO 的技能,覆盖抓取、索引、安全和性能等方面。它还包含 Agent-UX 扫描,可报告无障碍树与 HTML 的相关发现。
主要功能
- 01审查抓取与索引情况
- 02检查安全性和 URL 结构
- 03检查移动端与 Core Web Vitals
- 04检查结构化数据和 JavaScript SEO
- 05使用 Playwright 扫描 Agent-UX
- 06按优先级整理发现
适用场景
- 01上线前审查网站
- 02排查索引或抓取问题
- 03检查面向 Agent 的无障碍信号
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill seo-technical安装后在 Claude Code 中输入/seo-technical确认已加载。
附带文件references/agent-friendly-pages.md
详细介绍
技术 SEO 审核
类别
1. 可抓取性
- robots.txt:存在、有效,且未屏蔽重要资源
- XML 站点地图:存在、已在 robots.txt 中引用,且格式有效
- Noindex 标签:确认是有意设置还是意外设置
- 抓取深度:重要页面距首页不超过 3 次点击
- JavaScript 渲染:检查关键内容是否需要执行 JS
- 抓取预算:对于大型网站(>10k 个页面),效率很重要
AI 爬虫管理
截至 2025-2026 年,AI 公司会主动抓取网络内容,用于训练模型并支持 AI 搜索。通过 robots.txt 管理这些爬虫是技术 SEO 中的一项重要考量。
已知 AI 爬虫:
| 爬虫 | 公司 | robots.txt 标记 | 用途 |
|---|---|---|---|
| GPTBot | OpenAI | GPTBot | 模型训练 |
| ChatGPT-User | OpenAI | ChatGPT-User | 实时浏览 |
| ClaudeBot | Anthropic | ClaudeBot | 模型训练 |
| PerplexityBot | Perplexity | PerplexityBot | 搜索索引 + 训练 |
| Bytespider | ByteDance | Bytespider | 模型训练 |
| Google-Extended | Google-Extended | Gemini 训练(不影响搜索) | |
| CCBot | Common Crawl | CCBot | 开放数据集 |
重要区别:
- 屏蔽
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:描述性强、使用连字符,内容页面不带查询参数
- 层级结构:采用反映网站架构的合理文件夹结构
- 重定向:无重定向链(最多 1 次跳转),永久迁移使用 301
- URL 长度:标记超过 100 个字符的 URL
- 末尾斜杠:保持使用方式一致
5. 移动设备优化
- 响应式设计:设置 viewport meta 标签并使用响应式 CSS
- 触控目标:至少 48x48px,间距为 8px
- 字号:基础字号至少为 16px
- 无水平滚动
- 移动优先索引:Google 会索引移动版本。截至 2024 年 7 月 5 日,移动优先索引已 100% 完成。 Google 现在仅使用移动版 Googlebot user-agent 抓取和索引所有网站。
6. Core Web Vitals
- LCP(最大内容绘制):目标 <2.5s
- INP(交互到下一次绘制):目标 <200ms
- INP 于 2024 年 3 月 12 日取代 FID。FID 于 2024 年 9 月 9 日从所有 Chrome 工具(CrUX API、PageSpeed Insights、Lighthouse)中彻底移除。请勿在任何地方提及 FID。
- CLS(累积布局偏移):目标 <0.1
- 评估采用真实用户数据的第 75 百分位数
- 如果 MCP 可用,请使用 PageSpeed Insights API 或 CrUX 数据
7. 结构化数据
- 检测方式:JSON-LD(首选)、Microdata、RDFa
- 根据 Google 支持的类型进行验证
- 完整分析请参阅 seo-schema 技能
8. JavaScript 渲染
- 检查内容是否在初始 HTML 中可见,还是需要 JavaScript
- 判断是客户端渲染(CSR)还是服务器端渲染(SSR)
- 标记可能导致索引问题的 SPA 框架(React、Vue、Angular)
- 如适用,验证动态渲染设置
JavaScript SEO:规范链接与索引指导(2025 年 12 月)
Google 于 2025 年 12 月更新了 JavaScript SEO 文档,并对以下关键事项作出说明:
- 规范链接冲突: 如果原始 HTML 中的规范链接标签与 JavaScript 注入的标签不一致,Google 可能会采用其中任意一个。确保服务器渲染的 HTML 与 JS 渲染的输出中的规范链接标签完全一致。
- JavaScript 与 noindex: 如果原始 HTML 包含
<meta name="robots" content="noindex">,但 JavaScript 将其移除,Google 仍可能遵循原始 HTML 中的 noindex 指令。应在初始 HTML 响应中提供正确的 robots 指令。 - 非 200 状态码: 对于返回非 200 HTTP 状态码的页面,Google 不会渲染 JavaScript。通过 JS 注入到错误页面的任何内容或元标签,Googlebot 都不可见。
- JavaScript 中的结构化数据: 通过 JS 注入的 Product、Article 及其他结构化数据可能会延迟处理。对于有时效要求的结构化数据(尤其是电子商务 Product 标记),应将其包含在初始服务器渲染的 HTML 中。
最佳实践: 应在初始服务器渲染的 HTML 中提供关键 SEO 元素(规范链接、meta robots、结构化数据、标题、meta description),而不是依赖 JavaScript 注入。
9. IndexNow 协议
- 检查网站是否支持面向 Bing、Yandex、Naver 的 IndexNow
- 除 Google 外,其他搜索引擎也支持它
- 建议实施,以加快在非 Google 搜索引擎中的索引速度
面向 Agent 的页面(前瞻性内容)
AI Agent(不只是 AI 摘要工具)越来越多地通过三个渠道读取网站:截图中的视觉模型、原始 HTML/DOM,以及无障碍树(最清晰的信号)。审计标准——语义化 HTML(使用真正的 <button> 和 <a>,而非 <div onclick>)、标签关联、交互目标尺寸、模板间布局稳定性、cursor: pointer 的正确性——请参阅 references/agent-friendly-pages.md。
审计命令
# Render with Playwright + capture accessibility tree, then score
python scripts/agent_ux_check.py https://example.com --json
扫描器会输出 Agent-UX 评分(0-100)以及逐项列出的问题:
- HTML 检查结果:真正的按钮/锚点、
<div onclick>小部件、语义化地标、缺少<label for>的输入框、缺少 ARIA 标签的输入框 - 无障碍树检查结果:节点总数、交互节点、未命名的交互元素、
role="generic"占比
无障碍树快照使用 Playwright 的
page.accessibility.snapshot(interesting_only=False)。若要捕获树而不评分,请使用 python scripts/render_page.py <url> --a11y-tree --json。
应将发现的问题作为改进机会呈现,而非缺陷。相关标准(WebMCP、Agent UX 启发式)尚处早期阶段——不要以低于 100 的评分作为审计门槛。
输出
技术评分:XX/100
类别明细
| 类别 | 状态 | 评分 |
|---|---|---|
| 可抓取性 | pass/warn/fail | XX/100 |
| 可索引性 | pass/warn/fail | XX/100 |
| 安全性 | pass/warn/fail | XX/100 |
| URL 结构 | pass/warn/fail | XX/100 |
| 移动设备 | pass/warn/fail | XX/100 |
| 核心 Web 指标 | pass/warn/fail | XX/100 |
| 结构化数据 | pass/warn/fail | XX/100 |
| JS 渲染 | pass/warn/fail | XX/100 |
| IndexNow | pass/warn/fail | XX/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 实验室数据作为参考,并建议增加流量后重新测试。 |