robots.txt是什么?对搜索引擎有什么用?如何写robots.txt?
robots.txt 是放在网站要目录的一个文本文件,比如风火SEO网络的 http://www.fhseo.com/robots.txt 。它是一个被广泛承认的协议,允许网站管理员自行控制自己的网站,而不仅仅是搜索引擎。
阻止指定页面
robots.txt最常用的方式是用来阻止Google等搜索引擎蜘蛛爬行指定的网站页面。最简单的规则是允许所有的页面都可以被搜索引擎抓取,代码书写为:“User-agent: *”,而用“Disallow: /example.htm”指令来阻止搜索引擎对 example.htm页面的收录。
- User-agent: *
- Disallow: /example.htm
阻止指定文件夹
如果Disallow的参数是以斜杠“/”结尾的,则表示阻止搜索引擎蜘蛛爬行整个文件夹。
- User-agent: *
- Disallow: /example/
上面两句代码表示example文件夹下的所有页面都不会被搜索引擎抓取。
允许特定页面
robots.txt不仅可以阻止指定路径,也可以用来告诉搜索引擎蜘蛛哪些页面可以被索引。小提示:默认情况下网站所有的页面都是可被抓取的。
- User-agent: *
- Disallow: /example/
- Allow: /example/hello.htm
上面用Allow来覆盖掉Disallow指令,意思是example目录下仅允许抓取hello.htm这个页面。
阻止指定的搜索引擎
上面我们提到的指令对所有搜索引擎都是一样的,然而,我们可以用“User-agent:”来限制这些适用这些规则的搜索引擎。
- User-agent: googlebot
- Disallow: /example/
用googlebot代替“*”号来阻止Google蜘蛛抓取example目录,但其它搜索引擎可以正常爬行这个目录。
基本通配符
通配符对附上一系列具有部份相同路径的网页是非常有用的,用“*”号来表示0个或多个任何有效的字符(包括斜杠、问号等)
例如:“Disallow: news*.htm”将会阻止:
- news.htm
- news1.htm
- news123.htm
- newsabc.htm?id=1
但是不会阻止:
- newshtm (少了一个点“.”)
- News.htm (大小写敏感)
- /example/news.htm
阻止特定参数
通配符也会经常被用来阻止包含特定参数的页面被搜索引擎抓取,例如我们只允许搜索引擎三级目录,类似/dir1/dir2/dir3/的三层结构,当添加第四级目录时变为/dir1/dir2/dir3/dir4/?crawl=no。这时可以用规则“*crawl=no”来阻止第四级目录。
匹配指定文件名
有时候我们可能想阻止搜索引擎抓取特定的文件,比如说图片。但需要特别注意的是,robots指令写不规范可能会把sample-of-jpg.htm这些页面可阻止了。这时候就要用到结束标志“$”了:
- User-agent: *
- Disallow: *.jpg$
结束标志“$”也可以用于其它规则,比如“Disallow: /example.htm”会把“/example.htm?sort=asc”也给阻止了,这时候在htm后面加上结束标志“$”就不会出现类似错误了。
添加站点地图
很多网站的robots.txt文件的最后一行都会指明网站的站点地图文件位置,因为搜索引擎访问网站时首先会检查根目录下是否有robots.txt,在robots.txt文件中列出站点地图文件位置就方便搜索引擎更好的抓取网站的每一个页面,对SEO优化是非常有用的,比如:
- User-agent: *
- Sitemap: http://www.fhseo.com/sitemap.xml
实际上你可以添加多个站点地图文件,只要每一行对应一个文件。
免责申明
请不要随便在你自己的网站上测试上面这些robots.txt指令,它们仅是被用来演示robots.txt的通用规则而以,而不是解译它的最佳方式。
尊重他人劳动成果,转载请注明出自风火SEO网络公司,及本文URL:
http://www.fhseo.com/faq/robots-txt.htm