我之前的一篇教程介绍了在 wordpress 中理解和配置 .htaccess 文件的基础知识。robots.txt文件是一个特殊的文件,就像. htaccess文件。但是,它有一个非常不同的目的。正如您可能从名称中猜到的那样,robots.txt文件适用于机器人。例如,来自 Google 和 Bing 等搜索引擎的机器人。
本教程将帮助您了解robots.txt文件的基础知识以及如何为 WordPress 配置它。让我们开始吧。
robots.txt 文件的用途
正如我之前提到的,robots.txt文件适用于 scr api ng 机器人。这些主要是搜索引擎,但也可以包括其他机器人。
您可能已经知道,搜索引擎通过抓取来找到您网站上的所有页面和内容——通过页面本身或站点地图中的链接从一个页面移动到另一个页面。这使他们能够从您的网站收集数据。
但是,您不希望机器人抓取网站上的某些页面。robots.txt文件让您可以选择指定允许他们访问哪些页面以及不应该抓取哪些页面。
请注意,您在robots.txt文件中提供的说明不具有约束力。这意味着,尽管像 Google 搜索爬虫这样的知名机器人会尊重robots.txt中的限制,但有些机器人可能会忽略您在其中放置的任何内容并抓取您的网站。其他人甚至可能使用它来查找您特别不想抓取的链接,然后抓取它们。
基本上,不建议依靠此文件来防止恶意机器人抓取您的网站。它更像是优秀机器人遵循的指南。
我应该把 robots.txt 文件放在哪里?
robots.txt文件应该位于您网站的根目录中。这与.htaccess文件不同,后者可以放在不同的目录中。robots.txt文件仅在其位于根目录且名称为robots.txt时才有效。
如果该文件不存在,您可以手动创建此文件并将其放置在您的 Web 根目录中。
了解robots.txt文件的内容
robots.txt文件将告诉不同的机器人它们应该和不应该在您的网站上抓取什么。它使用一堆命令来做到这一点。您将经常使用的三个此类命令是User-Agent、Allow和Disallow。
该User-Agent命令将识别您要应用当前命令集Allow和Disallow命令的机器人。您可以将其设置*为针对所有机器人。Googlebot您还可以通过指定和之类的值来缩小机器人列表的范围Bingbot。这些分别是谷歌和必应搜索引擎的一些最常见的爬虫机器人。您可能想要专门针对不同公司的许多其他公司。
该Allow命令使您可以选择在您的网站上指定机器人可以自由访问的网页或目录。请记住,您指定的任何值都需要与根目录相关。
Disallow另一方面,该命令告诉机器人它们不应该抓取列出的目录或网页。
您只能为每个Allow或Disallow命令提供一个目录或网页。但是,您可以在同一组中使用多个Allow和命令。Disallow这是一个例子:
User-Agent: * Disallow: /uploads/ Disallow: /includes/ Allow: /uploads/images/ Disallow: /login.php
在上面的例子中,我们告诉机器人他们不应该抓取上传目录的内容。但是,我们使用Allow命令告诉他们仍然抓取在uploads中找到的图像子目录。
任何机器人都会假定它允许抓取您没有明确禁止的所有页面。这意味着您无需一次允许抓取一个目录。
您还应该记住,您提供的值区分大小写。机器人将把uploads和UPLOADS视为不同的目录。
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中提供的指南,它们仍然可以使用它来准确找出您不希望它们抓取的内容。如果您将此文件用作安全措施,这可能会造成更大的损害。
此文件也无助于阻止您的网页出现在搜索结果中。您尝试隐藏的网页仍会显示在搜索结果中,但其描述只会显示No information is available for this page。当您使用robots.txt文件阻止 Google 读取某个页面,但该页面仍从其他地方链接到时,就会发生这种情况。
如果您想阻止页面出现在搜索结果中,Google 建议使用noindexHTTP响应标头中的选项或向noindexhtml 文件添加元标记。
如果您使用 WordPress,有一个简单的方法可以做到这一点。只需转到WordPress 管理仪表板中的设置 > 阅读,然后取消选中搜索引擎可见性选项。
从搜索结果中删除网页需要您采取一些其他操作,例如从网站中删除页面本身、对其进行密码保护或使用noindex机器人选项。
与robots.txt文件类似,只有行为良好且值得信赖的机器人才会尊重该noindex选项,因此如果您想保护您网站上的敏感信息,则需要另一种方式。例如,您可以使用密码保护该页面,或将其从您的网站中完全删除。
最后的想法
我们这篇文章的目的是向您介绍robots.txt文件的基础知识,以便您了解该文件的作用。之后,我们讨论了robots.txt相对于 WordPress 的最佳配置。我们还看到了如何noindex使用 WordPress 管理员为页面设置选项。
最后,我想再重复一次,您不应该使用robots.txt来阻止访问网站上的敏感内容。这通常会对恶意机器人产生相反的效果!