此页面提供Português (Brasil)版本。
Loomaly文档

规则说明

Loomaly 检查的每一条规则:严重程度、计分维度、规则 ID、含义和修复方法。

Loomaly 报告的每一个问题,都来自本页列出的 81 条规则之一,而每条规则只由扫描的一个环节报告。问题说明和修复 prompt 都来自固定的模板,所以同一个问题每次扫描都对应同一个规则 ID、同样的描述,Loomaly 也因此能分辨一个问题是新出现的、仍然存在,还是已经修好。处理问题的方法见问题。

规则如何影响健康分

每条规则都有严重程度(错误、警告或提示)和所属的维度,即它衡量的是搜索健康的哪一方面。在一个页面上,一个错误让该维度直接记 0 分,一个警告扣 25 分,一个提示扣 5 分(提示最多共扣 10 分)。站点分是五个维度的加权平均。详细算法和示例见健康分怎么算。

规则由谁来检查

每张表的最后一列说明这条规则由扫描的哪个环节报告。各环节何时运行,见扫描是怎么工作的。

检查方式含义问题分组
规则检查由代码检查页面 HTML,每次结果都一样,Loomaly 找到的每个页面都会做。结构性
AI 判断由 AI 模型回答一个关于页面的固定问题(比如:有没有给访客明确的下一步?),每个页面都会做。只有把握很大的回答才会变成问题,哪些问题适用于哪类页面由代码决定。语义
性能测试用 Google PageSpeed Insights 在移动端测量,有 Chrome 真实用户数据时优先使用,只针对每个模板的代表页。性能
页面判断整站扫描后,由代码挑出可疑页面(近似重复、看起来空了或下架了),再交给 AI 判断。页面判断
站点检查每次扫描由代码检查一次 robots.txt 和 sitemap,并把 sitemap 和页面自己的声明做对比。作为一个全站问题显示,只计一次分,不按页面计。结构性

页面设置了 noindex 时只报告 noindex 本身;重定向到其他网站的页面完全不检查。

Meta 标签

规则严重程度维度检查方式
缺少 <title> 标签错误页面基础规则检查
标题过短警告页面基础规则检查
标题过长警告页面基础规则检查
缺少 meta description警告页面基础规则检查
标题和其他页面重复警告页面基础页面判断
描述和其他页面重复提示页面基础页面判断
meta description 过短提示页面基础规则检查
meta description 过长提示页面基础规则检查
缺少 canonical 链接提示可收录性规则检查
canonical 指向了另一个 URL警告可收录性规则检查
缺少 viewport meta警告页面基础规则检查
登录页或应用页可以被索引警告可收录性规则检查
页面设置了 noindex错误可收录性规则检查
页面设置了 nofollow警告可收录性规则检查
标题和页面内容对不上警告内容与 AI 可读性AI 判断
缺少 Open Graph 标签提示页面基础规则检查
缺少 Open Graph 图片提示页面基础规则检查

缺少 <title> 标签

严重程度: 错误 · 维度: 页面基础 · 规则 ID: missing-title · 检查方式: 规则检查 · 工作量: 小

含义: 页面没有 <title>,或者内容为空。标题是搜索结果里显示的那一行大字,也是页面主题最强的信号。

怎么修: 在 <head> 里加一个独一无二、说清楚页面内容的 <title>:主题在前、品牌在后,长度 20–70 个字符。

官方说明: developers.google.com/search/docs/appearance/title-link

标题过短

严重程度: 警告 · 维度: 页面基础 · 规则 ID: title-too-short · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 标题少于 20 个字符,太短,搜索用户看不出这个页面能提供什么。中日韩文字占两个英文字符的宽度,每个字按 2 个字符算。

怎么修: 补上页面的核心主题或产品名,再加一个有区分度的细节,控制在 20–70 个字符。

官方说明: developers.google.com/search/docs/appearance/title-link

标题过长

严重程度: 警告 · 维度: 页面基础 · 规则 ID: title-too-long · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 标题超过 70 个字符,在搜索结果里会被截断。中日韩文字占两个英文字符的宽度,每个字按 2 个字符算。

怎么修: 把最重要的词放在最前面,删掉废话和重复的品牌名,压到 70 个字符以内。

官方说明: developers.google.com/search/docs/appearance/title-link

缺少 meta description

严重程度: 警告 · 维度: 页面基础 · 规则 ID: missing-meta-description · 检查方式: 规则检查 · 工作量: 小

含义: 页面没有 meta description,或者内容为空。搜索引擎会自己从正文里截一段当摘要,用户点击前看到什么就不由你决定了。

怎么修: 加上 <meta name="description" content="...">,用 70–160 个字符说清楚访客能得到什么、为什么值得点。

官方说明: developers.google.com/search/docs/appearance/snippet

标题和其他页面重复

严重程度: 警告 · 维度: 页面基础 · 规则 ID: duplicate-title · 检查方式: 页面判断 · 工作量: 中

含义: 网站里还有其他页面用了一模一样的 <title>,问题里会写出有几个,并列出其中一个。搜索引擎只能在它们里面挑一个来排名,搜索的人也分不清这些结果有什么区别。

怎么修: 让每个页面的标题说清楚这个页面讲什么:商品名、文章主题或分类名放前面,品牌放最后。如果这些页面确实是同一个内容,保留一个,其他的用 canonical 或跳转指向它。

官方说明: developers.google.com/search/docs/appearance/title-link

描述和其他页面重复

严重程度: 提示 · 维度: 页面基础 · 规则 ID: duplicate-meta-description · 检查方式: 页面判断 · 工作量: 中

含义: 网站里还有其他页面用了同样的描述,搜索结果里这些页面的摘要看起来都一样。

怎么修: 按每个页面自己的内容写描述;实在没有特别要说的页面可以留空,Google 会从页面内容里自动生成。

官方说明: developers.google.com/search/docs/appearance/snippet

meta description 过短

严重程度: 提示 · 维度: 页面基础 · 规则 ID: meta-description-too-short · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: meta description 少于 70 个字符,搜索摘要的大部分空间都浪费了。中日韩文字占两个英文字符的宽度,每个字按 2 个字符算。

怎么修: 扩写到 70–160 个字符,加上具体的卖点、细节或行动号召。

官方说明: developers.google.com/search/docs/appearance/snippet

meta description 过长

严重程度: 提示 · 维度: 页面基础 · 规则 ID: meta-description-too-long · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: meta description 超过 160 个字符,在搜索结果里会被截断。中日韩文字占两个英文字符的宽度,每个字按 2 个字符算。

怎么修: 把核心信息压缩在前 160 个字符内,其余删掉。

官方说明: developers.google.com/search/docs/appearance/snippet

缺少 canonical 链接

严重程度: 提示 · 维度: 可收录性 · 规则 ID: missing-canonical · 检查方式: 规则检查 · 工作量: 小

