关于 seo
面向开发者和网站审查人员的 SEO 技能,依据 Lighthouse 审查与 Google Search 指南。它区分抓取和索引问题、内容质量、结构化数据资格及面向 Agent 的浏览信号。
主要功能
- 01Lighthouse SEO 审查流程
- 02抓取与索引配置检查
- 03元数据和结构化数据审查
- 04Agentic Browsing 信号检查
- 05基于证据的验证指导
适用场景
- 01排查索引与抓取配置
- 02检查不同页面模板的元数据
- 03检查结构化数据语法和资格信号
- 04评估渲染页面对 Agent 浏览的支持
MCP 相关
在可用 Chrome DevTools MCP 时,流程使用 `lighthouse_audit` 检查渲染后的 SEO 和 Agentic Browsing 信号。它还将 WebMCP 注册、架构和表单覆盖情况列为审查信号。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ addyosmani/ web-quality-skills --skill seo安装后在 Claude Code 中输入/seo确认已加载。
附带文件references/STRUCTURED-DATA.md
详细介绍
SEO 优化
基于 Lighthouse SEO 审计和 Google 搜索指南进行搜索引擎优化。重点关注技术 SEO、页面优化和结构化数据。
以证据为依据的审计工作流
如果可以访问渲染后的页面:
- 在具备相关能力时,运行实时 Lighthouse SEO 和 Agentic Browsing 检查;使用 Chrome DevTools MCP 时,调用
lighthouse_audit。根据结果定位渲染页面中的问题。 - 检查 Lighthouse 无法单独确认的信号:响应标头、重定向、
robots.txt、站点地图覆盖情况、各页面模板的规范网址一致性、结构化数据资格,以及用户提供访问权限时的 Search Console 证据。 - 将技术抓取和索引问题与内容质量和权威性区分开来。不要编造排名因素权重,也不要承诺排名会发生变化。
- 修复源文件并重新运行相同的检查。对于索引或排名结果,请说明仍需等待搜索引擎验证。
如果无法使用实时工具,请结合按类别运行的 Lighthouse CLI 输出与直接的源代码和 HTTP 检查。Lighthouse SEO 分数涵盖一部分有用的技术检查,但不能预测排名。
| 领域 | 此技能可以验证的内容 |
|---|---|
| 抓取和索引控制 | 技术配置和一致性 |
| 渲染后的元数据和语义 | 存在情况、有效性和页面模板问题 |
| 结构化数据 | 语法和资格信号,不能保证获得富媒体搜索结果 |
| Core Web Vitals | 链接到 Core Web Vitals 技能提供的实测现场数据或实验室数据 |
| 内容实用性和权威性 | 评估质量,但不要虚构排名百分比 |
技术 SEO
可抓取性
robots.txt:
# /robots.txt
User-agent: *
Allow: /
# Block admin/private areas
Disallow: /admin/
Disallow: /api/
Disallow: /private/
# Don't block resources needed for rendering
# ❌ Disallow: /static/
Sitemap: https://example.com/sitemap.xml
Meta robots:
<meta name="robots" content="index, follow">
<meta name="robots" content="noindex, nofollow">
<meta name="robots" content="index, nofollow">
<meta name="robots" content="max-snippet:150, max-image-preview:large">
规范网址:
<link rel="canonical" href="https://example.com/page">
<link rel="canonical" href="https://example.com/current-page">
<link rel="canonical" href="https://example.com/products">
XML 站点地图
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2024-01-15</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/products</loc>
<lastmod>2024-01-14</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
站点地图最佳实践:
- 每个站点地图最多包含 50,000 个网址或 50MB
- 较大的网站使用站点地图索引
- 仅包含规范且可编入索引的网址
- 内容发生变化时更新
lastmod - 提交到 Google Search Console
URL 结构
✅ Good URLs:
https://example.com/products/blue-widget
https://example.com/blog/how-to-use-widgets
❌ Poor URLs:
https://example.com/p?id=12345
https://example.com/products/item/category/subcategory/blue-widget-2024-sale-discount
URL 指南:
- 使用连字符,不要使用下划线
- 仅使用小写字母
- 保持简短(< 75 个字符)
- 自然地包含目标关键词
- 尽可能避免使用参数
- 始终使用 HTTPS
HTTPS 与安全性
<img src="https://example.com/image.jpg">
<img src="http://example.com/image.jpg">
用于 SEO 信任信号的安全标头:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
页面 SEO
标题标签
<title>Page</title>
<title>Home</title>
<title>Blue Widgets for Sale | Premium Quality | Example Store</title>
标题标签指南:
- 仅将 50–60 个字符作为粗略的检查参考,而非通过或不通过的限制。Google 会根据渲染设备的宽度截断标题链接,因此在工具支持时预览显示宽度。
- 在靠前位置自然地描述页面主题
- 每个页面的标题都应唯一
- 在有助于用户区分搜索结果时添加品牌名称
- 适当时使用行动导向的措辞
应将标题链接改写与截断分开处理。即使 <title> 很短,Google 也可能根据页面上显示的标题、标题文本、锚文本和其他来源生成不同的标题链接;应检查其准确性和一致性,而不是自动缩短标题。请参阅 Google 的标题链接指南。
Meta 描述
<meta name="description" content="">
<meta name="description" content="Shop premium blue widgets with free shipping. 30-day returns. Rated 4.9/5 by 10,000+ customers. Order today and save 20%.">
Meta 描述指南:
- 仅将约 150–160 个字符作为检查参考。摘要取决于查询和设备,Google 也可能选取页面内容,而非 Meta 描述。
- 自然地体现页面主题
- 使用有吸引力的行动号召
- 每个页面的描述都应唯一
- 与页面内容一致
标题结构
<h2>Welcome to Our Store</h2>
<h4>Products</h4>
<h1>Contact Us</h1>
<h1>Blue Widgets - Premium Quality</h1>
<h2>Product Features</h2>
<h3>Durability</h3>
<h3>Design</h3>
<h2>Customer Reviews</h2>
<h2>Pricing</h2>
标题指南:
- 让主要页面标题描述清晰、层级明确;不要仅因有效 HTML 中包含多个
<h1>就判定页面不合格 - 层级符合逻辑(不要跳过级别)
- 自然地包含关键词
- 描述具体,不要泛泛而谈
图片 SEO
<img src="IMG_12345.jpg">
<img src="blue-widget-product-photo.webp"
alt="Blue widget with chrome finish, side view showing control panel"
width="800"
height="600"
loading="lazy">
图片指南:
- 使用包含关键词的描述性文件名
- 替代文本描述图片内容
- 压缩图片并设置合适尺寸
- 使用 WebP/AVIF,并提供回退格式
- 对首屏以下的图片启用延迟加载
内部链接
<a href="/products">Click here</a>
<a href="/widgets">Read more</a>
<a href="/products/blue-widgets">Browse our blue widget collection</a>
<a href="/guides/widget-maintenance">Learn how to maintain your widgets</a>
链接指南:
- 使用包含关键词的描述性锚文本
- 链接到相关的站内页面
- 合理控制每页的链接数量
- 及时修复失效链接
- 使用面包屑展示层级
结构化数据(JSON-LD)
当用户请求 schema 标记,或审计发现结构化数据问题时,请阅读结构化数据参考。其中包含 Organization、Article、Product、FAQ 和 Breadcrumb 示例,以及验证链接。
- 描述可见且准确的内容。 不要仅为获得富媒体搜索结果而添加类型或声明。
- 使用最具体的适用类型。 在不同渲染结果中保持标识符和绝对 URL 稳定。
- 验证渲染后的输出。 语法验证通过并不保证符合搜索引擎的展示条件或一定会展示。
Agentic Browsing 与 AI 可发现性
请将以下概念区分开来:
- Lighthouse Agentic Browsing 衡量有助于助手理解并与渲染后页面交互的技术信号。目前的检查包括面向 Agent 的无障碍树、可选的
llms.txt,以及存在时的 WebMCP 注册信息、schema 和表单覆盖情况。 - 搜索索引和排名 取决于搜索引擎系统,无法从 Agentic Browsing 分数推断。
- AI 摄取或引用 因产品而异。页面在技术上可浏览,或拥有有效的
llms.txt文件,都不能证明 AI 产品会摄取、排名或引用该页面。
优先采用语义化 HTML、描述性标签、可抓取内容、准确的元数据和清晰的页面结构,因为这些都有益于用户、搜索引擎和 Agent。仅当应用有实用操作可供公开且用户希望集成时,才添加 WebMCP 工具;使用 Lighthouse 验证工具名称、描述、schema 和表单注释。
爬虫控制因产品而异
请分别审查每个已记录的用户代理,而不是一概而论地设置“AI 机器人”规则:
| 控制项 | 记录的用途 | 屏蔽的影响 |
|---|---|---|
OAI-SearchBot | ChatGPT 搜索发现 | 页面内容不会纳入 ChatGPT 摘要和摘要片段;但第三方发现仍可能显示链接和标题 |
PerplexityBot | Perplexity 搜索索引 | 阻止该爬虫将被屏蔽的内容编入搜索结果索引 |
Claude-SearchBot / Claude-User | Claude 搜索索引 / 用户指示的检索 | 可能降低搜索可见性 / 阻止针对用户请求的检索 |
Google-Extended | 控制 Google 抓取内容在某些 Gemini 训练和 grounding 场景中的使用 | 不影响内容纳入 Google 搜索或其排名 |
GPTBot 和 ClaudeBot 等训练控制项与搜索及用户请求抓取控制项不同。GoogleOther 是通用爬虫,并非控制 AI 搜索可见性的开关。请在供应商维护的文档中核实当前名称及其影响:OpenAI、Perplexity、Anthropic 和 Google。
llms.txt 是可选项
llms.txt 是一项实验性提案,并非跨供应商的发现标准。Lighthouse 可以验证 /llms.txt 是否可用以及其格式,但这并不能证明目标产品会读取它。只有在用户提出要求或有文档说明的使用方支持时,才添加该文件;不要将其置于可爬取性、语义化 HTML、准确的元数据和有价值的内容之前推荐。切勿将其视为排名或引用因素、重复站点地图,或仅为了提高此项审计的分数而重新组织内容。
移动端 SEO
响应式设计
<meta name="viewport" content="width=1024">
<meta name="viewport" content="width=device-width, initial-scale=1">
点击目标
/* ❌ Too small for mobile */
.small-link {
padding: 4px;
font-size: 12px;
}
/* ✅ Adequate tap target */
.mobile-friendly-link {
padding: 12px;
font-size: 16px;
min-height: 48px;
min-width: 48px;
}
字体大小
/* ❌ Too small on mobile */
body {
font-size: 10px;
}
/* ✅ Readable without zooming */
body {
font-size: 16px;
line-height: 1.5;
}
国际化 SEO
Hreflang 标签
<link rel="alternate" hreflang="en" href="https://example.com/page">
<link rel="alternate" hreflang="es" href="https://example.com/es/page">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page">
<link rel="alternate" hreflang="x-default" href="https://example.com/page">
语言声明
<html lang="en">
<html lang="es-MX">
SEO 审计清单
关键
- 已启用 HTTPS
- robots.txt 允许爬取
- 重要页面未设置
noindex - 存在标题标签,且标题各不相同
- 主页面标题描述清晰,层级结构合理
高优先级
- 存在元描述
- 已提交站点地图
- 已设置规范 URL
- 适配移动设备
- Core Web Vitals 达标
中优先级
- 已实现结构化数据
- 制定内部链接策略
- 图片替代文本
- 描述性 URL
- 面包屑导航
- 当 Agent 访问权限很重要时,检查 Agentic Browsing 失败情况
持续进行
- 在 Search Console 中修复爬取错误
- 内容变更时更新站点地图
- 监控排名变化
- 检查失效链接
- 查看 Search Console 洞察
工具
| 工具 | 用途 |
|---|---|
| Google Search Console | 监控索引情况、修复问题 |
| Google PageSpeed Insights | 性能和 Core Web Vitals |
| Rich Results Test | 验证结构化数据 |
Live Lighthouse audit(Chrome DevTools MCP:lighthouse_audit) | 为 Agent 检查渲染后的 SEO 和 Agentic Browsing |
| Lighthouse CLI | SEO 审计备用方案 |
| Screaming Frog | 爬取分析 |