最新文章:

您的位置: 富录-前端开发|web技术博客 > SEO > robots.txt文件是干嘛用的

robots.txt文件是干嘛用的

发布时间:2020年06月12日 评论数:抢沙发阅读数: 7100

    蜘蛛

    robots.txt简介

    robots.txt文件是一个提供给搜索引擎蜘蛛读取并遵循严格的语法内容所组成的文本文件,也称为“机器人排除协议”,它不是任何组织制定的官方标准,但是所有主流的搜索引擎都遵循它的规则。它是告诉搜索引擎蜘蛛,该网站哪些内容是可以抓取,哪些内容是禁止抓取的的方法之一。 它是一个纯文本文件,存放在站点根目录下。它的设置虽然很简单,但是作用却非常强大,因此要谨慎设置,不然对你的网站影响很大。


    使用robots.txt的利与弊

    利:管理抓取预算

    众所周知,搜索蜘蛛会以预定的“准则”进入网站,以获取要爬取的页面数(根据网站的权限/大小/声誉得出的抓取页面数), SEO将此称为抓取预算。这就意味着,如果您阻止网站的某些部分的抓取,搜索蜘蛛就会抓取其他部分来补充页面数。

    一般来说,阻止搜索引擎抓取您网站有问题的部分是非常有益,特别是在必须进行大量SEO清理的网站上。整理完所有内容后,您就可以解除阻止。


    利:有关阻止查询参数的说明

    特别重要的一种robots.txt应用是:您的站点使用大量参数进行查询。假设您有10个不同的查询参数,每个参数都可能有不同的值而生成不同的URL,这将导致数百甚至数千个毫无意义的URL。阻止所有查询参数页面的抓取将有助于确保搜索引擎仅收录您网站的主要URL,而不会陷入一个巨大陷阱。

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

    Disallow:/*?*


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

    即使您可以使用该robots.txt文件告诉搜索蜘蛛不能在网站上访问的位置,也不能使用它告诉搜索引擎哪些URL不在搜索结果中显示。换句话说,阻止它不会阻止它被索引。搜索引擎仍然会在搜索结果中显示,但不显示其内容。


    弊:不传播链接价值

    如果搜索引擎无法抓取页面,则无法在该页面上的链接之间散布链接值。当页面通过robots.txt被阻止时,这是死路一条。任何可能流到(并通过)该页面的链接值都会丢失。


    使用方法:

    robots.txt 文件应该放在网站根目录下,并且该文件是可以通过互联网进行访问的。

    比如:

    我的网站地址是https://www.arbays.com/那么,该文件必须能够通过 https://www.arbays.com/robots.txt 打开并看到里面的内容。


    格式

    User-agent

    用于描述搜索引擎蜘蛛的名字,在"robots.txt "文件中,如果有多条User-agent记录说明有多个搜索引擎蜘蛛会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何搜索引擎蜘蛛均有效,"User-agent:*"这样的记录只能有一条。


    Disallow

    用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被robot访问到。

    举例:

    例一:"Disallow:/arbays"是指/arbays.html 和/arbays/index.html都不允许搜索引擎蜘蛛抓取。

    例二:"Disallow:/arbays/"是指允许搜索引擎蜘蛛抓取/arbays.html,而不能抓取/arbays/index.html。

    例三:Disallow记录为空说明该网站的所有页面都允许被搜索引擎抓取,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎蜘蛛,该网站都是开放的可以被抓取的。

    #:robots.txt 协议中的注释符。

    综合例子 :

    例一:通过"/robots.txt"禁止所有搜索引擎蜘蛛抓取"/bin/cgi/"目录,以及 "/tmp/"目录和 /foo.html 文件,设置方法如下:

    User-agent: *

    Disallow: /bin/cgi/

    Disallow: /tmp/

    Disallow: /foo.html

    例二:通过"/robots.txt"只允许某个搜索引擎抓取,而禁止其他的搜索引擎抓取。如:只允许名为"slurp"的搜索引擎蜘蛛抓取,而拒绝其他的搜索引擎蜘蛛抓取 "/cgi/" 目录下的内容,设置方法如下:

    User-agent: *

    Disallow: /cgi/

    User-agent: slurp

    Disallow:

    例三:禁止任何搜索引擎抓取我的网站,设置方法如下:

    User-agent: *

    Disallow: /

    例四:只禁止某个搜索引擎抓取我的网站如:只禁止名为“slurp”的搜索引擎蜘蛛抓取,设置方法如下:

    User-agent: slurp

    Disallow: /


    Allow

    尽管不在最初的“规范”中,对于allow指令大多数搜索引擎都了解它,并且允许使用简单且可读性强的指令,例如:

    Disallow:/wp-admin/

    Allow:/wp-admin/admin-ajax.php

    在没有allow指令的情况下获得的结果就是阻止wp-admin文件夹中的每个文件的抓取。


    Host

    由Yandex(不受Google支持)支持,该指令可让您决定是否要显示搜索引擎哪个域名。只需像这样指定就可以了:

    Host:域名

    但是因为仅Yandex支持该host指令,所以我们不建议您依赖该指令,尤其是因为它也不允许您定义协议(到底时http还是https)。一个更好的解决方案,为所有搜索引擎的工作原理是,可以采用301重定向将不常用域名重定向到常用域名上。


    Crawl-delay

    Yahoo!,Bing和Yandex都响应crawl-delay指令,这会使抓取变慢。尽管这些搜索引擎在读取指令方面的方式略有不同,但最终结果基本相同。

    像下面这样的一行将指示Yahoo! 和Bing会在抓取操作后等待10秒,而Yandex每10秒只会访问您的网站一次。这是语义上的差异,但仍然很有趣。这是示例crawl-delay行:

    Crawl-delay:10

    使用crawl-delay指令时请务必小心。通过将抓取延迟设置为10秒,您仅允许这些搜索引擎每天访问8,640页。对于小型网站来说,这似乎足够了,但是在大型网站上,它并不是很多。另一方面,如果您网站抓取频繁,那么这是节省带宽的好方法。


    SitemapXML Sitemaps 的指令

    使用sitemap指令,您可以告诉搜索引擎-特别是Bing,Yandex和Google在哪里可以找到XML网站地图。当然,您也可以使用各自的网站管理员工具解决方案将XML网站地图提交给每个搜索引擎,我们强烈建议您这样做,因为搜索引擎网站管理员工具程序会为您提供有关网站的许多有价值的信息。如果您不想这样做,则在robots.txt中添加一条sitemap是一个不错的快速选择。


    推荐阅读

二维码加载中...
本文作者:DGF      文章标题: robots.txt文件是干嘛用的
本文地址: https://arbays.com/post/160     本文已被百度收录!
版权声明:若无注明,本文皆为“富录-前端开发|web技术博客”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论