关于 seo-technical-audit
seo-technical-audit 是用于技术 SEO 检查的参考技能,涵盖抓取、索引、性能、移动端可用性等网站问题。其流程将各个审计阶段与指定的 MCP 工具检查相对应。
主要功能
- 01检查 robots 和索引指令
- 02验证规范网址和站点地图
- 03评估 Core Web Vitals 与页面速度
- 04检查移动端可用性和 HTTPS
- 05检查重定向、状态码和结构化数据
适用场景
- 01规划分阶段的技术 SEO 审计
- 02排查抓取或索引配置问题
- 03检查性能与移动端可用性问题
- 04验证站点地图和重定向行为
MCP 相关
该技能提及用于页面和 robots 分析、站点地图验证、Core Web Vitals、移动端检查、结构化数据提取及 Google Search Console 数据的 MCP 工具。这些工具支持其推荐的技术审计流程。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ autom8minds/ seo-skills --skill seo-technical-audit安装后在 Claude Code 中输入/seo-technical-audit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AUDIT_WORKFLOW.mdERROR_CATALOG.mdHTTP_STATUS_REFERENCE.mdREADME.md详细介绍
技术 SEO 审计
可抓取性
搜索引擎必须能够发现并访问你的页面。可抓取性问题会完全阻止页面编入索引。
Robots.txt
控制爬虫可以访问哪些 URL。
# Allow all crawlers access to everything
User-agent: *
Allow: /
# Block specific paths
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /staging/
Disallow: /*?sort=
Disallow: /*?filter=
# Sitemap reference (always include)
Sitemap: https://example.com/sitemap.xml
关键规则:
- 切勿屏蔽 CSS/JS 文件(Google 需要这些文件来渲染页面)
- 切勿意外屏蔽重要内容路径
- 部署更改前,使用
analyze_robots_txt进行测试 - Google 会忽略
Crawl-delay(Bing/Yandex 会遵守)
Meta Robots 与 X-Robots-Tag
页面级抓取和索引指令。
| 指令 | 效果 |
|---|---|
index | 允许编入索引(默认) |
noindex | 阻止编入索引——从搜索结果中移除 |
follow | 跟踪此页面上的链接(默认) |
nofollow | 不跟踪此页面上的任何链接 |
noarchive | 不显示缓存版本 |
nosnippet | 不在搜索结果中显示文本摘要 |
max-snippet:N | 将摘要限制为 N 个字符 |
max-image-preview:large | 允许显示大尺寸图片预览 |
<meta name="robots" content="noindex, follow">
X-Robots-Tag: noindex, nofollow
MCP 工具: analyze_page 可提取 meta robots 和 HTTP 标头指令。
索引
Canonical 标签
告知搜索引擎哪个 URL 是首选版本的权威方式。
规则:
- 每个可编入索引的页面:使用指向自身的 canonical
- 仅使用绝对 URL(
https://example.com/page,而非/page) - 必须保持一致:canonical URL 必须返回 200(不能重定向或返回 404)
- 每个页面只能有一个 canonical(若有多个,Google 会采用第一个)
- 若 HTTP 标头 canonical 和 HTML canonical 同时存在,HTTP 标头 canonical 优先
Noindex 与 Canonical
| 场景 | 使用方式 |
|---|---|
| 页面不应出现在搜索结果中 | noindex |
| 页面重复,且首选另一个版本 | 将 canonical 指向首选版本 |
| URL 参数变体 | 将 canonical 指向简洁 URL |
| 分页内容 | 每个页面都使用指向自身的 canonical |
提交 Sitemap
- 通过 Google Search Console 提交
- 所有可编入索引的页面都应包含在 sitemap 中
- Noindex 页面不应包含在 sitemap 中
- 每个 sitemap 文件不得超过 50,000 个 URL / 50MB(较大型网站请使用 sitemap index)
MCP 工具: analyze_sitemap 可验证结构,gsc_sitemaps 可检查提交状态。
Core Web Vitals
Google 的页面体验信号。通过真实用户数据(CrUX)和实验室数据(Lighthouse)进行衡量。
阈值(2024 年及之后)
| 指标 | 良好 | 需要改进 | 较差 |
|---|---|---|---|
| LCP(最大内容绘制) | ≤ 2.5s | ≤ 4.0s | > 4.0s |
| INP(下一次绘制交互) | ≤ 200ms | ≤ 500ms | > 500ms |
| CLS(累积布局偏移) | ≤ 0.1 | ≤ 0.25 | > 0.25 |
LCP 优化
最大内容绘制衡量最大可见元素完成渲染的时间。
LCP 较差的常见原因:
- 服务器响应缓慢(TTFB > 800ms)→ 优化服务器、使用 CDN
- 阻塞渲染的资源 → 延迟加载非关键 CSS/JS
- 资源加载缓慢 → 优化/压缩 LCP 图片,使用
preload - 客户端渲染 → 对关键内容进行服务器端渲染
快速优化:
- 预加载 LCP 图片:
<link rel="preload" href="hero.webp" as="image"> - 使用 CDN 提供静态资源
- 优化服务器响应(缓存、数据库查询)
- 避免对 LCP 元素进行延迟加载
INP 优化
下一次绘制交互衡量对用户输入的响应能力。
INP 较差的常见原因:
- 长时间运行的 JavaScript 任务阻塞主线程 → 拆分为更小的任务
- 事件处理程序负担过重 → 使用防抖、
requestAnimationFrame - DOM 过大 → 减少 DOM 节点(目标:< 1,500)
- 第三方脚本 → 延迟加载或懒加载
CLS 优化
累积布局偏移衡量视觉稳定性。
CLS 表现不佳的常见原因:
- 图片未设置尺寸 → 始终设置
width和height - 广告/嵌入内容未预留空间 → 使用
aspect-ratio或min-height - Web 字体导致 FOIT/FOUT → 使用
font-display: swap+ 预加载 - 动态注入内容 → 注入前预留空间
MCP 工具: check_core_web_vitals 会返回所有指标和具体的优化建议。
页面速度优化
除了 Core Web Vitals,整体页面速度也会影响用户体验和抓取预算。
关键渲染路径
- 尽量减少阻塞渲染的资源(内联关键 CSS,延迟 JS)
- 启用压缩(优先使用 Brotli,至少使用 gzip)
- 设置缓存标头(静态资源使用
Cache-Control: max-age=31536000) - 使用 HTTP/2 或 HTTP/3
- 尽量减少主线程工作(缩短 JS 执行时间)
图片优化
- 使用现代格式(WebP/AVIF)
- 提供响应式图片(
srcset) - 延迟加载首屏以下的图片
- 充分压缩(质量设为 80-85%)
资源提示
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preload" href="/critical.css" as="style">
<link rel="prefetch" href="/next-page.html">
<link rel="dns-prefetch" href="https://analytics.example.com">
移动设备友好性
Google 使用移动优先索引——网站的移动版本会被编入索引。
要求
- Viewport meta 标签:
<meta name="viewport" content="width=device-width, initial-scale=1"> - 响应式设计(内容随屏幕尺寸调整)
- 不出现水平滚动
- 点击目标:最小尺寸为 48x48px,间距为 8px
- 字体大小:正文最小为 16px
- 不使用侵入式插页(遮挡内容的弹窗)
- 内容一致性:移动版本与桌面版本内容相同
MCP 工具: check_mobile_friendly 会评估所有移动设备可用性因素。
HTTPS 和安全性
HTTPS 要求
- 所有页面均通过 HTTPS 提供(索引中不应有 HTTP 页面)
- SSL 证书有效(未过期且域名正确)
- 无混合内容(HTTPS 页面加载 HTTP 资源)
- 建议使用 HSTS 标头:
Strict-Transport-Security: max-age=31536000; includeSubDomains - HTTP 页面通过 301 重定向到 HTTPS
常见 HTTPS 问题
| 问题 | 影响 | 修复方法 |
|---|---|---|
| 混合内容 | 中 | 将所有资源 URL 更新为 HTTPS |
| 证书过期 | 严重 | 立即续订 SSL 证书 |
| HTTP 页面已编入索引 | 高 | 将 HTTP 301 重定向到 HTTPS,并更新规范链接 |
| 缺少 HSTS | 低 | 添加 HSTS 标头 |
重定向
重定向类型
| 代码 | 类型 | 使用时机 | SEO 影响 |
|---|---|---|---|
| 301 | 永久 | URL 永久变更、内容已迁移 | 传递约 95% 的链接权重 |
| 302 | 临时 | 临时迁移(A/B 测试、维护) | 不传递链接权重 |
| 307 | 临时(严格) | 与 302 相同,但保留 HTTP 方法 | 不传递链接权重 |
| 308 | 永久(严格) | 与 301 相同,但保留 HTTP 方法 | 传递链接权重 |
重定向问题
- 重定向链: A → B → C → D。建议最多经过 2 次跳转。将 A 直接指向 D 即可修复。
- 重定向循环: A → B → A。严重错误——页面将无法访问。
- 软 404: 页面返回 200,但显示“未找到”内容。应返回实际的 404 状态码。
- 需要 301 却使用了 302: 永久迁移时使用临时重定向会浪费链接权重。
XML 站点地图
要求
- 位于
/sitemap.xml(或在 robots.txt 中引用) - 使用有效的 XML 格式
- 仅包含可编入索引的页面(不含 noindex、404 或重定向页面)
- 使用
<lastmod>并填写准确日期(ISO 8601) - 每个站点地图文件最多包含 50,000 个 URL
- 每个文件解压后最大为 50MB
- 较大的网站应使用站点地图索引
验证
<?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-01-15</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
MCP 工具: analyze_sitemap 会解析并验证站点地图,同时报告问题。
Hreflang(国际 SEO)
适用于多语言或多地区网站。它会告知 Google 应显示哪个语言/地区版本。
语法
<link rel="alternate" hreflang="en-us" href="https://example.com/page">
<link rel="alternate" hreflang="en-gb" href="https://example.co.uk/page">
<link rel="alternate" hreflang="es" href="https://example.com/es/page">
<link rel="alternate" hreflang="x-default" href="https://example.com/page">
规则
- 双向: 如果页面 A 引用了页面 B,页面 B 必须引用页面 A
- 自引用: 每个页面都必须包含指向自身的 hreflang
- x-default: 为回退/语言选择页面添加此项
- 返回标签: 每个被引用的 URL 都必须返回相同的 hreflang 集合
- 使用 ISO 639-1 语言代码,可选用 ISO 3166-1 区域代码
HTTP 状态码(对 SEO 的影响)
| 代码 | 含义 | SEO 操作 |
|---|---|---|
| 200 | 正常 | 所有可编入索引的页面都应返回此状态码 |
| 301 | 永久移动 | 会传递链接权重。用于永久 URL 变更 |
| 302 | 已找到(临时) | 不会传递链接权重。仅用于临时跳转 |
| 304 | 未修改 | 良好——缓存效率高 |
| 404 | 未找到 | 从站点地图中移除,并修复指向此处的内部链接 |
| 410 | 已删除 | 已永久移除。相比 404,是更强的取消索引信号 |
| 500 | 服务器错误 | 立即修复——会阻止抓取和编入索引 |
| 503 | 服务不可用 | 临时状态。Google 会重试。用于计划内维护 |
技术审计工作流
完整技术审计的建议顺序:
- 可抓取性:
analyze_robots_txt→ 检查是否存在拦截问题 - 站点地图:
analyze_sitemap→ 验证结构和 URL - 页面级检查:
analyze_page→ meta robots、canonical、重定向、状态 - 性能:
check_core_web_vitals→ LCP、INP、CLS 分数 - 移动设备:
check_mobile_friendly→ 视口、点击目标、字体 - Schema:
extract_schema→ 验证结构化数据 - GSC 数据:
gsc_index_coverage→ 来自 Google 的实际索引状态
有关完整的问题目录,请参阅 ERROR_CATALOG.md。 有关详细的审计方法,请参阅 AUDIT_WORKFLOW.md。 有关完整的状态码参考,请参阅 HTTP_STATUS_REFERENCE.md。