搜索引擎经过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信 息。您能够在您的网站中建立一个纯文本文件robots.txt,在这个文件中声明该网站中不想被robot 访问的部分,这样,该网站的部分或所有内容就能够不被搜索引擎收录了,或者指定搜 索引擎只收录指定的内容。css
robots.txt文件应该放在网站根目录下。举例来讲,当搜索引擎[1] 访问一个网站时,首先会检查该网站中是否存在robots.txt这个文件,若是robots机器人程序找到这个文件,它就会根据这个文件的内容,来肯定它访问权限的范围。网络
wordpress的robots文件位置ide
没在wordpress网站根节目上传过robots.txt,当搜寻引擎和用户拜访某个文件时,wordpress程序会主动生成一个robots.txt给搜寻引擎和用户;如果咱们上传编写的robots.txt到网站根节目,用户和搜寻引擎蛛蛛拜访的就是咱们上传的文件,wordpress就不会再产生那个文件了。只有服务器找不到robots的时候wordpress才会生成这个文件。wordpress
“robots.txt”文件包含一条或多条记录,这些记录经过空行分开(以CR、CR/NL、or NL做为结束符),每一条记录的格式以下所示:工具
“<field>:<optionalspace><value><optionalspace>”
在该文件中可使用#进行注释,具体使用方法和UNIX中的惯例同样。该文件中的记录一般以一行或多行User-agent开始,后面加上若干Disallow行,详细状况以下:
User-agent:
该项的值用于描述搜索引擎机器人robot的名字。在“robots.txt”文件中,若是有多条 User-agent记录,说明有多个robot会受到该协议的约束。因此,“robots.txt”文件中至少要有一条User- agent记录。若是该项的值设为*(通配符),则该协议对任何搜索引擎机器人均有效。在“robots.txt”文件 中,“User-agent:*”这样的记录只能有一条。
Disallow:
该项的值用于描述不但愿被访问到的一个URL,这个URL能够是一条完整的路径,也能够 是部分的,任何以Disallow开头的URL均不会被robot访问到。例如:
“Disallow: /help”对/help.html 和/help/index.html都不容许搜索引擎访问, 而“Disallow: /help/”则容许robot访问/help.html,而不能访问/help/index.html。
任何一条Disallow记录为空,说明该网站的全部部分都容许被访问,在 “/robots.txt”文件中,至少要有一条Disallow记录。若是“/robots.txt”是一个空文 件,则对于全部的搜索引擎robot,该网站都是开放的。
有些人会问,既然robots文件没弄好,或出错了,会影响整个网站的收录,那为何还要这个文件呢?
其实robots是为有特别状况的站长准备的,由于有些网站,有一些页面是站长不想被任何搜索引擎收录的,因此才有了这个robots文件。
robots.txt文件用法举例:
例一、禁止全部搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
例二、容许全部的robot访问
User-agent: *
Disallow:
(或者也能够建一个空文件 "/robots.txt" file)
例三、禁止某个搜索引擎的访问
User-agent: BadBot
Disallow: /
例四、容许某个搜索引擎的访问
User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
例五、假设某个网站有三个目录对搜索引擎的访问作了限制,能够这么写:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /joe/
须要注意的是,对每个目录必须分开声明,而不要写成:“Disallow: /cgi-bin/ /tmp/”。
User-agent:后的*(通配符) 具备特殊的含义,表明“any robot”,因此在该文件中不能有 “Disallow: /tmp/*” or “Disallow: *.gif ”这样的记录出现。
另外,robots.txt主要做用是保障网络安全与网站隐私,百度蜘蛛遵循robots.txt协议。经过根目录中建立的纯文本文件robots.txt,网站就能够声明哪些页面不想被百度蜘蛛爬行并收录,每一个网站均可以自主控制网站是否愿意被百度蜘蛛收录,或者指定百度蜘蛛只收录指定的内容。当百度蜘蛛访问某个站点时,它会首先检查该站点根目录下是否存在robots.txt,若是该文件不存在,那么爬虫就沿着连接抓取,若是存在,爬虫就会按照该文件中的内容来肯定访问的范围。
屏蔽隐私页面,后台登录页面,缓存页面,图片目录,css目录,模板页面,屏蔽双页面的内容,同时能够屏蔽一些质量比较差的页面,例如金网的全部会员用户空间页面,dz的动态连接也能够设置屏蔽。经过Disallow:命令来进行设置。
每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(没法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,因此你应该在网站中添加一个robots.txt。
网站管理员必须使搜索引擎机器人程序远离服务器上的某些目录,以保证服务器性能。好比:大多数网站服务器都有程序储存在“cgi-bin”目录下,所以在robots.txt文件中加入“Disallow: /cgi-bin”是个好主意,这样可以避免全部程序文件都被蜘蛛索引,以达到节省服务器资源的效果。
通常网站中不须要蜘蛛抓取的文件有:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。
下面是VeryCMS里的robots.txt文件:
User-agent: *
Disallow: /admin/ 后台管理文件
Disallow: /require/程序文件
Disallow: /p_w_upload/ 附件
Disallow: /p_w_picpaths/ 图片
Disallow: /data/数据库文件
Disallow: /template/ 模板文件
Disallow: /css/ 样式表文件
Disallow: /lang/ 编码文件
Disallow: /script/脚本文件
Disallow: /js/js文件
若是你的网站是动态网页,而且你为这些动态网页建立了静态副本,以供搜索蜘蛛更容易抓取。那么你须要在robots.txt文件里设置避免动态网页被蜘蛛索引,以保证这些网页不会被视为是网站重复的内容。
robots.txt文件里还能够直接包括在sitemap文件的连接。就像这样:
Sitemap: http://www.***.com/sitemap.xml
目 前对此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,显然不在这个圈子内。这样作的好处就是,站长不用到每一个搜索引擎的站长工具或者类似的站长部分,去提交本身的sitemap文件,搜索引擎的蜘蛛本身就会抓取robots.txt文件,读取其中的sitemap路径,接着抓取其中相连接的网页。
合理使用robots.txt文件还能避免访问时出错。好比,不能让搜索者直接进入购物车页面。由于没有理由使购物车被收录,因此你能够在robots.txt文件里设置来阻止搜索者直接进入购物车页面。