了解和配置WordPress robots.txt文件教程

422 阅读7分钟

我以前的一个教程涵盖了理解和配置WordPress中的.htaccess文件的基本知识。robots.txt 文件是一个特殊的文件,就像 .htaccess 文件一样。然而,它有一个非常不同的目的。正如你可能已经从名字中猜到的,robot.txt文件是为机器人准备的。例如,来自谷歌和必应等搜索引擎的机器人。

本教程将帮助你了解Robots.txt文件的基本知识,以及如何为WordPress配置它。让我们开始吧。

robots.txt文件的目的

正如我前面提到的,robots.txt文件是为搜刮机器人设计的。这些主要是搜索引擎,但也可以包括其他机器人。

你可能已经知道,搜索引擎通过爬行找到你网站上的所有页面和内容--通过页面本身或网站地图上的链接从一个页面移动到另一个页面。这使他们能够从你的网站收集数据。

然而,网站上可能有一些页面是你不希望机器人抓取的。robots.txt文件让你可以选择指定哪些页面允许它们访问,哪些页面它们不应该爬行。

请注意,你在robots.txt文件中提供的指示没有约束力。这意味着,尽管像谷歌搜索爬虫这样有信誉的机器人会尊重robots.txt中的限制,但一些机器人可能会忽略你放在那里的任何内容,无论如何都会抓取你的网站。其他人甚至可能利用它来寻找你特别不希望抓取的链接,然后抓取它们。

基本上,依靠这个文件来防止恶意的机器人抓取你的网站是不可取的。它更像是一个好的机器人所遵循的指南。

我应该把我的 robots.txt 文件放在哪里?

robots.txt文件应该放在你网站的根目录中。这与**.htaccess文件不同,后者可以放在不同的目录中。robots.txt文件只有在根目录下并且确切命名为robots.txt**时才能发挥作用。

你可以手动创建这个文件,并将其放在你的网站根目录内,如果它还不存在的话。

了解robots.txt文件的内容

robots.txt文件将告诉不同的机器人它们应该和不应该在你的网站上抓取什么。它使用了一系列的命令来完成这一工作。你会经常使用的三个这样的命令是:User-AgentAllowDisallow

User-Agent 命令将确定你想应用当前的AllowDisallow 命令集的机器人。你可以把它设置为* ,以针对所有机器人。你也可以通过指定像GooglebotBingbot 这样的值来缩小机器人的名单。这些分别是谷歌和必应搜索引擎最常见的一些爬虫机器人。还有许多来自不同公司的其他机器人,你可能想专门针对它们。

Allow 命令让你选择指定机器人可以自由访问的你的网站上的网页或目录。请记住,你所指定的任何数值都需要与根目录有关。

另一方面,Disallow 命令告诉机器人,它们不应该抓取列出的目录或网页。

你只允许为每个AllowDisallow 命令提供一个目录或网页。但是,你可以在同一组中使用多个AllowDisallow 命令。下面是一个例子。

User-Agent: *
Disallow: /uploads/
Disallow: /includes/
Allow: /uploads/images/
Disallow: /login.php

在上面的例子中,我们告诉机器人,它们不应该抓取uploads目录的内容。然而,我们使用Allow 命令,告诉它们仍然可以抓取uploads目录下的images子目录。

任何机器人都会认为它被允许抓取您没有明确禁止的所有页面。这意味着,您没有必要一次次地允许抓取目录。

你还应该记住,你提供的值是区分大小写的。机器人会把uploadsUPLOADS 当作是指不同的目录。

robots.txt文件还可以包含指向你网站上一个或多个网站地图的链接。这使机器人更容易找到你网站上所有你希望它们抓取的帖子和网页。

配置WordPress中的robots.txt文件

当你创建robots.txt文件来配合你的WordPress网站时,一定要小心。这是因为小的错误或疏忽会妨碍搜索引擎对你网站内容的抓取。如果搜索引擎甚至无法抓取,你在SEO方面所做的所有工作都将是徒劳的。

一个好的经验法则是尽可能地不允许。一种方法是在你的robots.txt文件中加入以下内容。这基本上告诉所有的机器人,他们可以自由地抓取网站上的所有内容。

User-agent: *

另一种方法是使用以下版本,告诉它们避免抓取wp-admin目录,但仍然抓取网站上的所有其他内容。在这个例子中,我们还提供了一个网站地图的链接,但这完全是可选的。

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

重要的是,不要过于积极地使用Disallow 命令,阻止对可能影响前端内容外观的CSS或JavaScript文件的访问。现在,搜索引擎在确定内容的排名之前,也会查看网页的许多其他方面,如网页的外观或布局的用户友好性。阻止他们访问CSS或JavaScript文件,迟早会造成问题。

什么时候不应该使用 robots.txt?

正如我之前提到的,robots.txt文件不是用来执行任何规则的。你在文件中指定的规则只是用来为优秀和顺从的机器人提供指导。这基本上意味着,你不应该使用这个文件来限制对你网站上某些内容的访问。如果你将robots.txt文件用于此目的,你可能面临两种常见的情况。

即使恶意机器人不会遵循robots.txt中提供的准则,它们仍然可以利用它来弄清楚你不希望它们抓取的内容。如果你使用这个文件作为安全措施,这可能会造成更大的损害。

这个文件对于防止你的网页出现在搜索结果中也没有帮助。你试图隐藏的网页仍然会出现在搜索结果中,但它的描述会简单地说没有这个网页的信息。当你用robots.txt文件阻止谷歌阅读某个页面时,就会发生这种情况,但该页面仍然被从其他地方链接到。

如果你想阻止一个页面出现在搜索结果中,谷歌建议在HTTP响应头中使用noindex 选项,或者在HTML文件中添加一个noindex 元标签

如果你使用WordPress,有一个简单的方法可以做到这一点。只要在WordPress管理仪表板进入设置>阅读,然后取消勾选搜索引擎可见性选项。

Making Website Crawlable for Search Engines

从搜索结果中删除一个网页需要你采取一些其他的行动,比如从网站上删除网页本身,用密码保护它,或者对机器人使用noindex 选项。

robots.txt文件类似,只有行为良好、值得信赖的机器人才会尊重noindex 选项,所以如果你想保护你网站上的敏感信息,你需要用另一种方式来实现。例如,你可以用密码保护该页面,或将其从你的网站上完全删除。

最后的思考

我们写这篇文章的目的是向你介绍robots.txt文件的基本知识,以便你能了解这个文件的作用。之后,我们讨论了与WordPress有关的robots.txt的最佳配置。我们还看到了如何使用WordPress管理员为一个页面设置noindex 选项。

最后,我只想再重复一次,你不应该使用robots.txt来阻止对网站上敏感内容的访问。这通常会对恶意的机器人产生相反的效果!