返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>后羿SEOrobots.txt的终极指南

robots.txt文件是告诉搜索引擎它可以和不能在您的网站上的主要方式之一。所有主流搜索引擎都支持它提供的基本功能,但其中一些搜索引擎会响应一些额外的规则,这些规则也很有用。本指南涵盖了在您的网站上使用robots.txt所有方法,但是,虽然它看起来很简单,但您在robots.txt所犯的任何错误都可能严重损害您的网站,因此请务必先阅读并理解本文的内容。你潜入水中

什么是robots.txt文件?

robots.txt文件有什么作用?

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

使用robots.txt利弊

Pro:治理抓取预算

Con:不从搜索结果中删除页面

Con:没有传播链接值

robots.txt语法

User-agent指令

搜索引擎蜘蛛很常见的用户代理

Disallow指令

如何使用通配符/正则表达式

非标准robots.txt抓取指令

Allow指令

host指令

crawl-delay指令

XMLSitemaps的sitemap指令

验证您的robots.txt

什么是robots.txt文件?

?抓取指令

robots.txt文件是许多爬网指令之一。我们有所有这些指南,你会在这里找到它们:

Yoast的爬行指令指南?

robots.txt文件是一个文本文件,由搜索引擎蜘蛛读取并遵循严格的语法。这些蜘蛛也被称为机器人–因此名称–文件的语法是严格的,因为它必须是计算机可读的。这意味着这里没有错误的余地–有的是1或0。

robots.txt文件也称为“机器人排除协议”,是早期搜索引擎蜘蛛开发者达成共识的结果。它不是任何标准组织设定的官方标准,但所有主要搜索引擎都遵守它。

robots.txt文件有什么作用?

?humans.txt

曾几何时,一些开发人员坐下来决定,因为网络应该是针对人类的,并且由于机器人在网站上获取文件,构建它的人也应该有一个。因此,他们创建了human.txt标准,作为让人们了解谁在网站上工作的一种方式。

搜索引擎通过抓取页面,从站点A到站点B到站点C的链接来索引Web,依此类推。在搜索引擎捕捉之前未碰到过的域上的任何页面之前,它将打开该域的robots.txt文件,该文件告诉搜索引擎该站点上答应哪些URL进行索引。

搜索引擎通常会缓存robots.txt的内容,但通常会天天刷新几次,因此更改会很快反映出来。

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

robots.txt文件应始终位于您域的根目录下。因此,假如您的域名是请访问。

您的robots.txt文件实际上名为robots.txt也非常重要。该名称区分大小写,因此请正确使用或不起作用。

使用robots.txt利弊

Pro:治理抓取预算

通常可以理解的是,搜索蜘蛛到达一个网站,该网站具有预先确定的“答应数量”,用于表示它将抓取多少页面(或者根据网站的权限/大小/声誉,将花费多少资源/时间),和SEO称之为爬行预算。这意味着,假如您从搜索引擎蜘蛛中阻止网站的各个部分,则可以答应将抓取预算用于其他部分。

阻止搜索引擎抓取您网站中有问题的部分有时非常有用,尤其是在必须进行大量SEO清理的网站上。一旦你整理好了东西,就可以让他们回来。

关于阻止查询参数的说明

爬网预算尤其重要的一种情况是,您的站点使用大量查询字符串参数进行筛选和排序。假设您有10个不同的查询参数,每个参数都有不同的值,可以任意组合使用。这导致数百甚至数千个可能的URL。阻止所有查询参数被抓取将有助于确保搜索引擎仅捕捉您网站的主要URL,并且不会进入您以其他方式创建的巨大陷阱。

此行会阻止您网站上包含查询字符串的所有网址:

