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 规则大同小异,您可以根据不同建站系统进行针对性优化,