网站robots.txt怎么写?语法规则与配置避坑指南

📍 WDQWDWQD987AAAAA:216.73.216.245
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /e6c6dc94fc43.html
📄

robots.txt是放在网站根目录下的一个纯文本文件,它的职责是告诉搜索引擎的爬虫:哪些页面欢迎抓取,哪些区域不要进入。对于网站运营者来说,它是引导蜘蛛高效抓取优质内容的调度工具,也是保护后台和敏感数据的一道屏障。配置得当能促进收录,配置失误则可能让整站遭遇不收录的困境,甚至泄露不该公开的信息。下面从基础语法、实际场景到常见误区,帮你完整梳理这一块内容。

1. 基础语法与文件结构

robots.txt的语法非常精简,一组规则由不同的指令行构成,常用的字段只有四个,掌握它们就等于掌握了全部核心:

一个典型的配置示例是这样的:

User-agent: *
Disallow: /temp/
Allow: /temp/public/
Sitemap: https://www.example.com/sitemap.xml

书写过程中有两个细节极易被忽略:首先,路径区分大小写,/admin/ 和 /Admin/ 会被视为完全不同的地址;其次,必须使用英文半角标点,一个全角冒号或斜杠就足以让整条规则失效。

2. 不同场景的实操配置

网站所处阶段不同,面对的用户群体不同,robots.txt的写法也大相径庭。以下几个场景基本覆盖了绝大多数网站的实际需求。

2.1 整站停抓或临时维护

当网站需要改版调试或暂停服务时,用一条规则即可挡住所有蜘蛛。需要留个心眼的是,这只能阻止后续的新抓取,不能清除搜索引擎里已经收录的旧快照。若想彻底清理历史索引,需另外去百度搜索资源平台或Google Search Console后台提交删除申请。

User-agent: *
Disallow: /

2.2 全站开放抓取

对于博客或纯展示类网站,如果没有任何需要隐藏的资源,不写Disallow规则反而最为妥当,仅声明Sitemap地址即可。这种极简配置对蜘蛛最为友好,最利于完整内容的抓取与收录。

User-agent: *
Sitemap: https://www.example.com/sitemap.xml

2.3 屏蔽后台和敏感信息目录

多数企业站和内容平台都需要把后台入口、会员中心以及临时文件上传目录隐藏起来。这不仅能防止敏感数据进入搜索索引,也降低了攻击者借助搜索结果锁定后台地址的风险。

User-agent: *
Disallow: /admin/
Disallow: /member/
Disallow: /uploads/tmp/

配置完成后,建议直接在浏览器地址栏输入 域名/robots.txt 查看文件是否被正常返回,确保规则正确加载。

2.4 针对特定搜索引擎单独设限

如果希望仅屏蔽某一个蜘蛛而保留其他搜索引擎的抓取,可以把对应爬虫的名称写在User-agent字段处。很多站点出于资源节省的考虑会选择屏蔽某些抓取频率较高的蜘蛛,而保留百度、Google等主流搜索引擎。

User-agent: SomeBot
Disallow: /

3. 高频踩坑与避坑建议

即便语法全部正确,robots.txt的bug也多发生在逻辑与疏漏上,下列几类问题最值得警醒:

4. 编辑与更新注意事项

文件保存的编码格式要选择UTF-8,避免中文注释乱码导致规则解析异常。编辑过程建议用文本编辑器完成,不要使用带格式的富文本工具保存。文件放置在服务器根目录且命名为robots.txt,任何大小写或位置偏差都可能导致蜘蛛找不到规则。若使用CDN加速服务,还需要同步检查CDN节点上的文件版本是否为最新,防止旧规则被缓存。

5. 常见问题

5.1 robots.txt写错会导致网站不收录吗?

会的。比如把全局Disallow写成了 Disallow: /,所有蜘蛛都会被拒之门外,网站自然也无法获得新收录。这类问题通常能在搜索资源平台的后台检测里被识别出来,发现后及时修正文件并提交抓取即可恢复收录进程。

5.2 robots.txt能不能屏蔽所有搜索引擎?

可以。使用 User-agent: * 加 Disallow: / 即可对所有遵循规范的蜘蛛生效,但并非所有爬虫都会遵守该协议,不怀好意的采集程序可能无视规则直接访问。因此,重要的敏感数据不能只依赖robots.txt保护,还需配合登录鉴权机制来守护。

5.3 修改robots.txt后多久生效?

生效时间没有统一标准,通常取决于各搜索引擎的抓取频率,快则几小时,慢则数天。如果想加速,可以在站长工具中主动提交更新后的文件并请求抓取。需要留意的是,旧规则在缓存期内仍可能继续起作用,所以修改后要耐心观察一段时间。

6. 总结

robots.txt的编写门槛不高,但细节里的坑却不少。刚开始接触时,可以从最简单的全站开放配置入手,再逐步添加需要屏蔽的路径。上线前记得在浏览器中测试访问结果,同时妥善保管文件副本以便回滚。对于任何不愿被收录的内容,最稳妥的做法是同时配合登录权限限制,双保险才能确保万无一失。把这份规则理解透,网站的收录质量和安全性都会迈上一个新台阶。

图1 图2

nginx