返回列表 发布新帖
查看: 21|回复: 0

robots.txt完整配置指南:让搜索引擎爬虫听你的话

988

主题

0

回帖

833

积分

高级会员

积分
833
发表于 2026-6-22 10:20:01 | 查看全部 |阅读模式
最近帮几个朋友搞网站,发现很多人对 robots.txt 的认知还停留在"放一个空文件"或者"直接禁止所有爬虫"这两个极端,感觉有必要聊聊这个话题。

robots.txt 是放在网站根目录的一个纯文本文件,爬虫在抓取页面之前会先来读这个文件,看看哪些路径允许访问、哪些不允许。注意这里有个关键点——这是一个"君子协议",正规的爬虫比如 Googlebot、Bingbot 会遵守,但恶意爬虫根本不管你写什么,它该抓还是抓。所以 robots.txt 的作用是引导合规爬虫的行为,不是安全防护手段,别指望靠它挡住攻击。

文件的基本语法非常简单。User-agent 指定对哪个爬虫生效,星号代表所有爬虫。Disallow 写不让抓的路径,Allow 写允许的路径(优先级高于 Disallow)。最简单的例子:User-agent: * 加上 Disallow: / 就是禁止所有爬虫抓取整个站,这种配置一般只在开发测试环境用,上线的生产站绝对不能这么搞,否则 Google 根本收录不了你的页面。

实际配置的时候要根据网站类型来考虑。一个内容型网站,比如博客、新闻站,希望搜索引擎尽可能多抓,那就尽量少写 Disallow,只把后台路径、用户账户页、搜索结果页这些没必要收录的地方屏蔽掉。搜索结果页尤其值得注意,如果你的站内搜索会生成大量带参数的 URL,而这些页面内容大同小异,让 Googlebot 大量抓这些页面纯粹是浪费抓取配额,还可能被判定为重复内容。

电商网站稍微复杂一些。购物车、结算页、用户订单页这些肯定要 Disallow。商品详情页要根据 SKU 数量来决策,如果有几十万个 SKU 但 SEO 价值不高,可以考虑限制爬取频率或者精细控制哪些分类允许抓。另外很多电商平台会给每个用户生成唯一的 session URL,这种参数化链接一定要屏蔽,不然爬虫会把同一个页面当成无数个不同页面来抓。

有一个细节很多人忽略——robots.txt 支持针对不同爬虫写不同规则。比如你可以让 Googlebot 抓所有内容,但屏蔽 AhrefsBot 和 SemrushBot 这类 SEO 工具的爬虫,它们频繁抓取会占用你的服务器资源,而且对 SEO 没有实质帮助。写法就是再加一组 User-agent: AhrefsBot 然后跟上 Disallow: /。

Crawl-delay 这个指令也值得提一下。它可以告诉爬虫每次请求之间等多少秒。如果你的服务器性能比较弱,或者发现爬虫抓取导致服务器压力过大,可以设置这个值。但要注意 Googlebot 不理会这个指令,它有自己的抓取频率控制逻辑,你要调整 Googlebot 的抓取速度得去 Search Console 里面设置。

最后说一个常见误区:很多人把 robots.txt 当作隐藏敏感页面的手段,觉得在里面写了 Disallow 就安全了。这完全错误。robots.txt 是公开可见的文件,任何人打开 yoursite.com/robots.txt 都能看到里面的内容。如果你在里面写了 Disallow: /admin/secret-panel/,反而等于把这个路径暴露给了所有人。真正需要保护的路径,要靠身份验证、访问控制来实现,robots.txt 管不了这件事。

配置完之后记得去 Google Search Console 里用 robots.txt 测试工具验证一下,检查关键页面是否能被正常抓取,省得上线之后才发现整个站被自己屏蔽了。这种低级错误真的不少见,我见过不止一个站长因为 robots.txt 配置失误导致流量暴跌,排查了半天才发现问题出在这里。
回复 转播

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表