返回列表 回复 发帖

[SEO技术] robots.txt文件写法规则

什么robots.txt文件,robots.txt的作用
robots.txt是一个以小写母命名的,放在网站根目录下的文本文件。
它的作用就是告诉搜索引擎,网站的哪些内容是有用的,可以收录,哪些内容是没必要收录的。如一个网站的模板文件,美化用的图片等,可在robots.txt中声明不要收录。但robots.txt不是强制性的,即他不能强制SE不能收录某些东西,只是个公开的协议,大部分SE都是遵守的。

robots.txt语法说明
这个文件中是是以User-agent开头,后跟多个Disallow或allow的一个或多个段组成。例如:
  1. User-agent: Baiduspider #表示此段只对baidu蜘蛛起作用
  2. Allow: /help/faq/ #允许访问/help/faq/下的内容
  3. Disallow: /help/ #禁止访问/help/,与上行配合达到只允许访问help中faq的功能
复制代码
User-agent:后面跟蜘蛛的名字,表示后面的规则是给谁看的,因此User-agent可以有多个,针对不同的蜘蛛设置。如果值是*,表示没有匹配的蜘蛛时用此设置。
因此蜘蛛读取robots.txt时,先是寻找和自己名字相同的User-agent,并应用这段的规则,然后就退出了,注意不会再去匹配User-agent:*的规则,所以如果针对某一蜘蛛写了规则,那么针对它所有的规则都要写在这个段里,而不能只写特殊的规则而将共同的规则放在User-agent:*里。同时各User-agent段没有先后顺序。即使User-agent:*段放在哪都可以,但只能有一个。

Allow:表示允许以此开始的URL。在默认情况下就是允许所有的URL。
Disallow:表示禁止以此开始的URL。如果后面为空,则表示不禁止任何URL。
* 代表零或多个任意的字符。
$ 代表行结束符。即一行结束了,后面没有任何字符了。
注意:除非是以*开始,所有URL必须以/开始。因为这里没有相对路径的概念,这样是错误的:disallow: help/

User-agent整段的allow和disallow匹配规则
  1. Disallow: /help/
  2. Allow: /help/faq/
复制代码
如上情况时,搜索引擎是如何匹配这个规则呢?如:对于/help/faq/index.htm这个文件来说,是允许还是不允许收录呢?当匹配第一行时,因为禁止以/help/开如的所有URL,所以不收录。但是是后面的Allow: /help/faq/规则又可以收录。各SE处理是不一样的,有的只要匹配第一个不成就退出了,有的SE对allow有更高的优先级,不管有没有禁止,也不管allow在第几行,只要它允行,那么就允许收录。各SE情况请看discuz robots.txt设置,我在这里进行了简单的测试和总结。

网站使用robotst.txt,过段间可以查看网站收录情况,检查有没有问题。请访问robotstxt.org查看详细robots.txt语法说明和示例
交流QQ群:13519368

robots.txt相关问题FAQ

Q:写了一个robots.txt 禁止SE收录,那设置允许后SE还会不会收录,要多久?
A:SE基本会每天更新一次你网站的robots文件的,所以当然你设置允许收录后,它会马上知道,然后按正常程序收录。

Q:我在robots.txt中禁止了某个链接,为什么搜索结果中还有
A:对于已经收录的页面,然后再去禁止,根据搜索引擎的不同,要一两个月的时间才会从结果中删除。当然有些SE提供了方法,可以提交页面请求删除。
交流QQ群:13519368
返回列表