含义: 页面没有声明 <link rel="canonical">。搜索引擎只能自己判断带参数、带不带斜杠等多个 URL 变体里哪个是正式地址。

怎么修: 加一个指向页面自身首选 URL 的 canonical。大多数框架和 SEO 插件都能给每个页面自动输出自引用的 canonical。

官方说明: developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls

canonical 指向了另一个 URL

严重程度: 警告 · 维度: 可收录性 · 规则 ID: canonical-mismatch · 检查方式: 规则检查 · 工作量: 中

含义: canonical 指向的 URL 和页面本身不一致(按重定向之后的最终地址比较,末尾斜杠和域名大小写不算不同)。搜索引擎可能会去收录那个 URL,而不是这一页。

怎么修: 如果这个页面需要单独参与排名,把 canonical 改成指向它自己;如果它本来就是要把权重交给另一页的重复页,保持不变,并在忽略时写明原因。

官方说明: developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls

缺少 viewport meta

严重程度: 警告 · 维度: 页面基础 · 规则 ID: missing-viewport · 检查方式: 规则检查 · 工作量: 小

含义: 页面没有 <meta name="viewport">,手机上会显示成缩小的桌面版页面。而 Google 收录的是你网站的移动版。

怎么修: 在 <head> 里加上 <meta name="viewport" content="width=device-width, initial-scale=1">。

官方说明: developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing

登录页或应用页可以被索引

严重程度: 警告 · 维度: 可收录性 · 规则 ID: indexable-app-page · 检查方式: 规则检查 · 工作量: 小

含义: 这个地址像登录、账户或应用页面,并且以 200 返回、没有 noindex。搜索结果里可能出现登录墙,而不是公开页面。

怎么修: 在 robots meta 或 X-Robots-Tag 响应头里加上 noindex。不要为这些页面写标题和描述。

官方说明: developers.google.com/search/docs/crawling-indexing/robots-meta-tag

页面设置了 noindex

严重程度: 错误 · 维度: 可收录性 · 规则 ID: robots-noindex · 检查方式: 规则检查 · 工作量: 小

含义: 页面告诉搜索引擎不要收录它,所以它不会出现在搜索结果里。登录、账户、购物车、结账、法律条款这类通常有意不让收录的页面,Loomaly 不会报这个问题。

怎么修: 如果这个页面应该出现在搜索里,从 robots meta 标签(以及 X-Robots-Tag 响应头)里去掉 noindex;如果是有意为之,忽略该问题并写明原因。

官方说明: developers.google.com/search/docs/crawling-indexing/block-indexing

页面设置了 nofollow

严重程度: 警告 · 维度: 可收录性 · 规则 ID: robots-nofollow · 检查方式: 规则检查 · 工作量: 小

含义: 页面级 robots 设置了 nofollow,搜索引擎不会跟踪页面上的任何链接,被链接的页面也就得不到发现机会和权重。

怎么修: 从页面的 robots meta 标签里去掉 nofollow。如果只是不想让某几个链接传递权重,给这些链接单独加 rel="nofollow"。

官方说明: developers.google.com/search/docs/crawling-indexing/robots-meta-tag

标题和页面内容对不上

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: title-content-mismatch · 检查方式: AI 判断 · 工作量: 小

含义: <title> 说的内容,页面的小标题和正文并没有提供。点进来的搜索用户很快就会离开,Google 也可能在搜索结果里改写这个标题。

怎么修: 按页面实际提供的内容重写标题,可以沿用主标题里的说法;或者反过来调整页面,让它兑现标题的承诺。

官方说明: developers.google.com/search/docs/appearance/title-link

缺少 Open Graph 标签

严重程度: 提示 · 维度: 页面基础 · 规则 ID: missing-og-tags · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面上 og:title、og:description、og:image 一个都没有。社交平台、聊天软件和 AI 助手在链接被分享时,靠这些 Open Graph 标签生成预览卡片。

怎么修: 在 <head> 里至少加上 og:title、og:description 和 og:image(最好再加 og:url)。大多数 SEO 插件和框架都能根据页面标题和描述自动生成。

官方说明: ogp.me

缺少 Open Graph 图片

严重程度: 提示 · 维度: 页面基础 · 规则 ID: missing-og-image · 检查方式: 规则检查 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面有 Open Graph 标签,但没有 og:image,分享出去的链接没有预览图,或者被随便抓一张图。

怎么修: 加上 og:image,填一张有代表性的图片的绝对 URL,常用尺寸是 1200 x 630 像素。

官方说明: ogp.me

标题层级

规则严重程度维度检查方式
缺少 H1警告页面基础规则检查
有多个 H1警告页面基础规则检查
标题层级跳级提示页面基础规则检查

缺少 H1

严重程度: 警告 · 维度: 页面基础 · 规则 ID: missing-h1 · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面没有 <h1>。H1 是页面上最主要的可见标题,也是页面主题的强信号。

怎么修: 加一个(且只加一个)H1,写明页面的核心主题,可以和 title 一致或相近。

官方说明: developers.google.com/search/docs/fundamentals/seo-starter-guide

有多个 H1

严重程度: 警告 · 维度: 页面基础 · 规则 ID: multiple-h1 · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面有不止一个 <h1>,主题信号被分散了。常见原因是主题模板把 logo 或各区块标题都写成了 H1。

怎么修: 只保留一个表达核心主题的 H1,其余改成 H2 或 H3。

官方说明: developers.google.com/search/docs/fundamentals/seo-starter-guide

标题层级跳级

严重程度: 提示 · 维度: 页面基础 · 规则 ID: heading-skip-level · 检查方式: 规则检查 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 标题层级跳级了,比如 H1 下面直接是 H3。读屏软件和爬虫把标题当作页面大纲,跳级会让结构难以理解。

怎么修: 按结构依次使用 H1、H2、H3,字号大小用 CSS 调整,而不是靠换标题级别。

官方说明: developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements

内容

规则严重程度维度检查方式
与站内另一页争抢同一个搜索警告内容与 AI 可读性页面判断
已下架或缺货的页面仍可被收录警告内容与 AI 可读性页面判断
没有实际内容的占位页警告内容与 AI 可读性页面判断
访客不知道下一步该做什么警告内容与 AI 可读性AI 判断
内容单薄警告内容与 AI 可读性AI 判断
字数过少提示内容与 AI 可读性规则检查
疑似关键词堆砌警告内容与 AI 可读性AI 判断
目标搜索词不在标题里警告内容与 AI 可读性关键词检查
目标搜索词不在 H1 里提示内容与 AI 可读性关键词检查
目标搜索词不在描述里提示内容与 AI 可读性关键词检查
目标搜索词不在正文开头提示内容与 AI 可读性关键词检查
有人搜的词不在标题里警告内容与 AI 可读性关键词检查
目标词不在标题开头提示内容与 AI 可读性关键词检查
站点没有 llms.txt提示内容与 AI 可读性站点检查
llms.txt 不是一份可用的页面地图提示内容与 AI 可读性站点检查
llms.txt 链到了打不开的页面警告内容与 AI 可读性站点检查
页面不利于被 AI 引用提示内容与 AI 可读性AI 判断
缺少作者署名提示内容与 AI 可读性AI 判断
缺少发布日期提示内容与 AI 可读性AI 判断

