做网站挣钱打擦边球,wordpress 自动汉化,wordpress分类页面添加幻灯片,wordpress域名+文件Robots.txt指南当搜索引擎访问一个网站时#xff0c;它首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件。Robots.txt文件用于限定搜索引擎对其 网站的访问范围#xff0c;即告诉搜索引擎网站中哪些文件是允许它进行检索(下载)的。这就是大家在网络上常看到的“…Robots.txt指南 当搜索引擎访问一个网站时它首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件。Robots.txt文件用于限定搜索引擎对其 网站的访问范围即告诉搜索引擎网站中哪些文件是允许它进行检索(下载)的。这就是大家在网络上常看到的“拒绝Robots访问标准”(Robots Exclusion Standard)。下面我们简称RES。Robots.txt文件的格式 Robots.txt文件的格式比较特殊它由记录组成。这些记录通过空行分开。其中每条记录均由两个域组成 1) 一个User-Agent(用户代理)字符串行 2) 若干Disallow字符串行。 记录格式为 : 下面我们分别对这两个域做进一步说明。User-agent(用户代理) User-agent行(用户代理行) 用于指定搜索引擎robot的名字以Google的检索程序Googlebot为例有User-agent: Googlebot 一个robots.txt中至少要有一条User-agent记录。如果有多条User-agent记录则说明有多个robot会受到RES标准的限制。当然了如果要指定所有的robot只需用一个通配符*就搞定了即User-agent: *Disallow(拒绝访问声明) 在Robots.txt文件中每条记录的第二个域是Disallow:指令行。这些Disallow行声明了该网站中不希望被访问的文件和(或)目 录。例如Disallow: email.htm对文件的访问进行了声明禁止Spiders下载网站上的email.htm文件。而Disallow: /cgi-bin/则对cgi-bin目录的访问进行了声明拒绝Spiders进入该目录及其子目录。Disallow声明行还具有通配符功能。例如 上例中Disallow: /cgi-bin/声明了拒绝搜索引擎对cgi-bin目录及其子目录的访问而Disallow:/bob则拒绝搜索引擎对/bob.html和 /bob/index.html的访问(即无论是名为bob的文件还是名为bob的目录下的文件都不允许搜索引擎访问)。Disallow记录如果留空 则说明该网站的所有部分都向搜索引擎开放。 空格 注释 在robots.txt文件中凡以#开头的行均被视为注解内容这和UNIX中的惯例是一样的。但大家需要注意两个问题 1) RES标准允许将注解内容放在指示行的末尾但这种格式并不是所有的Spiders都能够支持。譬如并不是所有的Spiders都能够正确理 解Disallow: bob #comment这样一条指令。有的Spiders就会误解为Disallow的是bob#comment。最好的办法是使注解自成一行。 2) RES标准允许在一个指令行的开头存在空格象Disallow: bob #comment但我们也并不建议大家这么做。Robots.txt文件的创建 需要注意的是应当在UNIX命令行终端模式下创建Robots.txt纯文本文件。好的文本编辑器一般都能够提供UNIX模式功能或者你的FTP客 户端软件也“应该”能够替你转换过来。如果你试图用一个没有提供文本编辑模式的HTML编辑器来生成你的robots.txt纯文本文件那你可就是瞎子 打蚊子——白费力气了。对RES标准的扩展 尽管已经提出了一些扩展标准如Allow行或Robot版本控制(例如应该忽略大小写和版本号)但尚未得到RES工作组的正式批准认可。附录I. Robots.txt用法举例 使用通配符*可设置对所有robot的访问权限。 User-agent: * Disallow: 表明允许所有搜索引擎访问网站下的所有内容。 User-agent: * Disallow: / 表明禁止所有搜索引擎对网站下所有网页的访问。 User-agent: * Disallow: /cgi-bin/Disallow: /images/ 表明禁止所有搜索引擎进入网站的cgi-bin和images目录及其下所有子目录。需要注意的是对每一个目录必须分开声明。 User-agent: Roverdog Disallow: / 表明禁止Roverdog访问网站上的任何文件。 User-agent: GooglebotDisallow: cheese.htm 表明禁止Google的Googlebot访问其网站下的cheese.htm文件。 上面介绍了一些简单的设置对于比较复杂的设置可参看一些大型站点如CNN或Looksmart的robots.txt文件(www.cnn.com/robots.txt‚ www.looksmart.com/robots.txt)附录II. 相关robots.txt文章参考 1. Robots.txt常见问题解析 2. Robots Meta Tag的使用 3. Robots.txt检测程序Robots.txt常见问题解析 我们开发了一个针对robots.txt文件的“验检程序”同时又设计了一个搜索程序专门下载robots.txt文件以此对新推出的这个 “robots.txt验检程序”进行测试。在对DMOZ(ODP)中所链接的站点进行遍历共计检索240万个站点后我们总共找到了大概75k的 robots.txt文件。 在这些robots.txt文件中我们发现了大量的而且是形形色色的问题。有超过5%的robots.txt文件使用了错误格式有超过2%的文件由于使用的是极其拙劣的格式而导致无法为任何SPIDER读取。我们将发现的一些问题在下面列出来供大家参考借鉴错误1—语法混用 例如 User-agent: * Disallow: scooter 正确语法应为 User-agent: scooter Disallow: *错误2—一行Disallow声明多个目录 这是一个比较常见的错误。我们发现很多网站在其robots.txt中在一个Disallow指令行中放入了多个目录。譬如Disallow: /css/ /cgi-bin/images/绝大多数的spiders对上述声明行都无法做出正确的解析有些Spiders会忽略其空格而解析为/css//cgi-bin//images/或只解析/images/或/css/或者根本不予解析。 正确的语法应为 Disallow: /css/ Disallow: /cgi-bin/ Disallow: /images/错误3—在DOS模式下编辑robots.txt文件 这也是一个比较常见的错误。正确的做法应该是在UNIX模式下编辑你的robots.txt文件并以ASCII码格式上传。显然并非所有的FTP客户端 软件都能够天衣无缝地将文件格式转换为UNIX命令行终端所以在编辑robots.txt文件时一定要确保你的文本编辑器是在UNIX模式下。错误4—在指示行末尾加注 在robots.txt文件中凡以#开头的行均被视为注解内容这和UNIX中的惯例是一样的。例如Disallow: /cgi-bin/ # this bans robots from our cgi-bin 虽然根据RES标准在指示行的末尾加注是可行的但这种格式在过去却并非所有的Spiders都能够支持有些Spiders干脆就把整个句子视为注 解内容直接跳过去不读。当然我们知道现如今搜索引擎基本上都能够支持这种格式不过—仍有可能无法被某些搜索引擎正确解读你冒得起这个险吗我们建议在 编辑robots.txt文件时最好让注解自成一行。错误5—指令行前有空格 例如Disallow: /cgi-bin/虽然RES标准并未对这种格式予以特别说明但我们对这种格式是持极力反对态度的。同样的问题摆在你面前你冒得起无法被Spiders正确解读的险吗?错误6--404重定向至另一页面 一般没有robots.txt的网站会将对robots.txt文件的调用请求转至另一页面。这种重定向通常不会产生服务器状态错误或重定向状态信息。 然而因为是Spiders自己决定它看到的是robots.txt文件还是一个.html文件。虽然理论上应该不会有什么问题不过为了保险起见不妨在 你服务器的顶级目录下放一个空的robots.txt文件。在www.google.com/bot.html下也提供了相同的建议—“如欲避免网络服 务器日志中的出错信息找不到文件可在其根域下创建一个空的robots.txt文件。”错误7—声明自相矛盾 例如 USER-AGENT: EXCITE DISALLOW: 虽然RES标准忽略大小写(Case Sensitive)但目录和文件名却是大小写敏感的。所以对于USER-AGENT和DISALLOW指令用大小写都是可以的。但对于所声明的目录或文件名却一定要注意大小写的问题。错误8—列出所有文件 这也是一种常见错误不厌其烦地将目录下文件全数列出。例如 Disallow: /AL/Alabama.html Disallow: /AL/AR.html Disallow: /Az/AZ.html Disallow: /Az/bali.html Disallow: /Az/bed-breakfast.html 其实上面这么多声明行只需用目录选项来替代 Disallow: /AL Disallow: /Az 需要注意的是反斜杠/表示禁止搜索引擎进入该目录。如果只有几十个文件需要设置访问权限那倒也无可厚非。问题是我们发现有一个robots.txt文件中列出了有400k多达4‚000个文件。我们只是纳闷看到这么多声明有多少Spiders会掉头而去。错误9—自创ALLOW指令 没有ALLOW指令只有DISALLOW指令我们发现有这样的用法 User-agent: Spot Disallow: /john/ allow: /jane/ 正确写法应为 User-agent: Spot Disallow: /john/ Disallow:错误10—对声明的目录无反斜杠标识 例如我们发现有这样的例子 User-agent: Spot Disallow: john 对这样的记录Spider该怎么反应按照RES标准Spider会将名为john的文件和名为john的目录都DISALLOW。所以要记得使用/来标识所声明的路径(目录)。 我们还发现有些网站的优化工作做得真彻底竟然在其robots.txt中也放了关键词(费解不明白他们怎么想的)。这些人一定是把他们的 robots.txt纯文本文件当作是html文件了。(要记住在FrontPage下是不可能正确创建robots.txt文件的) 错误11—网络服务器端的错误配置 为什么对robots.txt文件的调用请求会产生一个二进制文件只有网络服务器或FTP客户端软件错误设置的情况下才可能发生这种错误。建议大家定期检查自己的robots.txt文件(http://www.mydomain.com/robots.txt)。服务器/域名“农场” 搜索引擎检测服务器或域名“农场”(即包含巨量站点)的一个简单途径是看它们的robots.txt。我们发现规模在400到500个域名的大型域名 “农场”其“库”内站点使用都是同一个robots.txt文件。这也就相当于告诉搜索引擎这些使用同一robots.txt文件的站点是相关联的。Google率先支持通配符: Google是第一家能够支持robots.txt中通配符文件扩展名的搜索引擎。例如: User-agent: googlebot Disallow: *.cgi 不过注意了由于目前只有Google能够支持这种格式所以”USER-AGENT”只能是“Googlebot”。 转载于:https://www.cnblogs.com/top5/archive/2009/09/17/1568319.html