要避免的 14 个常见 WordPress Robots.txt 错误

已发表: 2025-01-14

Robots.txt 是一个功能强大的服务器文件,它告诉搜索爬虫和其他机器人如何在您的 WordPress 网站上表现。它可以极大地影响您网站的搜索引擎优化 (SEO),无论是积极还是消极。

因此,您应该知道这个文件是什么以及如何使用它。否则,您可能会损坏您的网站,或者至少会丧失其部分潜力。

为了帮助您避免这种情况,在这篇文章中,我们将详细介绍 robots.txt 文件。我们将定义它是什么、它的用途、如何查找和管理您的文件以及它应该包含什么。之后,我们将回顾人们在使用 WordPress robots.txt 时最常见的错误、避免这些错误的方法,以及发现错误时如何恢复。

什么是 WordPress robots.txt?

如前所述,robots.txt 是一个服务器配置文件。您通常可以在服务器的根文件夹中找到它。

网站根文件夹中的Robots.txt
网站根文件夹中的Robots.txt

当你打开它时,内容看起来像这样:

Robots.txt 指令示例
Robots.txt 指令示例

这些代码片段是指令,告诉访问您网站的机器人如何在访问您网站时进行行为,特别是访问您网站的哪些部分,哪些部分不可以。

你问什么机器人?

最常见的例子是来自搜索引擎的自动爬虫寻找网页进行索引或更新,还有来自人工智能模型和其他自动化工具的机器人。

您可以使用此文件给出什么指令?

Robots.txt 基本上知道四个关键指令:

  • 用户代理– 定义谁,即遵循的规则适用于哪一组或单个机器人。
  • 禁止– 声明禁止用户代理访问的目录、文件或资源。
  • 允许– 可用于设置例外,例如允许访问禁止目录中的单个文件夹或资源。
  • 站点地图– 将机器人指向网站站点地图的 URL 位置。

只有User-agentDisallow是文件完成其工作所必需的;其他两个指令是可选的。例如,您可以通过以下方式阻止任何机器人访问您的网站:

 User-agent: * Disallow: /

星号表示以下规则适用于所有用户代理。 Disallow后的斜杠表示该站点上的所有目录均不受限制。这是您通常在开发网站上找到的 robots.txt 文件,该文件不应被搜索引擎索引。

但是,您也可以为单个机器人设置规则:

 User-agent: Googlebot Allow: /private/resources/

需要注意的是,robots.txt 不具有约束力。只有来自遵守机器人排除协议的组织的机器人才会遵守其指示。恶意机器人(例如那些在您的网站上寻找安全漏洞的机器人)可以并且将会忽略它们,您需要对它们采取额外的措施。

即使遵守该标准的组织也会忽略一些指令。我们将在下面进一步讨论相关示例。

为什么 robots.txt 很重要?

您的 WordPress 网站不强制要求有 robots.txt 文件。没有它您的网站也能正常运行,并且搜索引擎不会因为没有它而惩罚您。但是,包括一个可以让您:

  • 将内容排除在搜索结果之外,例如登录页面或某些媒体文件。
  • 防止搜索爬虫将爬网预算浪费在网站的不重要部分,可能会忽略您希望它们建立索引的页面。
  • 将搜索引擎指向您的站点地图,以便他们可以更轻松地探索您网站的其余部分。
  • 通过阻止浪费的机器人来保护服务器资源。

所有这些都有助于改善您的网站,尤其是您的 SEO,这就是为什么了解如何使用 robots.txt 很重要。

如何查找、编辑和创建 WordPress robots.txt

如前所述,robots.txt 通常位于服务器上网站的根文件夹中。您可以使用 FileZilla 等 FTP 客户端访问它,并使用任何文本编辑器对其进行编辑。

通过 FTP 编辑 robots.txt
通过 FTP 编辑 robots.txt

如果您没有,可以简单地创建一个空文本文件,将其命名为“robots.txt”,用指令填充它,然后上传它。