与站内另一页争抢同一个搜索

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: duplicate-intent · 检查方式: 页面判断 · 工作量: 大

含义: 站内另一个页面在争抢同一个搜索,问题里会写出是哪一页。搜索引擎通常只选其中一个,另一个就输了。已经互相声明为 canonical 或语言版本的页面不会被标记。

怎么修: 把两页合并成一页并把较弱的 URL 重定向过去;或者用 canonical 让一页指向另一页;或者把它们做得明显不同(面向不同人群、产品或问题)。

官方说明: developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls

已下架或缺货的页面仍可被收录

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: unavailable-item · 检查方式: 页面判断 · 工作量: 中

含义: 页面对应的东西已经没有了(售罄、停产、活动已结束),但仍然可以被搜索到。

怎么修: 只有在它能帮访客找到下一步(替代品、补货时间)时才保留;否则重定向到最接近的替代页面,或者加 noindex。

官方说明: developers.google.com/crawling/docs/troubleshooting/http-status-codes

没有实际内容的占位页

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: placeholder-page · 检查方式: 页面判断 · 工作量: 大

含义: 页面只是一个模板空壳或占位页,访客什么也得不到,比如占位文字、空分类或「敬请期待」页。

怎么修: 补上真正的内容;在那之前先别让它被收录(加 noindex 或先下线)。

官方说明: developers.google.com/search/docs/fundamentals/creating-helpful-content

访客不知道下一步该做什么

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: missing-next-step · 检查方式: AI 判断 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 首页、落地页或商品页没有给访客一个明确的下一步:注册、购买、预约、联系你,或者继续阅读。页面就算有排名,也会白白流失带来的访客。AI 判断时会看到页面上的按钮和行动链接;只有记录到了这些按钮的页面才会检查这一项。

怎么修: 在页面上方和主要内容之后各放一个主要的行动按钮,用动词说清楚点了会怎样(比如「免费试用」「预约通话」)。次要链接在视觉上弱化一些。

官方说明: developers.google.com/search/docs/fundamentals/creating-helpful-content

内容单薄

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: thin-content · 检查方式: AI 判断 · 工作量: 大

含义: 就这个页面的用途(商品、文章、落地页)而言,它给访客的实质内容不够:除了一个标题和几行字,没什么别的。搜索引擎会把这类页面当作低价值页面。

怎么修: 补充访客在这个页面真正需要的内容。如果这一页本身没有独立价值,就并入相关页面,或者不让它被收录。

官方说明: developers.google.com/search/docs/fundamentals/creating-helpful-content

字数过少

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: low-word-count · 检查方式: 规则检查 · 工作量: 大

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面的文字量低于这个主题通常需要的深度。

怎么修: 补充有用的细节,比如参数规格、常见问题解答、示例,而不是凑字数。

官方说明: developers.google.com/search/docs/fundamentals/creating-helpful-content

疑似关键词堆砌

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: keyword-stuffing · 检查方式: AI 判断 · 工作量: 中

含义: 文字读起来不像人写给人看的:搜索词的重复次数远超自然写作。读起来别扭,也有被搜索引擎降权的风险。

怎么修: 把相关段落改写得自然一些,换用同义词,并删掉标题、alt 文本和页脚里的重复。

官方说明: developers.google.com/search/docs/essentials/spam-policies#keyword-stuffing

目标搜索词不在标题里

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: keyword-missing-title · 检查方式: 关键词检查 · 工作量: 小

含义: 这个页面要排名的搜索词不在 Google 会展示的 <title> 前半段。只出现在标题后半段的词,在搜索结果里会被截掉。

怎么修: 把这个词放进 <title> 的前半段,品牌名放在后面。

官方说明: developers.google.com/search/docs/appearance/title-link

目标搜索词不在 H1 里

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: keyword-missing-h1 · 检查方式: 关键词检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 这个页面要排名的搜索词不在任何一个 H1 里,访客最先看到的标题没有说出这个页面是做什么的。

怎么修: 在页面的 H1 里用上这个词,用搜索者会用的说法。

官方说明: developers.google.com/search/docs/fundamentals/seo-starter-guide

目标搜索词不在描述里

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: keyword-missing-description · 检查方式: 关键词检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 这个页面要排名的搜索词不在 meta description 里,搜索结果下方的摘要就没提到它。

怎么修: 在 meta description 里用一次这个词,写成访客能得到什么。

官方说明: developers.google.com/search/docs/appearance/snippet

目标搜索词不在正文开头

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: keyword-missing-intro · 检查方式: 关键词检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 这个页面要排名的搜索词没有出现在正文开头,第一屏没有告诉访客来对了地方。

怎么修: 在第一段里用上这个词;中文、日文、韩文或泰文页面写在开头的一两行里。

官方说明: developers.google.com/search/docs/fundamentals/creating-helpful-content

有人搜的词不在标题里

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: gsc-query-title-gap · 检查方式: 关键词检查 · 工作量: 小

含义: Google 已经因为一个有真实搜索量的词展示这个页面,但标题和 H1 里都没有这个词。标题忽略了这个页面已经在获得的搜索。

怎么修: 如果页面确实在回答这个搜索,就把这个词写进标题或 H1。页面讲的是别的事就不要硬加。

官方说明: developers.google.com/search/docs/appearance/title-link

目标词不在标题开头

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: keyword-not-title-start · 检查方式: 关键词检查 · 工作量: 小

含义: 这个页面要排名的词在标题里,但不在开头(前三分之一宽度,或前几个词)。搜索的人先看到标题的开头。

怎么修: 把这个词移到标题开头,放在品牌名之前。

官方说明: developers.google.com/search/docs/appearance/title-link

站点没有 llms.txt

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: llms-txt-missing · 检查方式: 站点检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: /llms.txt 不存在,或者这个地址返回的是网页。HTML 兜底页也算没有。有些产品会抓这个文件来找页面,它必须是纯文本。

怎么修: 在域名根路径以 text/plain 发布 /llms.txt:一个 # 标题、可选的一行摘要,以及指向真实页面的 Markdown 链接。Next.js 用 public/llms.txt 或 app/llms.txt/route.ts。Astro 和 TanStack Start 用 public/llms.txt。Fumadocs 从文档源生成。Docusaurus 和其他静态站点用 static/llms.txt 或主机的 public 目录。

官方说明: llmstxt.org

