robots.txt 无效

robots.txt 文件会告知搜索引擎可以抓取您网站上的哪些网页。无效的 robots.txt 配置可能会导致两种类型的问题:

  • 它可能会阻止搜索引擎抓取公开网页,从而导致您的内容在搜索结果中出现的频率降低。
  • 它可能会导致搜索引擎抓取您可能不希望显示在搜索结果中的网页。

Lighthouse robots.txt 审核如何失败

Lighthouse 标记了无效的 robots.txt 文件:

Lighthouse 审核显示 robots.txt 无效

展开报告中的robots.txt 无效审核项,了解您的 robots.txt 出了什么问题。

常见错误包括:

  • No user-agent specified
  • Pattern should either be empty, start with "/" or "*"
  • Unknown directive
  • Invalid sitemap URL
  • $ should only be used at the end of the pattern

Lighthouse 不会检查您的 robots.txt 文件是否位于正确的位置。该文件必须位于您的网域或子网域的根目录中,才能正常运行。

如何解决“robots.txt”的问题

确保 robots.txt 不会返回 HTTP 5XX 状态代码

如果您的服务器针对 robots.txt 返回服务器错误(HTTP 状态代码,代表 500),搜索引擎将不知道应抓取哪些网页。它们可能会停止抓取您的整个网站,这会导致新内容无法被编入索引。

如需检查 HTTP 状态代码,请在 Chrome 中打开 robots.txt,然后在 Chrome 开发者工具中查看请求

使 robots.txt 小于 500 KiB

如果文件大于 500 KiB,搜索引擎可能会在过程中停止处理 robots.txt。这可能会给搜索引擎带来混淆,进而导致系统无法正确抓取您的网站。

为了使 robots.txt 保持较小的规模,请减少在单独排除的网页上关注度,而将更多精力放在更宽泛的格式上。例如,如果您需要禁止抓取 PDF 文件,请勿禁止单个文件。而应使用 disallow: /*.pdf 禁止所有包含 .pdf 的网址。

修正所有格式错误

  • robots.txt 仅允许空行、注释和指令与“name: value”格式匹配。
  • 请确保 allowdisallow 值为空或者以 /* 开头。
  • 不要在值中间使用 $(例如 allow: /file$html)。

确保包含“user-agent”的值

用来告诉搜索引擎抓取工具应遵循哪些指令的用户代理名称。您必须为 user-agent 的每个实例提供一个值,以便搜索引擎知道是否遵循一组相关的指令。

要指定特定的搜索引擎抓取工具,请使用其已发布列表中的用户代理名称。(例如,请查看 Google 的抓取用户代理列表。)

使用 * 匹配所有不匹配的抓取工具。

错误做法
user-agent:
disallow: /downloads/

未定义用户代理。

正确做法
user-agent: *
disallow: /downloads/

user-agent: magicsearchbot
disallow: /uploads/

其中定义了常规用户代理和 magicsearchbot 用户代理。

请确保 user-agent 前面没有 allowdisallow 指令

用户代理名称定义 robots.txt 文件的各个部分。搜索引擎抓取工具会使用这些部分来确定要遵循的指令。如果您在第一个用户代理名称前添加一条指令,那么任何抓取工具都不会遵循该名称。

错误做法
# start of file
disallow: /downloads/

user-agent: magicsearchbot
allow: /

任何搜索引擎抓取工具都不会读取 disallow: /downloads 指令。

正确做法
# start of file
user-agent: *
disallow: /downloads/

禁止所有搜索引擎抓取 /downloads 文件夹。

搜索引擎抓取工具只会遵循用户代理名称最具体的部分中的指令。例如,如果您有针对 user-agent: *user-agent: Googlebot-Image 的指令,则 Googlebot 图片将仅遵循 user-agent: Googlebot-Image 部分中的指令。

sitemap 提供绝对网址

站点地图文件是让搜索引擎了解您网站上网页的好方法。站点地图文件通常包含您网站上的网址列表,以及有关上次更改时间的信息。

如果您选择在 robots.txt 中提交站点地图文件,请务必使用绝对网址

错误做法
sitemap: /sitemap-file.xml
正确做法
sitemap: https://example.com/sitemap-file.xml

资源