什么是Robots.txt文件?你如何创造一个?(初学者的指南)

什么是Robots.txt文件

您知道您可以完全控制谁抓取和索引您的站点,直到各个页面吗?

实现这一点的方法是通过一个名为Robots.txt的文件。

txt是一个简单的文本文件,它位于站点的根目录中。它告诉“机器人”(比如搜索引擎蜘蛛)在你的网站上抓取哪些页面,忽略哪些页面。

虽然不是必需的,但Robots.txt文件为您提供了大量控制谷歌和其他搜索引擎如何查看您的站点的功能。

如果使用得当,这可以改善爬行,甚至影响SEO。

但是如何创建一个有效的Robots.txt文件呢?一旦创建,如何使用它?在使用它时应该避免哪些错误?

在这篇文章中,我将分享关于Robots.txt文件以及如何在您的博客上使用它的所有信息。

就让我们一探究竟吧:

什么是Robots.txt文件?

在互联网的早期,程序员和工程师创造了“机器人”或“蜘蛛”来抓取和索引网页。这些机器人也被称为“用户代理”。

有时,这些机器人会进入站点所有者不想被索引的页面。例如,一个在建网站或私人网站。

为了解决这个问题,创造了世界上第一个搜索引擎(Aliweb)的荷兰工程师Martijn Koster提出了一套每个机器人都必须遵守的标准。这些标准于1994年2月首次提出。

1994年6月30日,许多机器人作者和早期的网络先驱就这些标准达成了共识。

这些标准被采纳为“机器人排除协议”(REP)。

Robots.txt文件是该协议的一个实现。

REP定义了一组规则,每个合法的爬虫或蜘蛛都必须遵守。如果robots .txt命令机器人不要索引网页,那么所有合法的机器人——从谷歌机器人到MSNbot——都必须遵守指令。

注意:可以找到合法爬虫程序的列表在这里

请记住,一些流氓机器人——恶意软件、间谍软件、电子邮件收割机等——可能不遵循这些协议。这就是为什么您可能会在通过Robots.txt屏蔽的页面上看到bot流量。

也有一些机器人不遵循REP标准,不用于任何可疑的事情。

你可以通过访问这个url看到任何网站的robots.txt:

http:// [website_domain] / robots . txt

例如,这是Facebook的robots . txt文件:

Facebook Robot.txt文件

这里是谷歌的robots . txt文件:

谷歌robots . txt文件

使用robots . txt

Robots.txt不是网站的必备文档。没有这个文件,您的站点也可以很好地排名和发展。

然而,使用Robots.txt确实有一些好处:

  • 阻止机器人爬私人文件夹-尽管不完美,禁止机器人抓取私人文件夹将使它们更难被索引-至少是合法的机器人(如搜索引擎蜘蛛)。
  • 控制资源使用-每当一个机器人爬上你的网站,它就会耗尽你的带宽和服务器资源——这些资源应该花在真正的访问者身上。对于拥有大量内容的网站来说,这可能会增加成本,并给真正的访问者带来糟糕的体验。您可以使用Robots.txt阻止对脚本、不重要的图像等的访问,以节省资源。
  • 〇优先考虑重要的页面您希望搜索引擎蜘蛛抓取站点上的重要页面(如内容页面),而不是浪费资源挖掘无用的页面(如搜索查询的结果)。通过屏蔽这些无用的页面,您可以优先考虑机器人关注的页面。

如何找到Robots.txt文件

顾名思义,Robots.txt是一个简单的文本文件。

此文件存储在您网站的根目录中。要找到它,只需打开FTP工具并导航到public_html下的网站目录。

robots . txt文件

这是一个很小的文本文件-我的只有100多字节。

要打开它,请使用任何文本编辑器,例如记事本。你可能会看到这样的东西:

打开的文件

您可能不会在站点的根目录中看到任何Robots.txt文件。在本例中,您必须自己创建Robots.txt文件。

方法如下:

如何创建一个Robot.txt文件

由于Robots.txt是一个基本的文本文件,创建它非常简单——只需打开文本编辑器并将一个空文件保存为robots . txt

创建的机器人

要将此文件上传到服务器,请使用您最喜欢的FTP工具(我建议使用有WinSCP)登入你的网页伺服器。然后打开public_html文件夹并打开站点的根目录。

根据您的web主机的配置方式,您的站点的根目录可能直接位于public_html文件夹中。或者,它可能是其中的一个文件夹。

打开站点的根目录后,只需将Robots.txt文件拖放到其中。

网站根目录

或者,您可以直接从FTP编辑器创建Robots.txt文件。

为此,打开您的网站根目录和右键单击->创建新文件。

在对话框中,输入“robots.txt”(不带引号),然后点击OK。

创建空文件

你应该在里面看到一个新的robots.txt文件:

新机器人

最后,确保为Robots.txt文件设置了正确的文件权限。您希望文件的所有者(您自己)能够读写该文件,而不是对其他人或公众。

您的Robots.txt文件应该显示“0644”作为权限代码。

如果没有,右键单击Robots.txt文件并选择“文件权限…”