至少查看文件的另一种方法是将/robots.txt添加到您的域,例如 https://wp-rocket.me/robots.txt。

通过浏览器查看robots.txt文件
通过浏览器查看robots.txt文件

此外,还有多种方法可以从 WordPress 后端访问该文件。许多 SEO 插件允许您从管理界面查看并经常对其进行更改。

使用 Rank Math SEO 插件编辑 robots.txt
使用 Rank Math SEO 插件编辑 robots.txt

或者,您也可以使用 WPCode 等插件。

一个好的 WordPress robots.txt 文件是什么样的?

对于网站文件中应包含哪些指令,没有一刀切的答案;这取决于你的设置。下面是一个对许多 WordPress 网站都有意义的示例:

 User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Sitemap: https://yourwebsite.com/sitemap.xml

这个例子实现了几个结果:

  1. 它阻止对管理区域的访问
  2. 允许访问基本的管理功能
  3. 提供站点地图位置

此设置在安全性、SEO 性能和高效爬行之间取得了平衡。

不要犯这 14 个 WordPress robots.txt 错误

如果您的目标是为自己的网站设置和优化 robots.txt,请务必避免以下错误。

1.忽略内部WordPress robots.txt

即使您网站的根目录中没有“物理”robots.txt 文件,WordPress 也会附带其自己的虚拟文件。如果您发现搜索引擎没有为您的网站编制索引,请记住这一点尤其重要。

在这种情况下,您很有可能在“设置”>“阅读”下启用了阻止他们这样做的选项。

WordPress 阅读设置阻止搜索爬虫
WordPress 阅读设置阻止搜索爬虫

这会放置一条指令,将所有搜索爬虫排除在虚拟 robots.txt 中。要禁用它,请取消选中该框并将其保存在底部。

2. 放置位置错误

机器人(尤其是搜索爬虫)仅在一个位置(您网站的根目录)查找您的 robots.txt 文件。如果您将其放在其他位置(例如文件夹中),他们将找不到它并忽略它。

当您通过 FTP 访问服务器时,您的根目录应该是您登陆的位置,除非您已将 WordPress 放置在子目录中。如果您看到wp-adminwp-contentwp-includes文件夹,那么您来对地方了。

WordPress根目录
WordPress根目录

3. 包括过时的标记

除了上面提到的指令之外,您还可能在旧网站的 robots.txt 文件中找到另外两个指令:

  • Noindex – 用于指定搜索引擎不应在您的网站上建立索引的 URL。
  • 爬网延迟– 旨在限制爬网程序的指令,以便它们不会使 Web 服务器资源超载。

这两个指令现在都被忽略了,至少谷歌是这样。至少 Bing 仍然尊重爬行延迟。

Bing 文档提到抓取延迟指令
Bing 文档提到抓取延迟指令

大多数情况下,最好不要使用这些指令。这有助于保持文件精简并降低出错风险。

提示:如果您的目标是阻止搜索引擎对某些页面建立索引,请改用noindex元标记。您可以使用 SEO 插件在每个页面上实现它。

在排名数学设置中实现 noindex 元标记的选项
在排名数学设置中实现 noindex 元标记的选项

如果您通过 robots.txt 阻止页面,抓取工具将无法到达看到noindex标记的部分。这样,他们可能仍然会索引您的页面,但没有其内容,这更糟糕。

4. 封锁重要资源

人们犯的错误之一是使用 robots.txt 阻止对其 WordPress 网站上的所有样式表(CSS 文件)和脚本(JavaScript 文件)的访问,以保留抓取预算。

然而,这不是一个好主意。搜索引擎机器人会像访问者一样呈现页面以“查看”它们。这有助于他们理解内容,以便他们可以相应地对其进行索引。

通过阻止这些资源,您可能会给搜索引擎留下对您的页面的错误印象,可能导致它们无法正确索引或损害其排名。

