搜索引擎爬虫访问网站时,第一件事往往是读取根目录下的 robots.txt 文件。这份文件就像给爬虫画出的"通行地图",决定了哪些页面可以被抓取、哪些必须绕行。配置得当,能保护后台数据不被收录,还能让抓取资源集中到核心内容上;配置出错,轻则某些页面莫名消失,重则整个站点从搜索结果中"隐身"。用对这份文件,对你的搜索表现影响不小。
robots.txt 必须放在站点根目录,比如 https://yourdomain.com/robots.txt,文件名严格区分大小写,保存时尽量用 UTF-8 编码。每条规则独占一行,行尾别留多余空格。想写出有效配置,下面几个关键字段要心里有数。
除了上面的指令,许多人还会加一条 Sitemap 行,主动告诉爬虫网站地图的存放地址。下面是一个典型的组合写法:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
这段配置的意思很明确:全站默认放行,唯独 /admin/ 目录不许抓取,但其中 /admin/public/ 子目录作为特例放行。这里面藏着一个高频坑:对于不认 Allow 指令的爬虫,它们眼里只有 Disallow 的限制,/admin/public/ 对它们来说依然是禁区,所以别指望每个爬虫都会按你的意图"灵活处理"。
不同网站的策略天差地别,robots.txt 的内容也各不相同。下面列出三种最常见的配置模式,覆盖多数普通站点的需求,你可以直接对照着替换自己的路径。
内容型网站或刚上线的新站点,一般恨不得所有页面都被尽快收录。这时候只需要最简单的一行:
User-agent: *
Disallow:
其实把 Disallow 那行整个删掉,效果也一样。真正该防的是手滑写成 Disallow: /,那就等于把爬虫全挡在大门外,收录量会直线归零。改完配置后,务必用站长平台的抓取测试工具验证一次,别等收录异常了才回头查。
如果不想让某个特定搜索引擎收录你的站点,只需给对应的爬虫单独设规则:
User-agent: Bingbot
Disallow: /
这种写法不会干扰其他爬虫的正常抓取。但要留意,每款爬虫的用户代理标识可能随官方更新而变化,比如 Googlebot 还分桌面版、移动版和图片版,屏蔽时最好确认你写的那串名字是否覆盖了想拦的所有分身。
有些网站内容集中在某个子目录,比如 /blog/ 或 /news/,其余部分不准备对外开放,可以用如下配置:
User-agent: *
Allow: /blog/
Disallow: /
这里有个容易踩的排序坑:若某爬虫不支持 Allow,它只会读取 Disallow: /,然后全站屏蔽,包括你想开放的 /blog/ 也保不住。所以这种写法对爬虫兼容性要求高,生产环境前先拿主流搜索引擎的测试工具试一遍。
许多人写完 robots.txt 后信心满满,结果收录数据异常,回头排查才发现问题出在细节上。下面几个错误出现频率最高,值得逐条对照。
另外,robots.txt 文件体积也别超过 500KB,且单个 Disallow 路径长度不要累加过多,超出部分爬虫会截断处理,后面的规则等于白写。
写完配置直接上线是很多人的习惯,但更稳妥的做法是先验证再发布。以下是一套推荐的检查步骤:
值得提醒的是,robots.txt 是"建议性"协议,并非强制让爬虫遵守。部分恶意爬虫会无视这套规则强行抓取,这时候应结合 IP 白名单或服务器防火墙做更硬性的访问控制,不能指望一份文本文件就能挡住所有不速之客。
robots.txt 本身不提供任何安全防护,它只是给守规矩的爬虫看的公开文件。它既不会让网站更安全,也不会让网站更危险,但配置失误可能导致后台或敏感路径被搜索引擎收录,间接让不该暴露的内容流出。真正保护数据要靠权限控制、登录认证和服务器层面的安全策略。
搜索引擎的爬虫不会一秒内就重新读取 robots.txt,它有自己的抓取周期和缓存机制。Googlebot 通常每 24 到 48 小时重新获取一次,其他搜索引擎可能更慢。如果你想加速,可以在站长后台手动请求重新抓取,或者耐心等待两到三天再观察数据变化。
完全可以。Disallow 指令可以重复出现多次,每行一个路径,它们之间是"或"的关系,只要匹配其中任意一条就会被拒绝。例如先用一行屏蔽 /tmp/,再用一行屏蔽 /private/,两条规则会同时生效。不过路径尽量写精确,避免用宽泛规则误伤其他正常目录。
robots.txt 是一把双刃剑,配置到位能帮你管好抓取资源、保护隐私页面,写错一个字也可能让整站从搜索结果里蒸发。建议你花点时间把现有文件逐行核对一遍,确认路径大小写、结尾斜杠、Allow 和 Disallow 的先后关系都符合预期,同时用站长工具实测几个关键页面。改完别急着丢一边,观察几天的抓取和收录数据,如果一切平稳,这份配置就算真正过关了。