robots.txt 是放在网站根目录下的一个纯文本文件,通过简单指令告诉搜索引擎蜘蛛哪些路径可以抓取、哪些应该避开。它不是安全工具,不能阻止访客访问,但配置得当可以保护后台目录、节省抓取配额,还能减轻服务器请求压力。对每个做网站的人来说,学会它是绕不开的基本功。
这份文件不涉及复杂编程,核心语法只有几个固定词语,理解后大部分场景都能应对。建议在编辑前先理清三种常见指令的作用边界。
书写格式上有几个硬性要求:每组 User-agent 之后至少要接一条 Disallow 或 Allow,否则整段规则会被忽略;每条指令单独占一行,路径区分大小写;注释以 # 开头,仅作标记用,不影响规则执行。而且必须记住,robots.txt 只对搜索引擎机器人生效,敏感数据千万不能指望它做权限控制。
无论新站还是老站,都建议按下面流程快速落地一份稳妥的版本,之后再逐步扩展。整个操作不需要任何代码基础。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
部署完的验证方法很简单:浏览器输入 https://你的域名/robots.txt,能直接看到文件内容即宣告成功。最常见的翻车操作是误写 Disallow: /,这等同于宣布整个网站对搜索关闭入口,反噬非常明显;另外路径结尾缺少斜杠也会让规则失效,例如写成 Disallow: /member 并不能挡住 /member/ 目录下的页面。
网站规模变大后,经常需要在允许和禁止之间做折中处理。比如图片目录整体不想被收录,但其中一张社交分享卡图必须被蜘蛛抓走,这时候 Allow 指令就能派上用场。
User-agent: *
Disallow: /uploads/pics/
Allow: /uploads/pics/wechat_share.jpg
执行逻辑上,引擎会优先匹配 Allow 中更具体的路径,从而让那张封面图获得抓取通行证。同理,你可以在封锁 /private/ 的同时,单独放行 /private/public_note/ 这个分支。避坑提醒:Allow 的优先级只对同组内规则成立,不同段落之间的规则以更早出现的为准,所以务必把例外规则紧跟其后书写,保持逻辑清晰。
文件上线不等于万事大吉,应该定期检查规则是否按预期工作。搜索引擎控制台通常都提供专门的 robots 测试工具,能直接模拟任意 UA 的抓取行为。
修复措施并不复杂:每当发现漏抓或误拦,先回溯最近的改动记录,然后用测试工具逐条验证,最后检查一次目录层级是否因改版而变动。坚持让配置服务于真实内容结构,而不是为写规则而写规则。
完全不能。它只是对搜索引擎机器人的建议,普通访客或恶意请求依然可以直接打开地址。真正需要保密的内容务必通过登录验证等方式来保护。
不影响。Allow 只用于在已封锁范围内放开例外;没有该指令时,蜘蛛会按 Disallow 和默认规则执行抓取,因此不必刻意添加。
没有固定时间表,通常几天内蜘蛛会重新请求该文件,但具体时长取决于站点权重与抓取频率。想加快进度,可以在搜索引擎站长后台手动提交请求抓取。
合理运用 robots.txt 能让搜索引擎更高效地聚焦核心内容,也能明显减少无效抓取带来的服务器开销。建议每周抽点时间核对一次现有规则,去掉早已不存在的目录,补充新上线的路径。记住,规则越精简、越贴近实际站点结构,出错的概率就越低。