robots.txt 指定 Sitemap.xml的位置和robots Meta标签[转]
robots.txt 指定 Sitemap 和robots Meta标签
http://www.mp322.com/robots.txt
User-agent: *Sitemap: http://www.mp322.com/sitemap.xml
Disallow: /wp-admin/Disallow: /sysinfo/
今天一天之内,准确的说相隔不到3个小时,就有两个朋友在QQ上让我帮他看看网站,为什么搜 索引擎不收录。从我个人角度来看,他们的站做的还不错,除了个别地方(如有几页标题相同之类)不够,没有导致不收录的因素。最后一查看 robots.txt,“Disallow: /”。
回想起来,找我咨询的朋友中,还真有不少的一部分都是这样的问题,所以写出来,供不熟悉的朋友参考。
1、robots.txt是什么?
robots.txt是一个纯文本文件,用来告诉网络蜘蛛(不仅限搜索引擎蜘蛛)本站中哪些位置允许抓取,哪些位置不允许抓取。
2、如何正确放置robots.txt?
首先,robots.txt文件必须放置在网站根目录;有域名指向到次目录,在次目录放置的robots.txt文件只对此域名有效。
其次,文件名必须小写,如Robots.txt、roBots.txt、robots.TXT都是错误的。
3、robots.txt内容应该如何写?
文件应该同时包含2个域,“User-agent:”和“Disallow:”,每条指令独立一行。
(1)User-agent:
指定允许哪些蜘蛛抓取,如果给出参数,则只有指定的蜘蛛能够抓取;如值为通配符“*”号,代表允许所有蜘蛛抓取。如:
User-agent: Googlebot
只允许Google的蜘蛛抓取;
User-agent: *
允许所有蜘蛛抓取。
注意:User-agent必须出现在第一行(有意义的行,注释除外),首先声明用户代理。
(2)Disallow:
指定禁止蜘蛛抓取的目录或文件,如:
Disallow: /help.php
禁止抓取根目录下help.php文件;
Disallow: /admin/
禁止抓取根目录下的admin子目录中任何内容;
Disallow:
值为空时,表示不限制,蜘蛛可以抓取站内任何内容。
如果需要指定多个目录或文件,可以用多个“Disallow: 文件或目录名”来指定,但必须每一项单独一行。
这就是前面说到的那两位朋友网站robots.txt的问题,他们用“Disallow: /”禁止了蜘蛛抓取根目录下的所有内容。
4、robots.txt需要注意的几个问题:
- robots.txt文件中任意一行Disallow的值为空,其他指定的项都将失效,整站允许User-agent指定的蜘蛛抓取;
- robots.txt文件中允许使用注释,以“#”开头的内容被认作注释;但注释最好独立成一行,尽量不要加在参数后面,如“Disallow: /admin/ #manage dir”,某些蜘蛛可能将注释当作值的一部分。
- 尽量不要在一行的前面出现空格,如“ Disallow: /”,可能某些蜘蛛无法正确读取。
- 推荐一个robots.txt检查工具:http://tool.motoricerca.info/robots-checker.phtml
5、将你的XML格式Sitemap地址放到robots.txt中
Robin新发现,并率先在国内提出的,大家可以到点石博客中下载Robin的“网站如何被高效索引”演讲稿阅读。
加入Sitemap地址的作用是,如果搜索引擎蜘蛛能够识别此行,就能快速获知网站的XML地图文件地址,并将地图文件作为一个URL参考进行高效索引(具体哪些搜索引擎蜘蛛能够识别目前我还不清楚)。
如樂思蜀SEO博客的robots.txt,紧接着User-agent的第二行:
Sitemap: http://www.lesishu.cn/sitemap.xml
此处之前的内容,将Sitemap放在第一行的说法错误,特此更正。
robots Meta标签
robots.txt是放在网站中,文件级的网络蜘蛛授权;而robots Meta标签是放在网页中,一般用于部分网页需要单独设置的情况下。两者的功能是一样的。
Meta robots标签必须放在<head>和</head>之间,格式:
<meta name=”robots” content=”index,follow” />
content中的值决定允许抓取的类型,必须同时包含两个值:是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。共有4个参数可选,组成4个组合:
- index,follow:允许抓取本页,允许跟踪链接。
- index,nofollow:允许抓取本页,但禁止跟踪链接。
- noindex,follow:禁止抓取本页,但允许跟踪链接。
- noindex,nofllow:禁止抓取本页,同时禁止跟踪本页中的链接。
以上1和4还有另一种写法:
index,follow可以写成all,如:
<meta name=”robots” content=”all” />
noindex,nofollow可以写成none,如:
<meta name=”robots” content=”none” />
需要注意的是,robots Meta标签很多搜索引擎是不支持的,只有少数搜索引擎能够识别并按给定的值抓取。所以,尽可能的使用robots.txt文件来限制抓取。
最后,给大家一个建议,不要太刻意的在robots.txt中设置过多禁止文件或目录,只设置确实不希望被搜索引擎索引的目录和文件就可以了。
特别是在不清楚文件或目录的作用时,不要轻易禁止抓取。前阵一位做旅游的朋友,网站中有大量的旅游景点图片,几大搜索引擎中却都没有索引,后来对网站检查时发现图片目录upload在管理目录admin下,被robots.txt禁止抓取了。
虽然网上关于robots的文章已经很多了,发现都不尽全面,整理了一下供参考。
作者:樂思蜀
原载:樂思蜀SEO博客
ToolTipController超提示组件显示超提示信息在指定位置|C/S开发框架
Oracle数据库名称有小数点,使用expdp备份失败:ORA|12154: TNS: 无法解析指定的连接标识符|C/S开发框架
代码生成器 CodeGenerator V6.1 | 提供两种生成报表策略(表格/标签,TableObject/TextObject)|C/S开发框架
EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型|C/S开发框架
FastReport.NET2023|动态列报表自动隐藏列及调整标签宽度|C/S开发框架
DevExpress XtraTable组件调整TabPage标签页的顺序|C/S开发框架
IDbMetalQuery:CSFramework.DB数据库底层元数据接口|C/S开发框架
HtmlAgilityPack编程 - 使用DocumentNode.InnerText去除HTML标签-C/S开发框架
使用HtmlAgilityPack.HtmlDocument彻底清除HTML标签-C/S开发框架
C#按指定字节长度截取字符串(每个汉字长度2字节)-C/S开发框架
找不到具有绑定 MetadataExchangeHttpBinding 的终结点的与方案 http 匹配的基址。注册的基址方案是 [https]
CSFramework.AutoUpgrader 发布命令升级包出错:InvalidOperationException使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型
Activator.CreateInstance 使用指定类型的默认构造函数来创建该类型的实例
未能加载文件或程序集“xxxx.Web.UI”或它的某一个依赖项。系统找不到指定的文件。
运行升级程序报错:系统找不到指定的文件。
C# 生成日期时间数字唯一序号,尾部添加指定位数长度的随机码
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