如果您认为 CSS 和 JavaScript 文件可能会影响网站的性能,那么最好对它们进行优化,使其能够快速加载,无论是对于机器人还是普通访问者来说。您可以通过缩小代码和压缩网站文件来实现这一点,以便它们传输得更快。此外,还可以通过消除未使用的代码和推迟渲染阻塞资源来优化其交付。

提示:您可以使用 WP Rocket 等性能插件来简化此过程。其用户友好的界面允许您通过选中“文件优化”菜单中的几个框来优化文件传输。

WP Rocket 文件优化选项
WP Rocket 文件优化选项

WP Rocket 还配备了额外的功能来提高网站性能,包括:

  • 缓存,具有专用的移动缓存
  • 图片和视频的延迟加载
  • 预加载缓存、链接、外部文件和字体
  • 数据库优化

此外,该插件会自动执行许多优化步骤。示例包括浏览器和服务器缓存、GZIP 压缩以及优化首屏图像以改进 LCP。这样,只需打开 WP Rocket,您的网站就会变得更快。

该插件还提供 14 天退款保证,因此您可以无风险地测试它。

5. 未能更新您的开发 robots.txt

在构建网站时,开发人员通常会包含一个 robots.txt 文件,该文件禁止所有机器人访问该网站。这是有道理的;您最不想看到的就是您未完成的网站出现在搜索结果中。

搜索结果中内容不完整的示例
搜索结果中内容不完整的示例

仅当您不小心将此文件传输到生产服务器并阻止搜索引擎对您的实时网站建立索引时,才会出现问题。如果您的内容拒绝出现在搜索结果中,请务必检查此项。

6. 不包含站点地图的链接

从 robots.txt 链接到站点地图可为搜索引擎抓取工具提供所有内容的列表。这增加了他们索引更多内容的机会,而不仅仅是他们登陆的当前页面。

只需一行:

 Sitemap: https://yourwebsite.com/sitemap.xml

是的,您还可以直接在 Google Search Console 等工具中提交站点地图。

在 Google Search Console 中提交站点地图
在 Google Search Console 中提交站点地图

但是,将其包含在您的 robots.txt 文件中仍然有用,特别是对于您不使用其网站管理员工具的搜索引擎。

7. 使用冲突的规则

创建 robots.txt 文件时的一个常见错误是添加相互矛盾的规则,例如:

 User-agent: * Disallow: /blog/ Allow: /blog/

上述指令让搜索引擎不清楚是否应该抓取/blog/目录。这会导致不可预测的结果,并可能损害您的搜索引擎优化。

想知道还有哪些因素会损害您网站的搜索排名以及如何避免?在我们的 SEO 错误指南中了解这一点。

为避免冲突,请遵循以下最佳实践:

  • 首先使用具体规则——将更具体的规则放在更广泛的规则之前。
  • 避免冗余– 不要在同一路径中包含相反的指令。
  • 测试您的 robots.txt 文件– 使用工具确认规则的行为符合预期。下面详细介绍一下。

8.尝试使用robots.txt隐藏敏感内容

如前所述,robots.txt 并不是一个将内容排除在搜索结果之外的工具。事实上,由于该文件是可公开访问的,因此使用它来阻止敏感内容可能会无意中泄露该内容的确切位置。

使用 robots.txt 阻止敏感内容会将其暴露给旁观者
使用 robots.txt 阻止敏感内容会将其暴露给旁观者

提示:使用noindex元标记将内容排除在搜索结果之外。此外,使用密码保护站点的敏感区域,以确保它们免受机器人和未经授权用户的攻击。

9. 通配符使用不当

通配符允许您在指令中包含大量路径或文件。我们之前已经见过一个符号,即 * 符号。它的意思是“每个实例”,最常用于设置适用于所有用户代理的规则。

