一、robots基本概念
robots.txt文件是网站的一个文件,它是给搜索引擎蜘蛛看的。搜索引擎蜘蛛爬行道我们的网站首先就是抓取这个文件,根据里面的内容来决定对网站文件访问的范围。它能够保护我们的一些文件不暴露在搜索引擎之下,从而有效的控制蜘蛛的爬取路径,为站长做好seo优化创造必要的条件。
1、网站必须要有一个robot.txt文件。
2、robots.txt文件应该放置在网站根目录下
3、robots是小写字母。
二、robots.txt的基本语法
1、User-agent: *
这里的*代表的所有的搜索引擎种类,*是一个通配符
禁止某个搜索引擎的访问
User-agent: BadBot
Disallow: /
例4. 允许某个搜索引擎的访问
User-agent: Baiduspider
Allow: /
2、Allow: 代表允许抓取
Allow: /framework/ 这里定义是允许爬寻framework目录下面的目录
Allow: /temp 这里定义是允许爬寻temp的整个目录
Allow: .htm$ 仅允许访问以”.htm”为后缀的URL
Allow: .gif$ 允许抓取网页和gif格式图片
3、Disallow: 代表禁止抓取
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)
Disallow: /? 禁止访问网站中所有包含问号 (?) 的网址
Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片
Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件
4、通配符的使用
使用 * 号匹配字符序列:
例如,要拦截对所有以 private 开头的子目录的访问,可这样写:
User-Agent: *
Disallow: /private*/
要拦截对所有包含问号 (?) 的网址的访问,可使用下列条目:
User-agent: *
Disallow: /*?*
要拦截以 .asp 结尾的网址,可这样写:
User-agent: *
Disallow: /*.asp$
如果 ? 表示一个会话 ID,您可排除所有包含该 ID 的网址,确保搜索引擎不会抓取重复的网页。但是,以 ? 结尾的网址可能是您要包含的网页版本。
在此情况下,可对 robots.txt 文件进行如下设置:
User-agent: *
Allow: /*?$
允许包含所有以您的域名开头、后接任意字符串,然后是问号(?),问号之后没有任何字符的网址)。
User-agent: *
Disallow: /*?
拦截所有以您的域名开头、后接任意字符串,然后是问号 (?),而后又是任意字符串的网址)。
5、Sitemap: 网站地图
robots文件里添加一行:
Sitemap:https://www.chukuangren.com/sitemap.xml
意思就是告诉搜索引擎机器人这个页面是网站地图,请放心大胆的抓取。
三、robots.txt实例分析
例1. 禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
例2. 允许所有的搜索引擎访问网站的任何部分
User-agent: *
Allow:
例3. 仅禁止Baiduspider访问您的网站
User-agent: Baiduspider
Disallow: /
例4. 仅允许Baiduspider访问您的网站
User-agent: Baiduspider
Disallow:
例5. 禁止(搜索引擎蜘蛛)spider访问特定目录
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /data/
注意事项:
1)三个目录要分别写。
2)请注意最后要带斜杠。
3)路径后面有斜杠和没有斜杠的区别:
Disallow: /tmp/ 有斜杠是禁止抓取tmp整个文件夹,
Disallow: /tmp 没有斜杠意思是凡是路径里面有/tmp关键词的都会被屏蔽
例6. 允许访问特定目录中的部分url
如果希望a目录下只有b.htm允许访问,怎么写?
User-agent: *
Allow: /a/b.htm
Disallow: /a/
注意:允许收录优先级要高于禁止收录命令。
例7.robots文件中通配符("$" 结束符; "*"任意符)的运用。
1)禁止访问网站中所有的动态页面
User-agent: *
Disallow: /*?*
2)禁止搜索引擎抓取网站上jpg图片
User-agent: *
Disallow: /*.jpg$
3) 禁止访问html/目录下的所有”.php”为后缀的URL(包含子目录) robots.txt写法如下:
User-agent: *
Disallow: /html/*.php
4) robots屏蔽某个文件后缀的收录。
User-agent: *
Disallow: /*.htm$
很多情况,需要具体情况具体分析,只要理解基本原则,完全可以举一反三。
四、meta robots标签
meta是网页html文件的head标签里面的标签内容。它规定了此html文件对与搜索引擎的抓取规则。与robot.txt 不同,它只针对写在此html的文件。
l例如:<meta name="robots" content="noindex" />表示不希望本页面被搜索引擎抓取。
<meta name="robots" content="nofollow" />表示本页面所有超链接不传递权重。
…里面的内容还可以是:
nosnippet - 不在搜索结果中显示该页面的摘要信息,同时不保存该页面的网页快照。
noodp - 在搜索结果中不使用Open Directory Project中的描述信息作为其摘要信息。
五、robots设置注意事项
1. 第一个英文要大写,冒号是英文状态下,冒号后面有一个空格,这几点一定不能写错。
2. 斜杠:/ 代表整个网站
3.如果“/”后面多了一个空格,则屏蔽整个网站
4.不要禁止正常的内容
5.robots生效时间一般需要几天时间。
六、robots.txt文件示例:
User-agent: * Disallow: /wp-*/ Disallow: /*?connect=* Disallow: /date/ Disallow: /admin/ Disallow: /api/ Disallow: /*/trackback Disallow: /*.js$ Disallow: /*.css$ Disallow:/*?replytocom* Disallow: /comments/ Disallow: /*/comments/ Disallow: /feed/* Disallow: /*/*/feed/* Disallow: /*/*/*/feed/* Disallow:/articles/* Sitemap: https://www.chukuangren.com/sitemap.xml
写的不错。
额,没有不影响收录,没有等于默认收录所有页面,不过为了更好的引导搜索引擎,还是自己建立一个robots文件比较好