文件权限

现在你就有了一个功能齐全的Robots.txt文件!

但是您可以对这个文件做什么呢?

接下来,我将向您展示一些常用的指示,您可以使用它们来控制对站点的访问。

如何使用Robots.txt

记住robots .txt本质上控制机器人如何与您的站点交互。

想要阻止搜索引擎访问您的整个网站?只需在Robots.txt中更改权限即可。

想阻止必应索引您的联系页面?你也可以这么做。

Robots.txt文件本身不会改善您的SEO,但您可以使用它来控制站点上的爬虫行为。

要添加或修改文件,只需在FTP编辑器中打开它并直接添加文本。保存文件后,更改将立即反映出来。

下面是一些可以在Robots.txt文件中使用的命令:

1.从你的网站上屏蔽所有的机器人

想要阻止所有机器人爬你的网站?

将以下代码添加到Robots.txt文件中:

用户代理:
不允许:/

这是它在实际文件中的样子:

阻止所有机器人从你的网站

简单地说,这个命令告诉每个用户代理(*)不要访问站点上的任何文件或文件夹。

以下是对这里发生的事情的完整解释:

  • 用户代理:* -星号(*)是一个“通配符”字符,适用于每一个对象(例如文件名或在本例中为bot)。如果你在电脑上搜索“*.txt”,它会显示所有扩展名为。txt的文件。在这里,星号表示您的命令适用于每一个用户代理。
  • 不允许:/ -" Disallow "是一个robots.txt命令,禁止机器人抓取文件夹。单正斜杠(/)表示将此命令应用到根目录。

注意:这是理想的,如果你运行任何类型的私人网站,如会员网站。但请注意,这将阻止所有合法的机器人,如谷歌爬行您的网站。谨慎使用。

2.阻止所有机器人访问特定文件夹

如果想阻止机器人抓取和索引特定文件夹,该怎么办?

例如,/images文件夹?

使用这个命令:

用户代理:*
不允许:/ [folder_name] /

如果你想阻止机器人访问/images文件夹,下面是命令:

阻止所有机器人访问特定文件夹

如果您有一个资源文件夹,不想让机器人爬虫程序请求淹没该文件夹,则此命令非常有用。这可能是一个文件夹,里面有不重要的脚本,过时的图像,等等。

注意:/images文件夹只是一个例子。我不是说你应该阻止机器人抓取那个文件夹。这取决于你想要达到什么目的。

搜索引擎通常不赞成网站管理员阻止他们的机器人抓取非图像文件夹,所以在使用这个命令时要小心。我列出了一些替代Robots.txt的方法,以阻止搜索引擎为下面的特定页面建立索引。

3.从你的网站上屏蔽特定的机器人

如果你想阻止一个特定的机器人——比如谷歌机器人——访问你的网站该怎么办?

下面是它的命令:

用户代理(机器人的名字):
不允许:/

例如,如果你想阻止谷歌机器人从你的网站,这是你应该使用的:

从你的网站上屏蔽特定的机器人

每个合法的机器人或用户代理都有一个特定的名称。例如,谷歌的蜘蛛被简单地称为“Googlebot”。微软同时运行“msnbot”和“bingbot”。雅虎的机器人名为“Yahoo!”吃的声音”。

要查找不同用户代理(如Googlebot、bingbot等)的确切名称,可以使用此功能页面

注意:上面的命令将从您的整个站点中阻止特定的bot。Googlebot只是一个例子。在大多数情况下,你永远不会想阻止谷歌从你的网站爬行。屏蔽特定机器人的一个具体用例是,让那些对您有益的机器人继续进入您的网站,同时阻止那些对您的网站无益的机器人。

4.阻止特定的文件被抓取

机器人排除协议让你很好地控制你想阻止机器人访问的文件和文件夹。

这是一个命令,你可以用它来阻止文件被任何机器人抓取:

用户代理:*
不允许:/ [folder_name] / [file_name.extension]

所以,如果你想阻止“images”文件夹中名为“img_0001.png”的文件,你可以使用这个命令:

阻止特定的文件被抓取

5.阻止对文件夹的访问,但允许对文件进行索引

“Disallow”命令阻止机器人访问文件夹或文件。

“允许”命令的作用正好相反。

如果“允许”命令针对单个文件,则“允许”命令将取代“禁止”命令。

这意味着您可以阻止对文件夹的访问,但允许用户代理仍然访问文件夹中的单个文件。

下面是使用的格式:

用户代理:*
不允许:/ [folder_name] /
允许:/ [folder_name] / [file_name.extension] /

例如,如果你想阻止谷歌抓取“images”文件夹,但仍然想让它访问存储在其中的“img_0001.png”文件,下面是你应该使用的格式:

对于上面的例子,它看起来是这样的:

阻止对一个文件夹的访问,但允许一个文件被索引

这将阻止/search/目录中的所有页面被索引。

如果您想要停止所有匹配特定扩展名(如“。php”或“。png”)的页面被索引,该怎么办?

用这个:

用户代理:*
不允许:/ * .extension $