llms.txt 不是一份可用的页面地图

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: llms-txt-invalid · 检查方式: 站点检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: /llms.txt 以纯文本发布,但还不能当页面地图用:需要一个标题(# …)和至少一条指向页面的 Markdown 链接。有些产品会抓这个文件来找页面。文件缺失,或这个地址返回 HTML,是另一条检查。

怎么修: 给 /llms.txt 一个 # 标题、可选的摘要,以及要被阅读的页面的 Markdown 链接,例如 - [定价](https://example.com/pricing): 方案和价格。以 text/plain 提供。Next.js 可以用 public/llms.txt 或 app/llms.txt/route.ts;Astro 和 TanStack Start 用 public/llms.txt;Fumadocs 可以从文档生成;Docusaurus 和其他静态站点用 static/llms.txt。

官方说明: llmstxt.org

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: llms-txt-broken-links · 检查方式: 站点检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: /llms.txt 链到了本站里返回错误的页面。这条问题列出抽查到的地址。顺着文件打开的会落到打不开的页面。

怎么修: 把每条链接改到返回 200 的页面,或删掉那一行。这条会列出最先失败的几个地址。文件通常是 public/llms.txt,或负责输出它的路由。

官方说明: llmstxt.org

页面不利于被 AI 引用

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: page-not-citable-by-llm · 检查方式: AI 判断 · 工作量: 大

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面各小节没有开门见山给出答案,或者单独拿出来读不懂。AI 回答和精选摘要引用的,是开头就把要点说清楚的段落;这一点没有任何标记能替代。

怎么修: 每个小节的第一句话直接回答小标题,再展开细节。小标题尽量贴近用户的问法,写出具体的事实和数字。

官方说明: developers.google.com/search/docs/appearance/ai-features

缺少作者署名

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: missing-author-byline · 检查方式: AI 判断 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 这篇文章没有写明作者,页面上和结构化数据里都没有。署名能帮读者判断内容是否可信,也是 Google 质量指南关注的一点。

怎么修: 在页面上显示作者姓名并链接到作者简介页,同时在 Article JSON-LD 里加上作者。

官方说明: developers.google.com/search/docs/fundamentals/creating-helpful-content

缺少发布日期

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: missing-publish-date · 检查方式: AI 判断 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 这篇文章没有显示发布或更新日期,页面上和结构化数据里都没有,读者没法判断内容是否过时。

怎么修: 在页面上显示发布(和更新)日期,并在 JSON-LD 里加上 datePublished 和 dateModified。

官方说明: developers.google.com/search/docs/appearance/publication-dates

图片

规则严重程度维度检查方式
图片缺少 alt 文本警告页面基础规则检查
图片未懒加载提示性能规则检查

图片缺少 alt 文本

严重程度: 警告 · 维度: 页面基础 · 规则 ID: image-missing-alt · 检查方式: 规则检查 · 工作量: 中

含义: 有 <img> 缺少 alt 属性,问题里会写出页面上有几张图缺失。读屏软件无法描述这些图片,Google 图片搜索也缺少依据。

怎么修: 给每张有意义的图片写一句简短的 alt 描述;纯装饰性的图片用空的 alt=""。

官方说明: developers.google.com/search/docs/appearance/google-images

图片未懒加载

严重程度: 提示 · 维度: 性能 · 规则 ID: image-no-lazy-loading · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面下方的图片跟着页面一起立刻加载,和首屏内容抢带宽。

怎么修: 给首屏以下的图片加 loading="lazy"。页面顶部的主图不要懒加载,否则会拖慢 LCP。

官方说明: web.dev/articles/browser-level-image-lazy-loading

规则严重程度维度检查方式
没有内链警告页面基础规则检查
内链太少提示页面基础规则检查
外链过多提示页面基础规则检查
站内链接没有用目标搜索词提示内容与 AI 可读性关键词检查
焦点页的站内链接太少警告内容与 AI 可读性关键词检查
站内链接指向打不开的页面警告页面基础站点检查
站点地图里没有被任何页面链接的页面警告页面基础站点检查

严重程度: 警告 · 维度: 页面基础 · 规则 ID: no-internal-links · 检查方式: 规则检查 · 工作量: 中

含义: 页面没有链接到站内任何其他页面,既不给其他页面传递权重,爬虫也难以通过它发现更多内容。

怎么修: 在正文里加上指向相关页面的链接,并加上导航或面包屑。确认链接是真正的 <a href>,而不是 JS 点击事件。

官方说明: developers.google.com/search/docs/crawling-indexing/links-crawlable

严重程度: 提示 · 维度: 页面基础 · 规则 ID: too-few-internal-links · 检查方式: 规则检查 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面指向站内其他页面的链接很少,可能被低估,也没能引导访客继续浏览。

怎么修: 在对读者有帮助的地方,链接到相关的商品、文章或分类页。

官方说明: developers.google.com/search/docs/crawling-indexing/links-crawlable

严重程度: 提示 · 维度: 页面基础 · 规则 ID: excessive-external-links · 检查方式: 规则检查 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面链接了很多外部域名。每一个外链都应该是对读者有用的。

怎么修: 删掉没有必要的外链;付费或联盟链接加 rel="sponsored",用户提交的链接加 rel="ugc"。

官方说明: developers.google.com/search/docs/fundamentals/seo-starter-guide

站内链接没有用目标搜索词

严重程度: 提示 · 维度: 内容与 AI 可读性 · 规则 ID: keyword-anchor-missing · 检查方式: 关键词检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 站内有别的页面链到这里,但这些链接都没有用这个页面要排名的搜索词。锚文本就是这些链接带过来的提示。

怎么修: 至少在一条指向这个页面的站内链接上,用这个词作为可见的链接文字。

官方说明: developers.google.com/search/docs/crawling-indexing/links-crawlable

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: focus-page-few-inlinks · 检查方式: 关键词检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 指向焦点页的站内链接少于 5 条,或者这些链接的锚文本去重后少于 5 种。这个页面得到的站内关注很少。

怎么修: 从相关页面加上指向这里的链接。在助手里调用 link_suggestions,并批准合适的建议。

官方说明: developers.google.com/search/docs/crawling-indexing/links-crawlable

严重程度: 警告 · 维度: 页面基础 · 规则 ID: internal-links-to-errors · 检查方式: 站点检查 · 工作量: 中

含义: 你网站里的页面链接到了本站其他返回错误(4xx 或 5xx)的页面。问题里会写出有多少个页面链接到了多少个打不开的页面,并附上例子。访客点进去就走进死胡同,爬虫也把抓取次数浪费在这里。

怎么修: 把这些链接改到页面现在的地址,或者直接删掉。如果页面换了地址,把旧地址跳转到新地址,这样外部指过来的链接也不会失效。

官方说明: developers.google.com/crawling/docs/troubleshooting/http-status-codes

站点地图里没有被任何页面链接的页面

严重程度: 警告 · 维度: 页面基础 · 规则 ID: orphan-pages · 检查方式: 站点检查 · 工作量: 中

含义: 站点地图里列出了一些本站没有任何页面链接过去的页面。问题里写出了数量和例子,每个都确认过能正常打开。访客只能从站外进到这些页面,搜索引擎也不太重视没有内链指向的页面。有时它们本来就不该出现在站点地图里(模板、验证文件、过期的活动页)。

怎么修: 给重要的页面从相关页面、汇总页或导航加上链接;不该公开的页面从站点地图里删掉。

官方说明: developers.google.com/search/docs/crawling-indexing/links-crawlable

结构化数据

规则严重程度维度检查方式
没有 JSON-LD 结构化数据提示结构化数据规则检查
商品页缺少商品结构化数据(Product)警告结构化数据规则检查
结构化数据无效警告结构化数据规则检查
缺少 Organization schema提示结构化数据规则检查
缺少面包屑 schema提示结构化数据规则检查

没有 JSON-LD 结构化数据

严重程度: 提示 · 维度: 结构化数据 · 规则 ID: missing-structured-data · 检查方式: 规则检查 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面没有任何 JSON-LD。结构化数据用搜索引擎能直接读懂的方式描述页面(商品、文章、你的公司),很多富媒体搜索结果都依赖它。

怎么修: 加一个对应 Schema.org 类型的 <script type="application/ld+json">。让助手(problem)按你的网站类型给出一段可直接粘贴的代码,发布前把占位字段换成真实值。

官方说明: developers.google.com/search/docs/appearance/structured-data/intro-structured-data

商品页缺少商品结构化数据(Product)

严重程度: 警告 · 维度: 结构化数据 · 规则 ID: missing-product-schema · 检查方式: 规则检查 · 工作量: 中

含义: 这是商品页,但没有 Product 结构化数据。Google 购物、富媒体搜索结果和 AI 助手都是从这段标记里读商品名称、价格、币种和库存的;没有它,就只能从页面内容里猜,前提还是它们能看到页面内容。

怎么修: 加一段 Product JSON-LD,包含 name、image、description 和 offers(price、priceCurrency、availability、url),数据来源要和页面上显示的一致。如果网站是在浏览器里渲染的,这段标记必须出现在服务器返回的 HTML 里。

官方说明: developers.google.com/search/docs/appearance/structured-data/product-snippet

结构化数据无效

严重程度: 警告 · 维度: 结构化数据 · 规则 ID: invalid-structured-data · 检查方式: 规则检查 · 工作量: 小

含义: 页面的 JSON-LD 不符合 Schema.org 规则。这项检查由 Loomaly 自己的校验器完成,不靠 AI;问题里会写出第一个错误的路径,以及还有几个错误。只报告错误,不报告警告。

怎么修: 按报告的路径修正对应属性。让助手(problem)给出你自己这段代码的修正版,列出改了哪些地方、还有哪些需要只有你才知道的信息。改完后用 Google 富媒体搜索结果测试工具验证。

官方说明: developers.google.com/search/docs/appearance/structured-data/sd-policies

缺少 Organization schema

严重程度: 提示 · 维度: 结构化数据 · 规则 ID: missing-organization-schema · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 首页没有 Organization(或 LocalBusiness)JSON-LD。它告诉搜索引擎你的名称、logo 和社交账号,是出现知识面板的前提。

怎么修: 在首页加上 Organization JSON-LD,包含 name、url、logo,以及指向各社交账号的 sameAs。本地商家用 LocalBusiness,并写上地址和营业时间。让助手(problem)给出可直接填写的模板。

官方说明: developers.google.com/search/docs/appearance/structured-data/organization

缺少面包屑 schema

严重程度: 提示 · 维度: 结构化数据 · 规则 ID: missing-breadcrumb-schema · 检查方式: 规则检查 · 工作量: 中

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面没有 BreadcrumbList JSON-LD。有了它,Google 能在搜索结果里显示页面在站内的位置,而不是一串裸 URL。

怎么修: 加上与页面导航位置一致的 BreadcrumbList JSON-LD。大多数建站平台和 SEO 插件都能根据面包屑自动生成。让助手(problem)给出模板。

官方说明: developers.google.com/search/docs/appearance/structured-data/breadcrumb

技术

规则严重程度维度检查方式
错误页面以正常页面返回(软 404)错误可收录性页面判断
不执行 JavaScript 的爬虫看到的是空页面错误可收录性规则检查
只为搜索引擎预渲染,AI 爬虫看到的是空页面警告内容与 AI 可读性规则检查
页面使用 HTTP 而非 HTTPS错误可收录性规则检查
robots.txt 不是有效的规则文件警告可收录性站点检查
robots.txt 没有声明 sitemap提示可收录性站点检查
robots.txt 里只有注释提示可收录性站点检查
robots.txt 屏蔽了 AI 搜索的爬虫警告内容与 AI 可读性站点检查
robots.txt 拦了 AI 爬虫警告内容与 AI 可读性站点检查
站点要求 AI 回答引擎不要使用这些页面警告内容与 AI 可读性站点检查
没有找到站点地图警告可收录性站点检查
站点地图漏了可索引的页面警告可收录性站点检查
sitemap 不是有效的 XML警告可收录性站点检查
sitemap 里列了不该收录的网址警告可收录性站点检查
canonical 指向会跳转或打不开的地址警告可收录性站点检查
独立手机站缺少 rel="alternate" 标注警告可收录性站点检查
网站的其他地址没有永久跳转到主地址警告可收录性站点检查
缺少 favicon提示页面基础规则检查
页面返回非 200 状态码错误可收录性规则检查

错误页面以正常页面返回(软 404)

严重程度: 错误 · 维度: 可收录性 · 规则 ID: soft-404 · 检查方式: 页面判断 · 工作量: 中

含义: 页面内容显示「找不到」或出错,但 HTTP 状态码却是 200,搜索引擎会把它当成正常页面继续收录。

怎么修: 已经不存在的页面返回真正的 404 或 410;有对应新页面的,301 重定向过去。

官方说明: developers.google.com/crawling/docs/troubleshooting/http-status-codes

不执行 JavaScript 的爬虫看到的是空页面

严重程度: 错误 · 维度: 可收录性 · 规则 ID: client-rendered-without-ssr · 检查方式: 规则检查 · 工作量: 大

含义: 不执行 JavaScript 直接请求时,页面 HTML 有 20 KB 以上,正文却不到 150 个字符:内容要等 JavaScript 执行后才出现。不执行 JavaScript 的爬虫(包括大多数 AI 爬虫,如 ChatGPT、Perplexity、Claude,以及链接预览)看到的就是这样。有些网站只给 Googlebot 返回渲染好的页面,这时 Google 能看到内容,AI 爬虫仍然看不到。这类页面空得没法判断,所以不做 AI 判断,改报这个问题。

怎么修: 改为服务端渲染,或在构建时预渲染,让 HTML 里直接包含内容。大多数框架都支持 SSR 或静态生成。

官方说明: developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics

只为搜索引擎预渲染,AI 爬虫看到的是空页面

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: prerendered-for-search-engines-only · 检查方式: 规则检查 · 工作量: 大

含义: 以普通访问者身份请求时,页面是一个等 JavaScript 补全的空壳;以 Googlebot 身份请求时,拿到的是渲染好的完整页面。说明网站只为搜索引擎做了预渲染。Google、Bing 能看到内容,可以正常收录和排名;但 AI 爬虫(ChatGPT、Perplexity、Claude 等)不执行 JavaScript,也不在预渲染名单里,看到的是空页面,回答里就引用不了价格、库存和商品详情。

怎么修: 把主流 AI 爬虫(GPTBot、OAI-SearchBot、PerplexityBot、ClaudeBot 等)加入预渲染名单,通常只需在预渲染服务或 CDN 规则里改一行。长期看,改为对所有访问者服务端输出内容。

官方说明: developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering

页面使用 HTTP 而非 HTTPS

严重程度: 错误 · 维度: 可收录性 · 规则 ID: non-https · 检查方式: 规则检查 · 工作量: 中

含义: 页面通过 HTTP 而不是 HTTPS 提供。HTTPS 是 Google 明确的排名因素,浏览器也会把 HTTP 页面标为「不安全」。

怎么修: 配置 TLS 证书,把所有 HTTP 地址 301 重定向到 HTTPS,并把站内链接和 canonical 都改成 HTTPS。

官方说明: developers.google.com/search/docs/appearance/page-experience

robots.txt 不是有效的规则文件

严重程度: 警告 · 维度: 可收录性 · 规则 ID: robots-txt-invalid · 检查方式: 站点检查 · 工作量: 小

含义: 域名根目录的 /robots.txt 返回的是网页或服务器错误,而不是纯文本规则。爬虫读不到任何规则和 sitemap;如果是服务器错误,Google 会暂停抓取整个网站。

怎么修: 在域名根目录以 text/plain 提供 /robots.txt,写上 User-agent 规则和一行 Sitemap:。确认它没有被应用的兜底路由或跳转首页的逻辑接管。

官方说明: developers.google.com/crawling/docs/robots-txt/create-robots-txt

robots.txt 没有声明 sitemap

严重程度: 提示 · 维度: 可收录性 · 规则 ID: robots-txt-no-sitemap · 检查方式: 站点检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: robots.txt 里没有 Sitemap: 这一行,或者网站根本没有 robots.txt。你手动提交过 sitemap 的搜索引擎仍然知道它;Bing、AI 爬虫等其他爬虫只能自己去找。

怎么修: 在 /robots.txt 里加上 Sitemap: https://你的域名/sitemap.xml(每个 sitemap 写完整地址)。如果网站没有 robots.txt(证据里写着 no robots.txt),就新建一个:只有这一行也是合法文件,不会屏蔽任何页面。

官方说明: developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#addsitemap

robots.txt 里只有注释

严重程度: 提示 · 维度: 可收录性 · 规则 ID: robots-only-comments · 检查方式: 站点检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: robots.txt 没有爬虫规则,也没有 Sitemap 行,只有注释。Cloudflare 这类主机常会托管这样一份文件,项目里的副本不一定是爬虫读到的那份。

怎么修: 在主机的 robots.txt 设置里加上 Sitemap 行。如果你能控制这个文件,用真正的规则和一行 Sitemap 换掉这些注释。

官方说明: developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#addsitemap

robots.txt 屏蔽了 AI 搜索的爬虫

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: ai-search-crawlers-blocked · 检查方式: 站点检查 · 工作量: 小

含义: robots.txt 禁止了一个或多个为 AI 搜索回答抓取网页的爬虫:OAI-SearchBot(ChatGPT 搜索)、Claude-SearchBot(Claude)和 PerplexityBot(Perplexity),具体是哪些见问题详情。这些产品读不到你的网站,回答里就不会引用或链接它。它们和训练爬虫(GPTBot、ClaudeBot、Google-Extended)不是一回事:屏蔽训练爬虫只是不让内容进入以后的模型训练,很多网站却把两类一起屏蔽了。在 CDN 上设置的拦截(比如一键屏蔽 AI 爬虫的开关)不写在 robots.txt 里,这里查不到。

怎么修: 如果希望出现在 AI 回答里,删掉针对这些爬虫的 Disallow 行,或者给每个爬虫单独写一组 Allow: /,例如 User-agent: OAI-SearchBot 下一行写 Allow: /。不希望内容被拿去训练的话,可以继续屏蔽 GPTBot、ClaudeBot 和 Google-Extended。如果是有意屏蔽,忽略这个问题即可。

官方说明: developers.openai.com/api/docs/bots

robots.txt 拦了 AI 爬虫

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: ai-crawler-blocked · 检查方式: 站点检查 · 工作量: 小

含义: robots.txt 禁止一个或多个 AI 爬虫抓首页。搜索和回答爬虫(OAI-SearchBot、Claude-SearchBot、PerplexityBot)是警告:那些产品读不到这个站。训练爬虫(GPTBot、ClaudeBot、Google-Extended,以及 Applebot-Extended、CCBot 这类)只是提示:拦住它们只是不让页面进入以后的模型训练,本身不会让站点从 AI 回答里消失。这条会写出是哪些。Content-Signal 的拒绝是另一条检查。CDN 上的拦截不在 robots.txt 里,这里不查。

怎么修: 如果希望出现在 AI 回答里,删掉这条点名的搜索爬虫的 Disallow,或给每个单独一组并写上 Allow: /。训练爬虫可以继续拦,那只是一条提示。如果拦截是有意的,忽略这条。

官方说明: developers.openai.com/api/docs/bots

站点要求 AI 回答引擎不要使用这些页面

严重程度: 警告 · 维度: 内容与 AI 可读性 · 规则 ID: content-signal-blocks-ai-answers · 检查方式: 站点检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: robots.txt 里的 Content-Signal 对抓取页面、用来生成 AI 回答的爬虫关掉了搜索或 AI 输入(search=no 或 ai-input=no):OAI-SearchBot、Claude-SearchBot 和 PerplexityBot。这些产品被要求不要在回答里使用这些页面。只拒绝训练(ai-train=no)不会触发这条。

怎么修: 在作用于 * 或这些爬虫的 Content-Signal 行里,如果希望允许使用页面,写成 ai-input=yes 和 search=yes。可以保留 ai-train=no。如果是有意拒绝,忽略这个问题即可。

官方说明: contentsignals.org

没有找到站点地图

严重程度: 警告 · 维度: 可收录性 · 规则 ID: sitemap-missing · 检查方式: 站点检查 · 工作量: 小

含义: sitemap.xml 没有响应,robots.txt 也没有指出站点地图。页面已经不少,爬虫只能顺着链接一页页找。

怎么修: 用路由或内容来源生成 XML 站点地图,并在 robots.txt 里加上 Sitemap 行。然后在 Loomaly 里提交。不需要打开 Search Console。

官方说明: developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

站点地图漏了可索引的页面

严重程度: 警告 · 维度: 可收录性 · 规则 ID: sitemap-stale · 检查方式: 站点检查 · 工作量: 中

含义: 网站已有站点地图,但爬虫找到的可索引页面不在里面。末尾斜杠、www 或查询参数不算另一个页面。

怎么修: 用和路由或内容相同的来源生成站点地图,新页面会自动进去。不要手工补 URL。登录页和应用页不要放进去。

官方说明: developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

sitemap 不是有效的 XML

严重程度: 警告 · 维度: 可收录性 · 规则 ID: sitemap-invalid · 检查方式: 站点检查 · 工作量: 中

含义: 某个 sitemap 地址返回的不是 sitemap:通常是被兜底路由接管后返回了网站页面,或者 robots.txt 里写的 sitemap 地址是 404。爬虫从这里拿不到任何网址列表。

怎么修: 以 XML 内容类型提供 sitemap(<urlset> 或 <sitemapindex>),robots.txt 里只写真实存在的 sitemap 地址。

官方说明: developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

sitemap 里列了不该收录的网址

严重程度: 警告 · 维度: 可收录性 · 规则 ID: sitemap-lists-non-canonical · 检查方式: 站点检查 · 工作量: 中

含义: sitemap 里列出的网址不是 Google 应该收录的版本:它们声明了别的网址为 canonical、会跳转到别的页面,或者返回错误。问题里会写出有多少个并附上例子(会跳转的会写出跳到哪里)。sitemap 和页面本身说法不一致时,Google 会降低对它的信任。

怎么修: 让 sitemap 和 canonical 标签从同一个数据源生成,只列出不跳转、直接返回 200 且 canonical 指向自己的网址,旧路径换成它们跳转后的地址。

官方说明: developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

canonical 指向会跳转或打不开的地址

严重程度: 警告 · 维度: 可收录性 · 规则 ID: canonical-target-broken · 检查方式: 站点检查 · 工作量: 中

含义: 一些页面声明的 canonical 网址(告诉搜索引擎该收录哪个版本)本身会跳转或者返回错误。问题里列出了这些地址、它们的响应,以及有多少个页面指向它们。搜索引擎被送去绕路或者走进死胡同,可能忽略这个 canonical,甚至不收录页面。

怎么修: 把每个 canonical 改成最终能直接返回 200 的地址:通常是页面自己,或者旧地址现在跳转到的地方。canonical 一般在共用模板或 SEO 插件设置里统一改。

官方说明: developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls

独立手机站缺少 rel="alternate" 标注

严重程度: 警告 · 维度: 可收录性 · 规则 ID: mobile-site-not-annotated · 检查方式: 站点检查 · 工作量: 中

含义: 手机用户(包括 Google 用来收录的智能手机爬虫)会被跳转到另一个主机上的独立手机站,问题里会写出是哪个。Google 要求这两个版本互相声明:手机页的 canonical 指向桌面页,桌面页用带 media 属性的 rel="alternate" 链接指向手机页。现在桌面页缺少这个链接。

怎么修: 在每个桌面页加上 <link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.你的网站/..."> 指向对应的手机页,手机页的 canonical 保持指回桌面页。或者改成同一个地址的响应式网站。

官方说明: developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing

网站的其他地址没有永久跳转到主地址

严重程度: 警告 · 维度: 可收录性 · 规则 ID: host-variants-not-redirected · 检查方式: 站点检查 · 工作量: 小

含义: 你的网站能从不止一个地址打开:http:// 版本,或者带 / 不带 www. 的版本,要么直接显示了网站内容,要么只用临时跳转(302 或 307)把访客送过去。问题里列出了每个地址和它的响应。搜索引擎可能把它们当成两个网站,外链和信号会被分散。

怎么修: 让其他版本都用一次永久跳转(301 或 308)直接跳到主地址,一般在主机或 CDN 的域名设置里改(Cloudflare 上是 Always Use HTTPS,再给另一个主机名加一条重定向规则)。

官方说明: developers.google.com/search/docs/crawling-indexing/301-redirects

缺少 favicon

严重程度: 提示 · 维度: 页面基础 · 规则 ID: missing-favicon · 检查方式: 规则检查 · 工作量: 小

含义: 页面没有声明 favicon。Google 搜索结果、浏览器标签页和书签里都会显示它。

怎么修: 在 <head> 里加上 <link rel="icon" href="/favicon.ico">(也可以用 PNG 或 SVG 图标)。

官方说明: developers.google.com/search/docs/appearance/favicon-in-search

页面返回非 200 状态码

严重程度: 错误 · 维度: 可收录性 · 规则 ID: non-200-status · 检查方式: 规则检查 · 工作量: 中

含义: 页面(跟随重定向之后)返回了错误状态码,无法被正常收录。问题里会写出具体的状态码。

怎么修: 如果页面应该存在,修复服务器错误或恢复页面;如果是有意删除的,重定向到替代页面,或者删掉指向它的链接并把它移出 sitemap。

官方说明: developers.google.com/crawling/docs/troubleshooting/http-status-codes

性能

规则严重程度维度检查方式
最大内容绘制(LCP)超过 2.5 秒警告性能性能测试
交互到下一次绘制(INP)超过 200 毫秒警告性能性能测试
累积布局偏移(CLS)超过 0.1警告性能性能测试
首字节时间(TTFB)超过 800 毫秒警告性能性能测试
Lighthouse 性能分低于 50警告性能性能测试
LCP 图片没有被优先加载警告性能性能测试

最大内容绘制(LCP)超过 2.5 秒

严重程度: 警告 · 维度: 性能 · 规则 ID: cwv-lcp-poor · 检查方式: 性能测试 · 工作量: 大

含义: 移动端的 LCP(主要内容出现所需的时间)超过 2.5 秒。页面有足够真实流量时用 Chrome 真实用户数据,否则用实验室测量值。

怎么修: 先找到 Lighthouse 认定的 LCP 元素,看时间花在哪一段。如果是文字:去掉阻塞渲染的 CSS 和 JavaScript,预加载网页字体并设置 font-display,在服务端渲染出来。如果是图片:让它优先加载(fetchpriority="high"、不懒加载、出现在初始 HTML 里),并用新格式和合适的尺寸。服务器响应慢会同时拖慢这两种情况。

官方说明: web.dev/articles/lcp

交互到下一次绘制(INP)超过 200 毫秒

严重程度: 警告 · 维度: 性能 · 规则 ID: cwv-inp-poor · 检查方式: 性能测试 · 工作量: 大

含义: 移动端的 INP(页面对点击、触摸的响应速度)超过 200 毫秒。这一项只基于真实用户数据,所以只会出现在 Chrome 流量足够的页面上。

怎么修: 拆分耗时长的 JavaScript 任务,延后加载非必需的脚本,精简或延迟第三方脚本。

官方说明: web.dev/articles/inp

累积布局偏移(CLS)超过 0.1

严重程度: 警告 · 维度: 性能 · 规则 ID: cwv-cls-poor · 检查方式: 性能测试 · 工作量: 中

含义: 移动端的 CLS(页面加载过程中内容跳动的程度)超过 0.1。

怎么修: 给图片和嵌入内容设置 width 和 height,为广告和横幅预留位置,不要在已显示的内容上方插入新内容。

官方说明: web.dev/articles/cls

首字节时间(TTFB)超过 800 毫秒

严重程度: 警告 · 维度: 性能 · 规则 ID: cwv-ttfb-slow · 检查方式: 性能测试 · 工作量: 大

含义: TTFB(服务器开始返回内容所需的时间)超过 800 毫秒,页面上的其他一切都要等它。

怎么修: 用 CDN 在边缘缓存页面,提升服务器或主机性能,开启压缩,并避免页面前的多余重定向。

官方说明: web.dev/articles/ttfb

Lighthouse 性能分低于 50

严重程度: 警告 · 维度: 性能 · 规则 ID: lighthouse-perf-low · 检查方式: 性能测试 · 工作量: 大

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: 页面在 Google PageSpeed Insights 里的移动端 Lighthouse 性能分低于 50,通常意味着同时存在多个瓶颈。

怎么修: 先处理同一页面上报告的具体性能问题;该 URL 的 PageSpeed Insights 报告里还会列出更多优化建议。

官方说明: developer.chrome.com/docs/lighthouse/performance/performance-scoring

LCP 图片没有被优先加载

严重程度: 警告 · 维度: 性能 · 规则 ID: lcp-image-no-fetchpriority · 检查方式: 性能测试 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: PageSpeed Insights 发现页面最大的元素是一张图片,但浏览器没有优先去下载它。如果是 <img>,就是没有 fetchpriority="high"、被懒加载了,或者要等脚本运行后才出现。如果是 CSS 背景图,这个元素不是 <img>,给它加 fetchpriority 没有用。改掉请求方式通常能让 LCP 快 200–500 毫秒。

怎么修: 如果元素是 <img>,给它加上 fetchpriority="high",去掉 loading="lazy",并让它出现在服务器返回的 HTML 里。如果是别的元素上的 CSS 背景图,不要给这个元素加 fetchpriority:用 <link rel="preload" as="image" fetchpriority="high"> 预加载这张图,或者把它渲染成 <img>。

官方说明: web.dev/articles/fetch-priority

多语言

规则严重程度维度检查方式
hreflang 缺少自引用警告页面基础规则检查
缺少 hreflang x-default提示页面基础规则检查

hreflang 缺少自引用

严重程度: 警告 · 维度: 页面基础 · 规则 ID: hreflang-self-referential-missing · 检查方式: 规则检查 · 工作量: 中

含义: 页面的 hreflang 列出了其他语言版本,却没有包含它自己。每组 hreflang 都必须包含页面自身的 URL。

怎么修: 为页面自己的语言加一条 hreflang,指向它自己的 URL。

官方说明: developers.google.com/search/docs/specialty/international/localized-versions

缺少 hreflang x-default

严重程度: 提示 · 维度: 页面基础 · 规则 ID: hreflang-x-default-missing · 检查方式: 规则检查 · 工作量: 小

含义: hreflang 里没有 x-default,也就是给语言不在支持范围内的访客准备的默认版本。

怎么修: 加一条 hreflang="x-default",指向语言选择页或默认语言版本。

官方说明: developers.google.com/search/docs/specialty/international/localized-versions

无障碍

规则严重程度维度检查方式
<html> 缺少 lang 属性警告页面基础规则检查

<html> 缺少 lang 属性

严重程度: 警告 · 维度: 页面基础 · 规则 ID: missing-html-lang · 检查方式: 规则检查 · 工作量: 小

业内惯例,不是 Google 的硬性要求,单靠它不决定排名。

含义: <html> 元素没有 lang 属性,读屏软件和翻译工具无法判断页面的语言。

怎么修: 设置为页面的语言代码,例如 <html lang="zh-CN">、lang="en" 或 lang="de"。

官方说明: developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/lang

本页目录

规则如何影响健康分规则由谁来检查Meta 标签缺少 <title> 标签标题过短标题过长缺少 meta description标题和其他页面重复描述和其他页面重复meta description 过短meta description 过长缺少 canonical 链接canonical 指向了另一个 URL缺少 viewport meta登录页或应用页可以被索引页面设置了 noindex页面设置了 nofollow标题和页面内容对不上缺少 Open Graph 标签缺少 Open Graph 图片标题层级缺少 H1有多个 H1标题层级跳级内容与站内另一页争抢同一个搜索已下架或缺货的页面仍可被收录没有实际内容的占位页访客不知道下一步该做什么内容单薄字数过少疑似关键词堆砌目标搜索词不在标题里目标搜索词不在 H1 里目标搜索词不在描述里目标搜索词不在正文开头有人搜的词不在标题里目标词不在标题开头站点没有 llms.txtllms.txt 不是一份可用的页面地图llms.txt 链到了打不开的页面页面不利于被 AI 引用缺少作者署名缺少发布日期图片图片缺少 alt 文本图片未懒加载链接没有内链内链太少外链过多站内链接没有用目标搜索词焦点页的站内链接太少站内链接指向打不开的页面站点地图里没有被任何页面链接的页面结构化数据没有 JSON-LD 结构化数据商品页缺少商品结构化数据(Product)结构化数据无效缺少 Organization schema缺少面包屑 schema技术错误页面以正常页面返回(软 404)不执行 JavaScript 的爬虫看到的是空页面只为搜索引擎预渲染,AI 爬虫看到的是空页面页面使用 HTTP 而非 HTTPSrobots.txt 不是有效的规则文件robots.txt 没有声明 sitemaprobots.txt 里只有注释robots.txt 屏蔽了 AI 搜索的爬虫robots.txt 拦了 AI 爬虫站点要求 AI 回答引擎不要使用这些页面没有找到站点地图站点地图漏了可索引的页面sitemap 不是有效的 XMLsitemap 里列了不该收录的网址canonical 指向会跳转或打不开的地址独立手机站缺少 rel="alternate" 标注网站的其他地址没有永久跳转到主地址缺少 favicon页面返回非 200 状态码性能最大内容绘制(LCP)超过 2.5 秒交互到下一次绘制(INP)超过 200 毫秒累积布局偏移(CLS)超过 0.1首字节时间(TTFB)超过 800 毫秒Lighthouse 性能分低于 50LCP 图片没有被优先加载多语言hreflang 缺少自引用缺少 hreflang x-default无障碍<html> 缺少 lang 属性