Home  >  Article  >  Backend Development  >  SEO关于robots.txt_PHP

SEO关于robots.txt_PHP

WBOY
WBOYOriginal
2016-06-01 12:34:491126browse

SEO

robots.txt和Robots META标签

平文胜 2003-10-29

我们知道,搜索引擎都有自己的“搜索机器人”(ROBOTS),并通过这些ROBOTS在网络上沿着网页上的链接(一般是http和src链接)不断抓取资料建立自己的数据库。 对于网站管理者和内容提供者来说,有时候会有一些站点内容,不希望被ROBOTS抓取而公开。为了解决这个问题,ROBOTS开发界提供了两个办法:一个是robots.txt,另一个是The Robots META标签。
一、 robots.txt
1、 什么是robots.txt? robots.txt是一个纯文本文件,通过在这个文件中声明该网站中不想被robots访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。 当一个搜索机器人访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果找到,搜索机器人就会按照该文件中的内容来确定访问的范围,如果该文件不存在,那么搜索机器人就沿着链接抓取。 robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。 网站 URL
相应的 robots.txt的 URL

http://www.w3.org/
http://www.w3.org/robots.txt
http://www.w3.org:80/
http://www.w3.org:80/robots.txt
http://www.w3.org:1234/
http://www.w3.org:1234/robots.txt
http://w3.org/
http://w3.org/robots.txt

2、 robots.txt的语法

"robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
":"。 在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow行,详细情况如下:

User-agent:
该项的值用于描述搜索引擎robot的名字,在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何机器人均有效,在"robots.txt"文件中, "User-agent:*"这样的记录只能有一条。

Disallow :
该项的值用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow 开头的URL均不会被robot访问到。例如"Disallow: /help"对/help.phpl 和/help/index.phpl都不允许搜索引擎访问,而"Disallow: /help/"则允许robot访问/help.phpl,而不能访问/help/index.phpl。

任何一条Disallow记录为空,说明该网站的所有部分都允许被访问,在"/robots.txt"文件中,至少要有一条Disallow记录。如果 "/robots.txt"是一个空文件,则对于所有的搜索引擎robot,该网站都是开放的。

下面是一些robots.txt基本的用法:
l 禁止所有搜索引擎访问网站的任何部分:
User-agent: *
Disallow: / l 允许所有的robot访问
User-agent: *
Disallow:
或者也可以建一个空文件 "/robots.txt" file l 禁止所有搜索引擎访问网站的几个部分(下例中的cgi-bin、tmp、private目录)
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/ l 禁止某个搜索引擎的访问(下例中的BadBot)
User-agent: BadBot
Disallow: / l 只允许某个搜索引擎的访问(下例中的WebCrawler)
User-agent: WebCrawler
Disallow: User-agent: *
Disallow: /

3、 常见搜索引擎机器人Robots名字
名称 搜索引擎
Baiduspider http://www.baidu.com Scooter http://www.altavista.com ia_archiver http://www.alexa.com Googlebot http://www.google.com FAST-WebCrawler http://www.alltheweb.com Slurp http://www.inktomi.com MSNBOT http://search.msn.com 

4、 robots.txt举例

下面是一些著名站点的robots.txt:

http://www.cnn.com/robots.txt

http://www.google.com/robots.txt

http://www.ibm.com/robots.txt

http://www.sun.com/robots.txt

http://www.eachnet.com/robots.txt

5、 常见robots.txt错误

l 颠倒了顺序:
错误写成
User-agent: *
Disallow: GoogleBot

正确的应该是:
User-agent: GoogleBot
Disallow: *

l 把多个禁止命令放在一行中:
例如,错误地写成
Disallow: /css/ /cgi-bin/ /../images/

正确的应该是
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /../images/

l 行前有大量空格
例如写成
Disallow: /cgi-bin/
尽管在标准没有谈到这个,但是这种方式很容易出问题。

l 404重定向到另外一个页面:
当Robot访问很多没有设置robots.txt文件的站点时,会被自动404重定向到另外一个Html页面。这时Robot常常会以处理robots.txt文件的方式处理这个Html页面文件。虽然一般这样没有什么问题,但是最好能放一个空白的robots.txt文件在站点根目录下。

l 采用大写。例如
USER-AGENT: EXCITE
DISALLOW:
虽然标准是没有大小写的,但是目录和文件名应该小写:
user-agent:GoogleBot
disallow:

l 语法中只有Disallow,没有Allow!
错误的写法是:
User-agent: Baiduspider
Disallow: /john/
allow: /jane/

l 忘记了斜杠/
错误的写做:
User-agent: Baiduspider
Disallow: css

正确的应该是
User-agent: Baiduspider
Disallow: /css/

下面一个小工具专门检查robots.txt文件的有效性:http://www.searchengineworld.com/cgi-bin/robotcheck.cgi

二、 Robots META标签

1、什么是Robots META标签

Robots.txt文件主要是限制整个站点或者目录的搜索引擎访问情况,而Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的

中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。具体的形式类似(见黑体部分):

时代营销--网络营销专业门户

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn