现在的位置:首页>网站SEO>正文

网站优化之robots.txt文件编写及优化

2012年12月09日 ⁄ 共 2185字 评论 2 条

前天写过wordpress建站优化请按顺序操作中就已经提到了网站建设初期robots.txt文件编写,而很多朋友可能还不太清楚自已网站的robots文件里面应该有一些什么样的内容呢.

首先来解释一下,robots.txt文件可限制搜索引擎对您网站的访问。这些漫游器是自动的,它们在访问任意网站的网页之前,都会查看是否存在阻止它们访问特定网页的robots.txt文件,这是来自谷歌的解说.比如说您不希望搜索引擎抓取您网站的友情链接页面,那么您可通过一行代码Disallow:/linkpage来阻止,这里假设您的友情链接页面的地址是:您的域名/linkpage.

robots文件一般放在你的网站的根目录下,在网站还没有完全建好时,我们应该先限制搜索引擎的访问,这时我们可以在robots.txt 文件中加入以下文本:

User-agent:*
Disallow:/

上面的意思就是不允许任何搜索引擎的访问并抓取网站的任何页面.当然,按照谷歌的说法,要想彻底阻止网页的内容列在 Google 网页索引中,你还得 noindex 元标记,如下图:

网站优化之robots.txt文件编写及优化

这一些你完全可以参考谷歌的说法来做,那么在网站做好了,而我们也允许搜索引擎的访问并抓取网站内容时,我们的robots.txt文件应该怎样编写呢?这一点你可以参考我的,内容如下:

User-agent: *
Disallow: /wp-admin
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /wp-includes/
Disallow: /author/
Disallow: /?author=*
DisAllow: /cgi-bin/
Disallow: /tag/*
Disallow: /?tag=*
Disallow: /trackback
Disallow: /*/trackback
Disallow: /?p=*
Disallow: /*.html?replytocom=*
Disallow: /?m=*
Disallow: /*?replytocom=*
Disallow: /?feed*
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /?s=*
Disallow: /?r=*
Disallow: /*/?s=*
Disallow: /category/*
Disallow: /?cat=*
Disallow: /*.inc$
Disallow: /*.js$
Disallow: /*.css$
Disallow: /require/
Disallow: /wp-login.php

当你用了上面的robots.txt文件后,在谷歌site一下自已的域名,就会发现分类等已经在搜索引擎中没有内容,例如免费部落的搜索结果如下图:

网站优化之robots.txt文件编写及优化

具体的解释就免了,这里我主要限制蜘蛛来抓取我的分类项目,标签,CSS文件,搜索结果,feed等.如果你的网站的固定链接是动态的,请将Disallow: /?p=*这一项去掉.如此一来,即可以减少搜索引擎的访问带给服务器的压力,也能给我的文章页面增加一定的权重.试想,如果搜索引擎抓取了你的网站上的所有内容,好像收录是很不错,然而文章的权重却在我们没有反应当中给降了下来.

可能很多朋友还会对百度新浪等的robots文件感兴趣,那您可以看看部落的各个大型门户网站的robots文件内容这篇文章.

PS:8月23日,补充一些内容:

1.防止盗链

一般盗链也就几个人,可是一旦被搜索引擎“盗链”那家伙你100M宽带也吃不消,如果你做的不是图片网站,又不想被搜索引擎“盗链”你的网站图片

Disallow: .jpg$

2.禁止某二级域名的抓取

一些网站会对VIP会员提供一些特殊服务,却又不想这个服务被搜索引擎检索到

Disallow: /

3.要拦截对所有包含问号 (?) 的网址的访问(具体地说,这种网址以你的域名开头、后接任意字符串,然后接问号,而后又接任意字符串),使用以下内容:

Disallow: /*?

要指定与某个网址的结尾字符相匹配,就用 $。例如,要拦截以 .xls 结尾的所有网址,就用以下内容:

Disallow: /*.xls$

你可以将此模式匹配与 Allow 指令配合使用。例如,如果 ? 代表一个会话 ID,那么你可能希望排除包含 ? 的所有网址,以确保 Googlebot 不会抓取重复网页。但是以 ? 结尾的网址可能是你希望包含

在内的网页的版本。在此情况下,你可以对你的 robots.txt 文件进行如下设置:
  User-agent: *

  Allow: /*?$

  Disallow: /*?

Disallow: /*? 指令会阻止包含 ? 的所有网址(具体地说,它将拦截所有以您的域名开头、后接任意字符串,然后接问号,而后又接任意字符串的网址)。

Allow: /*?$ 指令将允许以 ? 结尾的任何网址(具体地说,它将允许所有以您的域名开头、后接任意字符串,然后接 ?,? 之后不接任何字符的网址)。

PS:9月9日

现在部落的robots.txt文件已经改过了,不过前面的内容依然有效,当然只是让您拿来参考,当我们编写好自已的robots.txt文件后,最好是能检查一下内容是否规范,具体的操作您可以参考robots.txt文件的配置误区及在线检测robots.txt文件的有效性这一篇文章.

评论 2 条 评论内容很精采,有内幕,而且绝对有干货

  1. 一生有你 2014年12月13日 21:23  @回复  Δ-49楼 回复

    你好,我是位新手,请问上面的robots.txt文件对大多网站都通用?谢谢

给我留言