typecho配置Robots.txt
什么是Robots协议(robots.txt)?
Robots协议(也称为爬虫协议、机器人协议等)全称是“网络爬虫排除标准”(Robots Exclusion Protocol),是国际互联网界通行的道德规范。
Robots是站点与spider沟通的重要渠道,站点通过robots告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯。因其不是命令,故需要搜索引擎自觉遵守
robots.txt如何奏效呢?
搜索引擎机器人访问网站时,首先会寻找站点根目录有没有 robots.txt文件,如果有这个文件就根据文件的内容确定收录范围,如果没有就按默认访问以及收录所有页面。
另外,当搜索蜘蛛发现不存在robots.txt文件时,会产生一个404错误日志在服务器上,从而增加服务器的负担,因此为站点添加一个robots.txt文件还是很重要的。
百度也会严格遵守robots的相关协议,要注意区分你不想被抓取或收录的目录的大小写,百度会对robots中所写的文件和你不想被抓取和收录的目录做精确匹配,否则robots协议无法生效
robots.txt基本语法
User-agent:描述搜索引擎robot的名字
可以指定该规则只对baidu 或者google 或者其它指定搜索引擎有效 可用通配符 “*” 表示全部
Disallow: 描述不希望被访问的一组URL
设定禁止访问的部分,可以用完整url,也可以用相对路径,可以是单个目文件,也可以是整个文件夹,也可以用通配符限定指定类型
Allow: 描述希望被访问的一组URL
设定允许访问的部分,不过因为默认是全部允许的,这个语法通常是配合disallow使用的,用它来完成 如“除了xxx.html该目录下全部不能访问”这样的设定。 要注意的是allow和disallow的顺序是有讲究的,搜索引擎会以它先看到的规则为判断标准。
Sitemap:指示蜘蛛去爬取网站的sitemap文件
通配符:"$" 匹配行结束符;"*" 匹配0或多个任意字符
注意:robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写
如何辨别自己网站是否配置了robots.txt呢?
第一种方法:访问网址 http(s):你的域名/robots.txt即可
第二种方法:通过百度站长工具来检测传送门
如何正确编写一个规范的robots.txt呢?
我们想要的效果是:
要求所有搜索引擎遵循我的这个协议
禁止蜘蛛抓取 我的后台地址 和 Typecho的安装路径
指引蜘蛛去抓取 我的Sitemap
那么我们可以这样写,在网站根目录下新建一个robots.txt文件,内容如下:
User-agent: *
Allow: /*.html$
Allow: /usr
Allow: /*.png$
Allow: /*.jpg$
Allow: /*.jepg$
Allow: /*.gif$
Allow: /*.bmp$
Disallow: /admin/
Disallow: /install/
Disallow: /var/
Disallow: /config.inc.php
Disallow: /install.php
Sitemap:替换成你自己的sitemap地址
typecho默认是没有robots.txt文件的(╯﹏╰),需要我们自行创建,且文件名要小写哦!
Sitemap要替换为你的网站的Sitemap所在路径(默认一般在根目录下)
这样既可以起到保护我们网站隐私的作用,也可以正确的指导搜索引擎去爬取我们网站的信息,快速提高网站收录的概率!
现在的机器人都无视robots.txt到处乱爬了。但知乎那个反爬新手段确实可以