这里的($)符号表示URL的结束,即扩展名是URL中的最后一个字符串。

如果你想阻止所有扩展名为“。js”的页面(对于Javascript),下面是你应该使用的:

用户代理不接受

如果您想阻止机器人抓取脚本,这个命令特别有效。

6.阻止机器人过于频繁地爬上你的网站

在上面的例子中,你可能见过这个命令:

用户代理:*
Crawl-Delay: 20

该命令指示所有机器人在两次抓取请求之间等待至少20秒。

爬虫-延迟命令经常用于内容经常更新的大型站点(如Twitter)。这个命令告诉机器人在后续请求之间等待最短的时间。

这确保了服务器不会同时被来自不同机器人的太多请求所淹没。

例如,这是Twitter的robots . txt指令机器人在请求之间等待至少1秒的文件:

Twitter robots . txt文件

您甚至可以控制个别机器人的爬行延迟。这确保了太多的机器人不会同时爬上您的站点。

例如,你可能有一组这样的命令:

的一组命令

注意:除非您运行的是一个每分钟都有数千个新页面创建的大型站点(如Twitter),否则实际上不需要使用此命令。

在使用Robots.txt时要避免的常见错误

Robots.txt文件是控制站点上bot行为的强大工具。

但是,如果使用不当,也会导致SEO灾难。网上流传着许多关于Robots.txt的误解。

以下是在使用Robots.txt时必须避免的一些错误:

错误#1 -使用Robots.txt阻止内容被索引

如果你“禁止”Robots.txt文件中的一个文件夹,合法的机器人将不会抓取它。

但是,这仍然意味着两件事:

  • 机器人将抓取从外部源链接的文件夹内容。比如说,如果另一个网站链接到你屏蔽文件夹中的一个文件,机器人就会通过索引跟踪它。
  • 流氓机器人-垃圾邮件发送者,间谍软件,恶意软件等-通常会忽略Robots.txt指令,并索引你的内容。

这使得Robots.txt成为阻止内容被索引的糟糕工具。

下面是你应该使用的:使用“meta noindex”标签。

在你不想被索引的页面中添加以下标记:

< meta name = "机器人"内容=“noindex”>

这是被推荐的、seo友好的阻止页面被索引的方法(尽管它仍然不能阻止垃圾邮件发送者)。

注意:如果你使用WordPress插件,如Yoast SEO或All in One SEO;您可以在不编辑任何代码的情况下完成此操作。例如,在Yoast的SEO插件中,你可以在每个帖子/页面上添加noindex标签,就像这样:

Yoast SEO

只要打开和post/page,点击齿轮在Yoast SEO框。然后单击“Meta robots index”旁边的下拉菜单。

此外,谷歌将从9月1日起停止在robots.txt文件中使用" noindex "。这篇文章更多信息请访问SearchEngineLand。

错误2 -使用Robots.txt保护私人内容

如果您有私人内容——比如电子邮件课程的pdf文件——通过Robots.txt文件屏蔽目录会有所帮助,但这还不够。

原因如下:

如果从外部源链接,您的内容仍然可能被索引。而且,流氓机器人还是会爬过去。

更好的方法是将所有私有内容保存在登录后。这将确保没有人-合法或流氓机器人-将获得访问您的内容。

缺点是,这确实意味着你的访问者需要跨越一个额外的障碍。但是,您的内容将更加安全。

错误#3 -使用Robots.txt阻止重复的内容被索引

在SEO中,重复内容是一个大禁忌。

但是,使用Robots.txt来阻止这些内容被索引并不是解决方案。同样,不能保证搜索引擎蜘蛛不会通过外部源找到这些内容。

下面是3种复制内容的方法:

  • 删除重复内容-这将完全摆脱内容。然而,这意味着你会把搜索引擎引导到404页面——这并不理想。由于这个原因,不建议删除
  • 使用301重定向——一个301重定向指示搜索引擎(和访问者)页面已经移动到一个新的位置。只需在重复的内容上添加一个301重定向,将访问者带到您的原始内容。
  • 添加rel = "规范化"标签这个标签是301重定向的“元”版本。“rel=canonical”标记告诉谷歌哪个是特定页面的原始URL。例如下面的代码:
    <链接的href = "http://example.com/original-page.html“rel = "规范化" / >
    告诉谷歌页面- original-page.html -是重复页面的“原始”版本。如果你使用WordPress,这个标签很容易添加使用Yoast SEO或All in One SEO。

如果您希望访问者能够访问重复的内容,请使用rel = "规范"标签。如果你不希望访问者或机器人访问内容-使用301重定向。

要小心执行,因为它们会影响你的SEO。

交给你了

txt文件在塑造搜索引擎蜘蛛和其他机器人与您的站点交互的方式方面是一个有用的盟友。如果使用得当,它们可以对你的排名产生积极影响,让你的网站更容易被抓取。

通过本指南,您可以了解Robots.txt的工作原理、安装方式以及一些常用的使用方法。避免我们上面讨论过的任何错误。

相关阅读:

什么是Robots.txt文件
1 k分享