robots.txt 是位于网站根目录的一个纯文本文件,它通过简单的指令告诉搜索引擎的爬虫程序哪些链接可以访问、哪些需要跳过。虽然它不能直接提升排名,但在控制抓取范围、节省服务器资源以及保护后台目录方面,是每个站点管理者都应该掌握的实用工具。
这套文件的语法非常简洁,本质上是由几个固定指令组合而成。只要理解下面三个关键词,就能应付大部分站点的配置工作。
容易踩的坑:每个 User-agent 后面至少要跟一条有效的 Disallow 或 Allow 语句,否则这组规则不会生效。同时要记住,这个文件只约束搜索引擎的机器人,普通网友通过浏览器直接输入网址依然能打开被屏蔽的页面,所以涉及个人信息或商业机密的文件,必须靠登录验证来防护。
无论你的网站是博客还是大型门户,都可以从一份基础模板开始。下面是推荐的操作流程。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
检查与提示:上传完毕后,在浏览器访问 你的域名/robots.txt,如果能正常显示文件文本,就说明部署成功。最典型的错误是误写为 Disallow: /,这会导致整站无法被收录;此外,路径末尾漏写斜杠也会让规则失效,例如 /tmp 并不能匹配 /tmp/ 目录下的文件。
当你的目录结构变得复杂,单纯的全放行或全禁止就显得不够灵活,Allow 指令正好可以解决这种进退两难的局面。假设你想屏蔽整个截图素材库,但希望其中主推的那张宣传图仍能被搜索引擎收录,可以这样配置:
User-agent: *
Disallow: /images/
Allow: /images/logo.png
使用建议:绝大多数搜索引擎在判断规则时,会优先匹配路径更长的规则。因此,像这样的精确指定通常能正确生效。写完后最好在搜索引擎的抓取测试工具里实际验证一下,确认放行的是预期的文件,而不是整个目录。
面对需要排除动态参数或特定文件类型的情况,通配符可以替你节省不少时间。例如 Disallow: /*?edit= 能屏蔽所有带编辑参数的网址,而 Disallow: /*.pdf$ 则阻止以 .pdf 结尾的文档被抓取。不过需要注意的是,通配符并非所有搜索引擎都支持,如果你主要面向百度或谷歌,可以放心使用,但若面向未知的小型搜索引擎,还是要谨慎检验。
除了限制抓取之外,robots.txt 还能承担 Sitemap 提示的职责。在文件末尾添加一行 Sitemap: https://www.example.com/sitemap.xml,可以让爬虫更迅速地发现你的站点地图,从而提升新页面的收录效率。这是很多新手容易忽略的一个加分项。
实操提醒:修改完 robots.txt 后不要立即删除旧版本,建议先在测试环境里验证规则是否达到预期效果,再应用到正式站点。同时,每隔一段时间复查文件内容,避免因目录调整而出现规则指向错误的旧路径。
没有。它能阻止搜索引擎收录页面,却无法阻止用户直接访问。如果有人猜到某个文件夹的链接,依然可以在浏览器中打开。真正需要保密的内容(如后台、订单数据)必须依靠密码验证或服务器权限来保护,绝不能只靠 robots.txt 挡住。
通常不会立即生效。搜索引擎的爬虫会定期重新读取该文件,这个过程一般需要数小时到数天不等。如果你希望加速更新,可以在搜索引擎站长工具中提交一次该文件,或利用其自带的抓取测试功能来确认新规则是否已被解析。
区别非常大。Disallow: / 表示禁止爬虫访问网站根目录下的所有内容,即全站停止收录;而 Disallow: * 并不是有效写法,星号在 robots.txt 中只作为通配符使用,单独出现并不能屏蔽任何路径。因此,如果你只是想屏蔽单个目录,务必写清楚目录路径,不要混淆这两种写法。
配置 robots.txt 并不难,关键是理解三个核心指令的用途,并在部署后逐一验证规则是否符合预期。建议先从小范围的目录测试开始,确认无误后再逐步扩展。记得定期检查文件内容,确保它与网站当前的目录结构保持一致,这样才能在保护资源与提升收录之间找到最合适的平衡点。