搜索引擎优化(SEO)包括大小不同的网站更改。robots.txt文件似乎是次要的,技术性的SEO元素,但它会极大地影响你网站的可见性和排名。在了解了robots.txt文件后后,你可以看到此文件对网站功能和结构的重要性。请继续阅读以找到robots.txt最佳做法,以提高你在搜索引擎结果页(SERP)中的排名。

什么是robots.txt文件?

robots.txt文件是一个指令,可告诉搜索引擎机器人或搜寻器如何继续浏览网站。在抓取和建立索引过程中,指令充当命令将Googlebot之类的搜索引擎机器人引导至正确的页面。Robots.txt文件也归类为纯文本文件,它们位于网站的根目录中。如果你的域名为“ www.example.com”,则robots.txt的地址为“ www.example.com/robots.txt”。

Robots.txt具有两个主要功能-它们可以允许或禁止(阻止)机器人。但是,robots.txt文件与noindex元伪指令不同,后者可防止页面被索引。Robots.txt更像是建议,而不是僵尸程序的坚不可摧的规则-而且你的页面仍可以最终编入索引,并可以在搜索结果中找到特定关键字。主要是,文件控制服务器的压力并管理爬网的频率和深度。该文件指定用户标识,这些用户标识可以应用于特定的搜索引擎机器人,也可以将顺序扩展到所有机器人。例如,如果你只希望Google而不是Bing来持续爬网页面,则可以向他们发送指令作为用户标识。

为什么要使用robots.txt文件?

大部分站长都不会将网站上的所有页面都提交给搜索引擎,比如某个留言成功页面、或者交易成功和网站后台和一些插件等页面或目录。搜索引擎不断爬取非必需页面可能会降低服务器的速度,并带来其他阻碍SEO工作的问题。Robots.txt是解决僵尸程序爬网时间的工具。

Robots.txt文件可以使你的网站整洁高效,尽管它们不会直接将你的页面推向SERP。他们间接地优化了你的网站,因此不会导致被搜索引擎惩罚,降低抓取预算,降低服务器速度以及插入错误的链接链接页面。

Robots.txt文件的运行方式
Robots.txt文件的运行方式

Robots.txt文件都有哪些用处?

即使在同一个搜索引擎中,也存在各种各样的机器人。除了主要的“ Googlebot”外, Google还具有抓取工具,包括Googlebot图片,Googlebot视频,AdsBot等。你可以使用robots.txt将搜寻器从不想显示在搜索中的文件中移开。例如,如果你想阻止文件显示在Google图片搜索中,则可以在图片文件上放置禁止指令。

可以利用好robots文件来做好网站的SEO优化工作,比如清理网站死链的时候可以把死链接写进robots文件,再或者可以将网站地图写进robots方便爬虫一次性抓取网站内容等等。

Robots.txt的用法

语法

user-agent: googlebot-news
(group 1)

user-agent: *
(group 2)

user-agent: googlebot
(group 3)

一个或多个用户标识行,后跟一个或多个规则。组以用户标识行或文件末尾终止。最后一个组如果没有规则,则表示允许抓取所有内容。

	user-agent: a  #UA标识a
disallow: /c  #禁止抓取根目录下的/c文件

user-agent: b  #UA标识b
disallow: /d  #禁止抓取根目录下的/d文件

user-agent: e  #UA标识c
user-agent: f  #UA标识d
allow: /  #允许抓取根目录下的所有路径和页面

user-agent: h  #后面未设置规则则代表允许

上述代码中,user-agent代表用户标识,每个搜索引擎和浏览器都有自己的用户标识;allow代表允许;disallow代表禁止抓取。

此外,Robots.txt文件里还可以填写网站sitemap的绝对路径:

sitemap: [absoluteURL]

[absoluteURL] 指向站点地图、站点地图索引文件或等效网址。网址不需要与 robots.txt 文件位于同一主机上。sitemap 条目可以有多个。作为非组成员行,它们不依赖于任何特定的用户标识,只要未加禁止,所有抓取工具都可以追踪它们。

Robots.txt文件书写规则

  1. robots文件的后缀必须是.txt;
  2. robots文件必须全小写字母命名,并且存放在网站的根目录下面;
  3. 在写robots文件的时候,Disallow、Allow、Sitemap等词首字母必须大写,后面的字母则要小写。(此条规则有争议,Google搜索的Robots.txt规范并未做此说明,详见: Robots.txt规范
  4. 在书写robots时,应用英文状态下的冒号,并且冒号后面必须有一个英文状态下的空格。

Robots.txt文件写法实例

	#

# robots.txt写法实例

#

User-agent: *  #*代表通配符,即所有用户的标识
User-agent: Sogouspider  #搜狗
User-agent: Bingbot  #必应
User-agent: Googlebot  #Google

Disallow: /  #禁止抓取根目录下的所有文件和目录
Disallow: / *.html&  #禁止抓取根目录下以.html结尾的文件(效果等于example.com/1.html或example.com/news.html)
Disallow: / *.php&  #禁止抓取根目录下以.php结尾的文件(效果等于example.com/1.php或example.com/news.php)
#&符号匹配以某个字符结尾

Disallow: /*?*  #禁止抓取根目录下的所有动态页面(带?的页面,效果等于example.com/news-detail?id=34)
Disallow: /abcd/*?*  #禁止抓取"/abcd"目录下的所有动态页面(效果等于example.com/abcd/news-detail?id=34)
Disallow: /abcd/  #禁止抓取"/abcd/"目录下的所有文件和目录(效果等于example.com/1.html或example.com/news.html)

Disallow: /abcd  #禁止抓取以"abcd"开头的所有目录(效果等于example.com/abcde/或example.com/abcde2333/)

#同一个目录下禁止访问和允许访问同时存在
Allow: /abcd/1.html  #允许抓取"/abcd"目录下的1.html
Disallow: /abcd/  #禁止抓取"/abcd/"目录

#网站地图
Sitemap: http://www.example.com/sitemap.xml

配置完Robots.txt文件后请到站长平台上进行验证,以免想要被抓取的内容被禁止。