一、什么是robots.txt文件
1、它是我们的网站与各搜索引擎的一个协议,只是一个协议,搜索引擎不一定会遵守。
2、搜索引擎蜘蛛访问我们的网站时,第一个查看的文件就是我们网站根目录下的一个命名为robots.txt的文件。
3、robots协议同样具有生效时间,搜索引擎今天就会遵守,以百度为例其生效时间,需要两个月后才会遵守这个协议;
二、robots.txt文件编写规则
1、User-agent: 定义搜索引擎类型,常见的各搜索引擎的名字分别是:Baiduspider(百度蜘蛛)、Googlebot(谷歌蜘蛛)、360Spider(360蜘蛛)、Sosospider(SOSO蜘蛛)、Youdaobot(有道蜘蛛)等。
User-agent: *,其中“*”是通配符,允许所有的搜索引擎抓取。
如果写成User-agent: Baiduspider,表示只有百度蜘蛛可以抓取我的网站内容。
2、Disallow:告诉蜘蛛不要抓取某些文件或目录,以robots.txt文件为例:
Disallow: /wp-admin/,表示所有 URL路径里完全含有/wp-admin/这段字符的路径,搜索引擎蜘蛛都不能抓取;比如:http://www.ncsseo.com/wp-admin/post-new.php,这个链接搜索引擎蜘蛛是不能抓取的;
3、 Allow:告诉搜索引擎蜘蛛哪些文件是可以抓取的。由于不指定就是允许抓取的,Allow:单独写没有意义,Allow是需要和Disallow配合使用,可以告诉搜索引擎蜘蛛某个目录下大部分不允许抓取,只允许抓取一部分。
例如:下面的代码将使蜘蛛不抓取/ab/目录下其他目录和文件,但是允许抓取其中/cd/目录下的内容:
User-agent: *
Disallow: /ab/
Allow: /ab/cd/
还需要说明的是,注意撰写的先后顺序,必须是这样。
4、 其他符合含义说明:
1) ”*”通配符:告诉蜘蛛匹配任意一段字符,
例如:下面一段代码将禁止蜘蛛抓取所有含有htm的文件:
User-agent: *
Disallow: /*.htm
例如:下面一段代码将禁止蜘蛛抓取所有含有“?”的动态路径:
User-agent: *
Disallow: /*?*
2) ”$”通配符:匹配URL结尾的字符。
例如:下面的代码将允许蜘蛛抓取以.htm为后缀的URL:
User-agent: *
Allow: .htm$
下面的代码将禁止百度抓取所有以.webp结尾文件:
User-agent: Baiduspider
Disallow: .webp$
三、robots.txt的作用
1、告诉某搜索引擎 抓取或者不抓取我们网站的某些内容;
2、告诉搜索引擎我们网站优化的完善程度 ;
3、告诉搜索引擎应该通过哪个文件来索引我们的网站(逻辑路径)
四、常见的哪些情况下是不需要蜘蛛抓取
1、网站的账户密码、模板、网站的主程序、小图标;
2、一个页面有很多路径,只允许搜索页抓取其中的1条,其他的不允许(统一路径);
3、屏蔽tag中文路径,例如wordpress做了伪静态,就要屏蔽动态(tags.php?/0.000000E+0)
4、标签链接、搜索页、js文件;
五、robots.txt文件编写的注意事项
1、注意符号细节的使用:/、:、大小写、空格等,所有符号必须在英文状态下输入。比如:下面的例子表示所有搜索引擎不能抓取该网站;
User-agent: *
Disallow: /
2、一般robots.txt文件编写并提交后,需要几天到两个月以内才会生效;
3、不要随意屏蔽整站,会导致搜索引擎蜘蛛很久都不会来抓取你的网站;
4、所有的语句必须每个一行:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow:/wp-includes/
5. 注意区分有无带“/”
下面的代码将禁止所有搜索引擎抓取wp-admin目录下的文件:
User-agent: *
Disallow: /wp-admin/
下面的代码将禁止所有搜索引擎抓取带有wp-admin的文件:
User-agent: *
Disallow: /wp-admin
6、可以把网站地图URL放在robots.txt文件里,因为该文件是蜘蛛第一个抓取的文件,这样更加方便蜘蛛快速抓取;