来源:徐州seo 作者:博益网络 时间:2017-09-30 21:24:01 浏览次数:次
你会应用robots.txt吗?seo优化的robots.txt的高级应用技巧是什么?如何操作设置呢?下面徐州博益网络给您介绍一下robots.txt的高级应用。
robots.txt使用要点
在介绍进阶应用之前,我们先来温习一下robots.txt的使用要点:
1、每个域名(不管是不是子域名)都只能最多有一个robots.txt文件,放置于网站根目录。yourname.com的robots.txt对abc.yourname.com没有约束。
2、每种协议都可以有一个robots.txt。如http://yourname.com和https://yourname.com可以分别有一个robots.txt。
3、每个端口可以有一个robots.txt。如http://yourname.com和http://yourname.com:8080可以分别有一个robots.txt。
4、文件名必须为小写。不能是robots.txt。
5、user-agent的名称以及user-agent,allow,disallow,crawl-delay,sitemap这些指示符的大小写不敏感。
6、robots.txt所包含的url为大小写敏感。分清大小写才能有效排除索引。
allow和disallow的url必须是不包括协议、域名、端口的路径。
7、disallow: http://yourname.com/abc.htm就错了。改为disallow: /abc.htm
8、sitemap必须包括从http或https开始的完整的url。
9、robots.txt不是死链提交工具,想要删除死链索引还是应该登陆各搜索引擎站长平台提交。
10、robots.txt只做减法,有没有这个文件的区别即是去不去做这个排除。删除robots.txt意味着完全开放爬虫漫游。
11、robots.txt只防君子不防小人。历史上发生过多次违反robots.txt的事件。网站要把机密信息放到登陆后。
12、要想严格不让搜索引擎索引还是推荐用noindex标签。但是百度并不支持。
13、crawl-delay并不被谷歌和百度支持,yandex和bing则支持。yandex还支持host指示符来表示偏好的域名。
14、符号#用于注释。后面的内容会被忽略。
合并多个user-agent
如果你有多个讨厌的机器人在抓取你的网页消耗你的资源,那你可能会通过disallow屏蔽他们(当然要他们是君子的前提下)。你可以通过user-agent一次性把他们屏蔽。
user-agent: bad-bot-a
user-agent: bad-bot-b
disallow: /
这种写法在当你有多个user-agent,每个虽然都比较复杂但是都一样的情况下显得很有用。
user-agent: bad-bot-a
user-agent: bad-bot-b
disallow: /xxx
#以下省略200行,这样你就可以让robots.txt变得简洁。
看不见的通配符*
这里要说的是通配符*。它代表任意长度的任意字符。请注意每一行allow,disallow之后都有一个看不见的*。
也就是说如果你写了disallow: /cat/,那么下面的内容就会影响到所有以/cat/开头的url,比如:
http://yourname.com/cat/abc.htm
http://yourname.com/cat/abc.html
http://yourname.com/cat/abc/
但是也有例外的情况,那就是allow和disallow之后没有任何赋值的情况。比如这个官方例子
user-agent: *
disallow: /cyberworld/map/ # this is an infinite virtual url space
# cybermapper 可以访问任意页面
user-agent: cybermapper
disallow:
为每个user-agent订制sitemap
极诣曾经在《international seo不完全攻略》一文中指出使用目录进行多语言网站布局在seo上的问题。由于百度这样的中文搜索引擎并不感兴趣那些泰语、挪威语甚至英语、法语,让百度蜘蛛爬行那些非中文的页面会造成很多资源的浪费,这不单影响索引而且影响排名。为此我们可以使用disallow把其他次要的页面屏蔽掉。
但是对sitemap这个指示符来说,它并不针对某一个user-agent。不管你的sitemap语句出现在哪里它对所有的搜索引擎都是有效的。
如果我们想让某些搜索引擎只访问特定的sitemap,这种情况下该如何处理呢?除了在站长平台提交网站地图,我们还可以在robots.txt内实现。别忘了sitemap文件也是一个资源,我们一样可以用disallow去屏蔽掉。假定我们有一个全语言的sitemap-all-lang.xml还有一个中文内容的sitemap-zh.xml。我们可以这样实现:
user-agent: *
disallow: /sitemap-zh.xml
user-agent: baiduspider
disallow: /sitemap-all-lang.xml
sitemap: http://yourdomain.com/sitemap-zh.xml
sitemap: http://yourdomain.com/sitemap-all-lang.xml
这样一来中文站点地图仅对百度可见,而全语言地图仅对百度之外的蜘蛛可见了。
sitemap太大了该怎么办?
我们知道,一般来说搜索引擎对站点地图的大小和所包含的url的数量都有所限制。比如百度对单个sitemap文件的限制是五万条url和10mb的文件大小。在这种情况下,你可以在robots.txt中给出多个sitemap文件的url。除了这种分拆方式,你还可以使用sitemap索引文件。
你可以为多个站点地图制作索引
其他主流的搜索引擎也认这个索引格式。
那么问题来了,即便是这样,文件多且大,传输会变得非常没有效率。为了解决这个问题我们可以对站点地图进行gzip压缩。像7-zip这样的压缩工具都可以对文件压缩。需要注意的是在压缩前你的单个站点地图文件仍然必须小于10mb并且包含url数量小于五万条。
上面就是robots.txt的高级应用技巧,您可以根据这个高级技巧进行设置您的网站。如果您不明白可以直接联系徐州seo帮您设置。
想了解更多关于徐州网站制作,徐州seo,徐州网站优化的文章请点击
非特殊说明,本文为本站原创(翻译)文章,转载请注明:本文转自:徐州博益网络seo顾问-胡工。
本文链接:http://www.seopre.com/news/js/205.html
欢迎您的到来,seo顾问提醒本网站评论功能已经关闭,感谢您的关注!