robots.txt是放在网站根目录下的一个纯文本文件,专门用来和搜索引擎的爬虫“约法三章”:哪些页面欢迎抓取、哪些内容请绕道走。只要配置合理,它就能引导爬虫把精力集中在有价值的内容上,同时避免后台目录、用户隐私或临时文件被索引。对每个做网站的人来说,学会正确配置robots.txt是管理搜索流量的基本功。
一个完整可用的robots.txt,由若干规则块组成,每个块里的字段各有分工。理解这套语法是写出正确配置的前提。
举个例子,一条典型的规则如下:
User-agent: *
Disallow: /cache/
Allow: /cache/public/
Sitemap: https://www.example.com/sitemap.xml
书写时千万注意:路径区分大小写,符号必须是英文半角。哪怕漏了一个斜杠或写错一个字母,整条规则都可能形同虚设,甚至误伤不该屏蔽的页面。
不同类型的站点、不同运营阶段,robots.txt的策略并不一样。下面按场景整理了几套直接可用的写法。
如果网站还在调试,或准备临时下线维护,需要屏蔽所有爬虫。这里要提醒一句:屏蔽抓取并不会清除搜索引擎里已有的收录,旧快照还会存在,要彻底删除还得去站长工具里提交删除申请。
User-agent: *
Disallow: /
内容完全公开、没有隐藏资源的站点,最简单的方式是只写Allow和Sitemap。这样做能最大限度方便爬虫遍历全站,对SEO最友好。
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xml
企业站或内容站通常需要隐藏后台登录入口、用户中心、临时目录等,防止敏感信息被搜索引擎收录,降低被恶意扫描的风险。
User-agent: *
Disallow: /wp-admin/
Disallow: /user/
Disallow: /tmp/
值得注意的是,屏蔽后台路径只是加大检索难度,不等于绝对安全,不等于把后台当作保险箱,权限验证依旧不能松懈。
当你想让百度、谷歌正常收录,同时屏蔽一些不太知名或消耗资源的爬虫,可以分开写规则块,针对每家爬虫单独设定策略。
User-agent: BadBot
Disallow: /
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xml
配置文件写错的地方往往都很隐蔽,提前了解才能少走弯路。以下要点值得逐一检查。
配置上传后,不能光靠肉眼判断。推荐用以下步骤来确认规则是否被正确执行。
如果测试结果显示异常,优先检查文件编码和换行符,保存时记得用UTF-8无BOM格式。
可以,但只对“尚未被收录”的页面有效。如果页面已经被抓取并建索引,仅仅通过robots.txt屏蔽并不能立即使其从搜索结果中消失,还需要配合站长平台的移除工具。
有这种风险。比如误将Allow写成Disallow,可能屏蔽掉整站,导致没有收录;反过来漏写某个路径,又可能让敏感内容被索引。所以每次修改后尽量用测试工具检验,尤其是生产环境。
并非如此。页面中如果有后台入口、重复页面或临时参数链接,放任爬虫抓取既浪费抓取配额,也可能稀释权重。建议根据站点结构,有选择地隐藏低价值区域,集中资源给核心内容。
robots.txt看似简单,实际使用时却有不少细节讲究。核心思路是:先明确要保护什么、优先开放什么,再动手写规则。写完后一定要用测试工具验证,并定期检查抓取日志,观察搜索引擎的抓取行为是否符合预期。小改动、勤验证,是规避各类收录问题的稳妥做法。