ROBOTS.TXT 的定义及实操部署指南
Robots.txt 是一个位于网站根目录(https://example.com/robots.txt)的纯文本文件,用来告知网络爬虫网站中哪些页面可以抓取,哪些页面不能抓取。说白了就是网站为爬虫设定的一条索引规则,但这条规则并不是强制性的(只是一个君子协定,个别搜索引擎可能会不遵守)。类似商场里食品区贴着的“禁止偷吃”的警示条文,只能约束有素质的顾客,少量没素质的顾客依然会偷吃,且偷吃后不会受到严厉惩罚。
Robots.txt 基于网络爬虫协议(Robots Exclusion Protocol),当爬虫访问网站时,会首先检查此文件。如果网站存在此文件,且设置了抓取规则,网络爬虫会遵照规则执行抓取任务,如果 Robots.txt 为空,或网站不存在此文件,网络爬虫则视为允许抓取全部页面。
Robots.txt 的核心作用
- 提升收录效率:通过屏蔽无效与无价值链接,仅让蜘蛛抓取重要页面,提高搜索引擎工作效率。
- 降低服务器负载:通过屏蔽高负载页面,降低服务器压力,节省服务器资源占用。
- 维护网站安全:通过屏蔽网站登录页( /admin )、数据库管理页( /phpmyadmin ),避免暴露重要数据。
Robots.txt 指令参数详解
以下通过实例讲解常用 Robots.txt 指令的用法,包括通配符“ * 、$ ”的使用方法。
| 指令/参数 | 功能描述 | 举例 | 备注讲解 |
| User-agent * | 这是一个通用前缀,写在 robots.txt 文件中的最前面。 | User-agent: * User-agent: Googlebot | 把此命令写在最前面,另起一行,后面跟着写详细规则。 |
| Disallow: | 完全允许所有网络爬虫 | User-agent: * Disallow: | 此命令不常用,若允许所有爬虫访问,无需使用此命令特别说明。 |
| Disallow: / | 禁止所有爬虫访问网站 | User-agent: * Disallow: / | 此命令仅在特定情况下使用 |
| Disallow: /admin/ | 禁止爬虫访问特定文件夹 | User-agent: * Disallow: /admin/ | 禁止爬虫访问 /admin/ 文件夹 |
| Allow: /wp-admin/admin-ajax.php/ | 允许爬虫访问指定的文件(目录) | User-agent: * Disallow: /admin/ Allow: /wp-admin/admin-ajax.php/ | 仅允许爬虫抓取 /wp-admin/ 目录下的 admin-ajax.php 文件。 |
| User-agent | 指定对某个搜索引擎有效 | User-agent: * User-agent: Baiduspider 此处跟写详细规则 | 针对百度编写一套专属规则 |
| Sitemap | 告诉爬虫站点地图的路径 | Sitemap: https://example.com/sitemap.xml | 通常会把此命令写在 robots.txt 文件中的最后一行 |
| Disallow: /*.pdf$ | 禁止爬虫抓取以 .PDF 结尾的链接 | User-agent: * Disallow: /*.pdf$ | 如果不加 $ 符号,则代表禁止抓取所有包含 .PDF 的链接。 |
| Disallow: /search* | 禁止抓取某个目录下的所有文件 | User-agent: * Disallow: /search* | 凡是以 /search 开头的路径,都禁止抓取,这里的 * 号表示“任意字符”的意思。 |
撰写 Robots.txt 的注意事项
- 区分大小写字符:Disallow: /admin 与 Disallow: /Admin 会被视为两个不同路径(目录)。
- 文件大小上限:Robots.txt 文件的大小通常限制在500KB以内,多出部分会被忽略(通常情况下不会超限)。
- 文件位置:Robots.txt 文件需要放在网站根目录(https://www.example.com/robots.txt)。
- 文件编码:Robots.txt 文件必须是 UTF-8 编码的纯文本文件。
- 屏蔽隐私页面:屏蔽后台管理、用户资料等包含敏感信息的页面(目录),防止重要信息泄密。
- 定期测试:使用站长工具(必应站长平台、Google Search Console)定期检查 Robots.txt 文件 是否存在问题。
Robots.txt 是否需要屏蔽(AI搜索)生成式引擎爬虫
推荐 Robots.txt 屏蔽(AI搜索)生成式引擎爬虫,道理很简单,按照目前的发展形势,您的网站只能被AI割韭菜,几乎无法通过AI搜索获得流量,所以直接屏蔽是最好的方法。但问题是目前并没有完善的处理方法,例如通过一个规则直接屏蔽所有AI爬虫。
总结:每个网站的 Robots.txt 规则大同小异,您可以根据不同建站系统进行针对性优化,