搜索引擎禁止的方式优化网站(搜索引擎通过一种程序robot.txt的值用于自动访问互联网)
优采云 发布时间: 2021-10-08 13:06搜索引擎禁止的方式优化网站(搜索引擎通过一种程序robot.txt的值用于自动访问互联网)
(转载:)
使用robots文件屏蔽搜索爬虫的详细方法
搜索引擎使用程序机器人(也称为蜘蛛)来自动访问互联网上的网页并获取网页信息。
您可以在您的网站中创建一个纯文本文件robots.txt,并在该文件中声明您不想被机器人访问的网站部分。这样就可以将网站的部分或全部内容排除在搜索引擎收录之外,或者只能由收录指定搜索引擎。robots.txt文件应该放在网站的根目录下。
当搜索机器人(也称为搜索蜘蛛)访问站点时,它会首先检查站点根目录中是否存在robots.txt。如果存在,搜索机器人会根据文件内容确定访问范围;如果文件不存在,搜索机器人会沿着链接爬行。
robots.txt 文件格式:
“robots.txt”文件收录一个或多个记录,由空行分隔(以CR、CR/NL 或NL 作为终止符)。每条记录的格式如下:
“:”。
可以在这个文件中使用#做注释,具体用法同UNIX中的约定。此文件中的记录通常以一行或多行 User-agent 开头,后跟几行 Disallow 行,详细信息如下:
用户代理:
此项的值用于描述搜索引擎机器人的名称。在“robots.txt”文件中,如果有多个User-agent记录,表示多个robots会被协议限制。对于这个文件,至少有一个 User-agent 记录。如果该项的值设置为*,则该协议对任何机器人都有效。在“robots.txt”文件中,只能有“User-agent:*”等一条记录。
不允许:
此项的值用于描述您不想访问的 URL。此 URL 可以是完整路径或其中的一部分。机器人不会访问任何以 Disallow 开头的 URL。例如,“Disallow:/help”不允许搜索引擎访问/help.html 和/help/index.html,而“Disallow:/help/”允许机器人访问/help.html,但不允许访问/help/索引.html。如果任何 Disallow 记录为空,则表示允许访问 网站 的所有部分。“/robots.txt”文件中必须至少有一个 Disallow 记录。如果“/robots.txt”是一个空文件,这个网站 对所有搜索引擎机器人都是开放的。
robots.txt 文件使用示例:
示例 1. 禁止所有搜索引擎访问 网站 的任何部分来下载 robots.txt 文件 User-agent: * Disallow: /
示例 2. 允许所有机器人访问(或者您可以创建一个空文件“/robots.txt”文件) User-agent: *Disallow:
示例 3. 禁止访问搜索引擎 User-agent: BadBotDisallow: /
示例 4. 允许搜索引擎访问 User-agent: baiduspiderDisallow: User-agent: *Disallow: /
示例 5. 一个简单的示例 在这个示例中,网站 有三个限制搜索引擎访问的目录,即搜索引擎不会访问这三个目录。需要注意的是,每个目录必须单独声明,不能写成“Disallow: /cgi-bin/ /tmp/”。User-agent:后面的*有特殊含义,代表“任何机器人”,所以“Disallow: /tmp/*”或“Disallow: *.gif”之类的记录不能出现在这个文件中。用户代理:*禁止:/cgi-bin/禁止:/tmp/禁止:/~joe/
机器人特殊参数:
1. 谷歌
允许 Googlebot:
如果您想阻止除 Googlebot 之外的所有漫游器访问您的网页,您可以使用以下语法:
用户代理:禁止:/
用户代理:Googlebot
不允许:
Googlebot 遵循指向自身的线条,而不是指向所有机器人的线条。
“允许”扩展名:
Googlebot 可识别名为“允许”的 robots.txt 标准扩展名。来自其他搜索引擎的机器人可能无法识别此扩展名,因此请使用您感兴趣的其他搜索引擎来查找它。“允许”行的功能与“禁止”行完全相同。只需列出您想要允许的目录或页面。
您也可以同时使用“禁止”和“允许”。例如,要阻止子目录中除某个页面之外的所有页面,您可以使用以下条目:
用户代理:Googlebot
禁止:/folder1/
允许:/folder1/myfile.html
这些条目将阻止文件夹 1 目录中除 myfile.html 之外的所有页面。
如果您想阻止 Googlebot 并允许另一个 Google 机器人(例如 Googlebot-Mobile),您可以使用“允许”规则来允许访问该机器人。例如:
用户代理:Googlebot
不允许: /
用户代理:Googlebot-Mobile
允许:
使用 * 匹配字符序列:
您可以使用星号 (*) 来匹配字符序列。例如,要阻止对所有以 private 开头的子目录的访问,请使用以下条目:
用户代理:Googlebot
禁止:/私人*/
要阻止访问所有收录问号 (?) 的 URL,请使用以下条目:
用户代理:*
不允许: /*?*
使用 $ 匹配 URL 的结尾
您可以使用 $ 字符指定与 URL 的结束字符匹配。例如,要阻止以 .asp 结尾的 URL,请使用以下条目:
用户代理:Googlebot
禁止:/*.asp$
您可以将此模式与 Allow 指令匹配使用。例如,如果?表示会话 ID。您可以排除收录此 ID 的所有网址,以确保 Googlebot 不会抓取重复的网页。但与?末尾的 URL 可能是您要收录的页面版本。在这种情况下,您可以按如下方式设置 robots.txt 文件:
用户代理:*
允许: /*?$
不允许: /*?
不允许: /*?一行会拦截收录吗?(具体来说,它将阻止所有以您的域名开头,后跟任何字符串,然后是问号 (?),然后是任何字符串的 URL)。
允许: /*?$ 将允许收录任何以?结束 URL(具体来说,它将允许所有以您的域名开头的 URL,后跟任何字符串,然后是问号 (?),问号后没有任何字符)。
网站地图 网站地图:
支持网站地图的新方式是在robots.txt文件中直接收录站点地图文件的链接。
像这样:
网站地图:
目前支持这一功能的搜索引擎公司有 Google、Yahoo、Ask 和 MSN。
但是,我建议在 Google Sitemap 中提交它,它有很*敏*感*词*可以分析您的链接状态。
Robots.txt 的好处:
1. 几乎所有的搜索引擎蜘蛛都遵循robots.txt给出的爬取规则。协议规定搜索引擎蜘蛛进入某个网站的入口是网站的robots.txt。当然,前提是这个文件存在于网站中。对于没有配置robots.txt的网站,Spider会被重定向到404错误页面。相关研究表明,如果网站使用自定义的404错误页面,那么Spider会将其视为制作robots.txt——虽然它不是纯文本文件——这会给Spider索引网站带来很多麻烦@> 并影响搜索引擎的 网站 页面的 收录。
2. robots.txt 可以防止不必要的搜索引擎占用服务器的宝贵带宽,例如电子邮件检索器。这种搜索引擎对大多数网站来说毫无意义;另一个例子是图像剥离器。对于非图形网站来说,意义不大,但是会消耗大量带宽。
3. robots.txt 可以防止搜索引擎抓取和索引非公开页面,例如网站 的后台程序和管理程序。其实对于一些网站在操作过程中产生临时页面的@>比如,如果没有配置robots.txt,搜索引擎甚至会索引那些临时文件。
4.对于内容丰富、页面多的网站来说,配置robots.txt更为重要,因为经常会遇到搜索引擎Spider对网站的巨大压力:Spider访问的洪流,如果不加以控制,甚至会影响网站的正常访问。
5. 同理,如果网站中存在重复内容,使用robots.txt来限制部分页面被搜索引擎收录和收录,可以防止网站被被搜索引擎复制 内容惩罚保证了网站的排名不受影响。
robots.txt 带来的风险和解决方案:
1. 一切都有优点和缺点。Robots.txt也带来了一定的风险:它还向攻击者指出了网站的目录结构和私有数据的位置。在Web服务器的安全措施配置妥当的前提下,这虽然不是什么严重的问题,但降低了恶意攻击的难度。
比如访问网站中的私有数据,robots.txt中的设置可能如下:
用户代理: *
禁止:/私人/
这样,攻击者只需要查看robots.txt就知道你要隐藏的内容在哪里,在浏览器中输入就可以访问我们不想公开的内容。在这种情况下,一般采取以下措施:
设置访问权限并密码保护 /private/ 中的内容,使攻击者无法进入。
另一种方法是将默认目录主文件index.html重命名为别的东西,比如abc-protect.html,这样内容的地址就变成了,同时新建一个index.html文件,大致如下内容“您无权访问此页面”。通过这种方式,攻击者无法访问私人内容,因为他们不知道实际的文件名。
2. 如果设置不正确,会导致搜索引擎删除所有索引数据。
用户代理: *
不允许: /
上面的代码将禁止所有搜索引擎索引数据。
目前看来大部分搜索引擎robots都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是在逐渐增加。比如知名搜索引擎GOOGLE就完全支持,GOOGLE还增加了一个命令“archive”可以限制GOOGLE是否保留网页快照。例如:
是指抓取站点中的页面并关注页面中的链接,但不要在GOOLGE上保留该页面的网页快照。
IDCE网络
(转载:)