另一个通配符是 $,它将规则应用于 URL 的末尾部分。例如,如果您想阻止爬虫访问您网站上的所有 PDF 文件,您可以使用它:

 Disallow: /*.pdf$

虽然通配符很有用,但它们可能会产生广泛的影响。小心使用它们,并始终测试您的 robots.txt 文件以确保您没有犯任何错误。

10. 混淆绝对 URL 和相对 URL

下面是绝对 URL 和相对 URL 之间的区别:

  • 绝对 URL – https://yourwebsite.com/private/
  • 相对 URL – /private/

建议您在 robots.txt 指令中使用相对 URL,例如:

 Disallow: /private/

绝对 URL 可能会导致机器人可能忽略或误解该指令的问题。唯一的例外是站点地图的路径,它必须是绝对 URL。

11. 忽略大小写

Robots.txt 指令区分大小写。这意味着以下两个指令不可互换:

 Disallow: /Private/ Disallow: /private/

如果您发现 robots.txt 文件的行为不符合预期,请检查是否存在大小写错误的问题。

12. 错误地使用尾部斜杠

尾部斜杠是 URL 末尾的斜杠:

  • 没有尾部斜杠:/directory
  • 带有尾部斜杠:/directory/

在 robots.txt 中,它决定允许和禁止哪些站点资源。这是一个例子:

 Disallow: /private/

上述规则阻止爬虫访问您网站上的“私有”目录及其中的所有内容。另一方面,假设您省略了尾部斜杠,如下所示:

 Disallow: /private

在这种情况下,该规则还会阻止您网站上以“private”开头的其他实例,例如:

  • https://yourwebsite.com/private.html
  • https://yourwebsite.com/privateer

因此,准确非常重要。如有疑问,请测试您的文件。

13. 子域缺少 robots.txt

您网站上的每个子域(例如 dev.yourwebsite.com)都需要自己的 robots.txt 文件,因为搜索引擎将它们视为单独的网络实体。如果没有适当的文件,您可能会面临爬网程序对您想要隐藏的部分网站建立索引的风险。

例如,如果您的开发版本位于名为“dev”的文件夹中并使用子域,请确保它有一个专用的 robots.txt 文件来阻止搜索爬虫。

对子域使用单独的 robots.txt 文件
对子域使用单独的 robots.txt 文件

14. 不测试您的 robots.txt 文件

配置 WordPress robots.txt 文件时最大的错误之一是未能对其进行测试,尤其是在进行更改之后。

正如我们所见,即使是语法或逻辑上的小错误也可能导致严重的 SEO 问题。因此,请务必测试您的 robots.txt 文件。

您可以在 Google Search Console 中的“设置”> robots.txt下查看文件的任何问题。

在 Google Search Console 中测试 robots.txt
在 Google Search Console 中测试 robots.txt

另一种方法是使用 Screaming Frog 等工具来模拟爬行行为。此外,在将新规则应用到实际站点之前,请使用暂存环境来验证新规则的影响。

如何从 robots.txt 错误中恢复

robots.txt 文件中的错误很容易犯,但幸运的是,一旦发现它们通常也很容易修复。

首先通过测试工具运行更新的 robots.txt 文件。然后,如果页面之前被 robots.txt 指令阻止,请将其手动输入 Google Search Console 或 Bing 网站管理员工具以请求索引。

手动请求关键页面的索引
手动请求关键页面的索引

此外,重新提交最新版本的站点地图。

之后,就只剩下一场等待的游戏了。搜索引擎将重新访问您的网站,并希望尽快恢复您在排名中的位置。

掌控您的 WordPress robots.txt

对于 robots.txt 文件,预防胜于治疗。特别是在大型网站上,错误的文件可能会对排名、流量和收入造成严重破坏。

因此,对网站 robots.txt 的任何更改都应谨慎进行并进行广泛的测试。意识到自己可能犯的错误是预防错误的第一步。

当你确实犯了错误时,尽量不要惊慌。诊断问题所在,更正所有错误,然后重新提交站点地图以重新抓取您的网站。

最后,确保性能不是搜索引擎无法正确抓取您网站的原因。立即尝试 WP Rocket,让您的网站立即变得更快!