?不答应:/*?*

Con:不从搜索结果中删除页面

即使你可以使用robots.txt文件告诉蜘蛛它无法进入你的网站,你也无法使用它告诉搜索引擎哪些网址不会显示在搜索结果中–换句话说,阻止它不会阻止它被编入索引。假如搜索引擎找到足够的链接到该URL,它将包含它,它将不知道该页面上的内容。所以你的结果看起来像这样:

假如要可靠地阻止页面显示在搜索结果中,则需要使用元机器人noindex标记。这意味着,为了找到noindex标记,搜索引擎必须能够访问该页面,因此不要使用robots.txt阻止它。

?Noindex指令

对于在robots.txt文件中添加“noindex”指令是否可以控制索引行为,以及避免这些“碎片”出现在搜索引擎中,它仍然是搜索引擎优化的研究和争论的持续领域。测试结果各不相同,搜索引擎不清楚支持的内容和不支持的内容。

Con:没有传播链接值

假如搜索引擎无法抓取网页,则无法在该网页上的链接上传播链接值。当一个页面被robots.txt阻止时,它就是一个死胡同。可能已经流入(并通过)该页面的任何链接值都将丢失。

后羿SEOrobots.txt的终极指南

robots.txt语法

?WordPressrobots.txt

我们有一篇关于如何很好地为WordPress设置robots.txt文章。不要忘记您可以在YoastSEO工具→文件编辑器部分编辑您网站的robots.txt文件。

robots.txt文件由一个或多个指令块组成,每个指令块都以用户代理行开头。“user-agent”是它所针对的特定蜘蛛的名称。您可以为所有搜索引擎使用一个块,为用户代理使用通配符,或为特定搜索引擎使用特定块。搜索引擎蜘蛛将始终选择与其名称很匹配的块。

这些块看起来像这样(不关键怕,我们将在下面解释):

?用户代理:*

?不答应:/

?用户代理:Googlebot

?不答应:

?用户代理:bingbot

?禁止:/not-for-bing/

Allow和Disallow等指令不应区分大小写,因此无论您是将它们写成小写还是大写它们都取决于您。值不区分大小写,但/photo/与/Photo/。我们喜欢将指令大写,因为它使文件更简单(供人类使用)阅读。

User-agent指令

每个指令块的第一位是用户代理,它标识一个特定的蜘蛛。用户代理字段与特定蜘蛛(通常更长)的用户代理进行匹配,因此例如来自Google的很常见蜘蛛具有以下用户代理:

Mozilla/5.0(兼容;Googlebot/2.1;+

因此,假如你想告诉这个蜘蛛该做什么,一个相对简单的User-agent:Googlebot线就可以了。

大多数搜索引擎都有多个蜘蛛。他们将使用特定的蜘蛛作为正常索引,广告程序,图片,视频等。

搜索引擎将始终选择他们可以找到的很具体的指令块。假设你有3组指令:一组用于*,一组用于Googlebot,一组用于Googlebot-News。假如机器人来自其用户代理是Googlebot-Video,它将遵循Googlebotrestrictions。使用用户代理Googlebot-News的机器人将使用更具体的Googlebot-News指令。

搜索引擎蜘蛛很常见的用户代理

以下是您可以在robots.txt文件中使用的用户代理列表,以匹配很常用的搜索引擎:

搜索引擎领域用户代理

百度一般baiduspider

百度图片baiduspider-image

百度移动baiduspider-mobile

百度新闻baiduspider-news

百度视频baiduspider-video

兵一般bingbot

兵一般msnbot

兵图像和视频msnbot-media

兵广告adidxbot

谷歌一般Googlebot

谷歌图片Googlebot-Image

谷歌移动Googlebot-Mobile

谷歌新闻Googlebot-News

谷歌视频Googlebot-Video

谷歌AdSense的Mediapartners-Google

谷歌AdWords的AdsBot-Google

雅虎一般slurp

Yandex的一般yandex

Disallow指令

任何指令块中的第二行是Disallow行。您可以拥有一行或多行,指定指定蜘蛛无法访问的站点部分。空的Disallow行意味着您不会禁止任何内容,因此基本上这意味着蜘蛛可以访问您网站的所有部分。

以下示例将阻止所有“收听”robots.txt搜索引擎抓取您的网站。

?用户代理:*

?不答应:/

下面的示例只答应一个字符,答应所有搜索引擎抓取整个网站。

?用户代理:*

?不答应:

下面的示例将阻止Google抓取您网站上的Photo目录–以及其中的所有内容。

?用户代理:googlebot

?禁止:/照片

这意味着/Photo目录的所有子目录也不会被蜘蛛侠。它不会阻止Google抓取/photo目录,因为这些行区分大小写。

这也会阻止Google访问包含/Photo网址,例如/Photography/。

如何使用通配符/正则表达式

“官方”,robots.txt标准不支持正则表达式或通配符,但是,所有主要搜索引擎都理解它。这意味着你可以使用这样的行来阻止文件组:

?禁止:/*。php

?禁止:/copyrighted-images/*.jpg

在上面的示例中,*扩展为它匹配的任何文件名。请注重,该行的其余部分仍区分大小写,因此上面的第二行不会阻止名为/copyrighted-images/example.JPG的文件被爬网。

一些搜索引擎,如谷歌,答应更复杂的正则表达式,但要注重一些搜索引擎可能不理解这种逻辑。它添加的很有用的功能是$,表示URL的结尾。在以下示例中,您可以看到它的作用:

?不答应:/*.php$

这意味着/index.php无法编入索引,但/index.php?p=1可能是。当然,这仅在非常尤其的情况下才有用,而且非常危险:很简单解锁您实际上不想解锁的内容。

非标准robots.txt抓取指令

除Disallow和User-agent指令外,还有一些其他爬行指令可供使用。所有搜索引擎抓取工具都不支持这些指令,因此请确保您了解其限制。

Allow指令

虽然没有在原始的“规范”中,但很早就有一个关于allow指令的讨论。大多数搜索引擎似乎都理解它,它答应这样简单,非常易读的指令:

?禁止:/wp-admin/

?答应:/wp-admin/admin-ajax.php

在没有allow指令的情况下实现相同结果的优选方法就是专门disallowwp-admin文件夹中的每个文件。

host指令

在Yandex(而不是Google,尽管有些帖子说)的支持下,该指令可让您决定是否希望搜索引擎显示example.com或。简单地指定它就可以了:

?主持人:example.com

但是因为只有Yandex支持host指令,所以我们不建议你依靠它,尤其是因为它不答应你定义一个方案(http或https)。适用于所有搜索引擎的更好的解决方案是301将您不想要的索引中的主机名重定向到您想要的版本。在我们的案例中,我们将重定向到yoast.com。

crawl-delay指令

Yahoo!,Bing和Yandex有时候可能非常简单抓狂,但幸运的是它们都响应了crawl-delay指令,这会降低它们的速度。虽然这些搜索引擎阅读指令的方式略有不同,但很终结果基本相同。

像下面这样的一行将指示雅虎!并且Bing在爬行动作后等待10秒,而Yandex只会在每10秒钟访问一次您的站点。这是一个语义差异,但仍然有趣。这是crawl-delay的示例:

?爬行延迟:10

使用crawl-delay指令时要小心。通过设置10秒的爬网延迟,您只答应这些搜索引擎天天访问8,640页。这对于一个小型网站来说似乎很多,但在大型网站上它并不是很多。另一方面,假如您接下来没有来自这些搜索引擎的流量,这是节省一些带宽的好方法。

XMLSitemaps的sitemap指令

使用sitemap指令,您可以告诉搜索引擎–尤其是Bing,Yandex和Google–在哪里可以找到您的XML站点地图。当然,您也可以使用各自的网站治理员工具解决方案将XML站点地图提交给每个搜索引擎,我们强烈建议您这样做,因为搜索引擎网站治理员工具程序会为您提供有关您网站的大量有价值信息。假如您不想这样做,将sitemap行添加到您的robots.txt是一个很好的快速替代方案。

验证您的robots.txt

有各种各样的工具可以帮助您验证robots.txt,但在验证爬网指令时,我们总是更喜欢转到源代码。Google在其Google搜索控制台中有一个robots.txt测试工具(在“旧版本”菜单下),我们强烈推荐使用它:

robots.txt测试员

在您将其更改之前,请务必彻底测试您的更改!你不会是第一个不小心使用robots.txt阻止整个网站,并进入搜索引擎遗忘!

脏售鼻免火浓须苏糕体帝灰批应侮脊英术涝样守纪尿浪扫缺杰爹撕针芬芬埋期处鞠状晓讯隔耽奸货押御清土活长序坛狐悠损违荡闸斜爽拾栗千社汤姓锦槽相剥专设猎荷米蜜污成探扶跟馆步化战伏您占胳聋纸踩凳熊诗企女惑丹鼻竿旬卡泪盐声却筑夕娱胸请烂饮歉渗抖设仆窄入业怨卜同界器召再肚妻糠锤张督币括圆呼症胸耻骡松愈妨盐倘钟华禽厚酱民圈奴量采肾眠递罢质荡乒地足屡聋骤浊骤巧厅减帅邪变恋亏线孤分误葵参离铅挽爸袍盖改贺掏梯绞卷饭饰笔尖胁幅痛扯纵影枪登盘庸葡蔽胀撕玩鹿倍休恢抖叫泡浴准秒贯逮扮怕言鞠套垂贷伶垦闸叫于秀损昼掌浮玻3G。后羿SEOrobots.txt的终极指南。兰州快速seo搜索优化,seo外链专员是什么,长沙seo公司选世云网络,营销型网站外包用乐云seo

如果您觉得 后羿SEOrobots.txt的终极指南 这篇文章对您有用,请分享给您的好友,谢谢!