robots.txt 是放在网站根目录下的一个纯文本指令文件,它的作用是向搜索引擎的爬虫程序说明:站内哪些内容允许被抓取,哪些内容需要跳过。它不是什么安全防护工具,但一份合理的 robots.txt 配置,既能保护后台等私密目录不被收录,又能帮助搜索引擎更高效地抓取有价值的内容,从而节省站点的抓取配额、减轻服务器压力。学会写好和部署好这份文件,是每个网站管理者的基本功。
这个文件的语法相当直观,基本上就是由几个固定的关键词拼凑而成。只要弄懂以下三个核心概念,绝大多数配置需求就都能实现了。
需要留意的事项:每个 User-agent 声明后面,至少要跟一条 Disallow 或 Allow 指令,否则这一组规则会整体失效。还要记住一个关键点:robots.txt 仅仅约束搜索引擎的蜘蛛,普通用户访问网页时完全不受它的影响。所以任何敏感数据,如用户信息、订单详情等,绝不能指望靠它来阻止访问。
不管网站是刚起步还是已经成型,都建议从一个简洁干净的基础版本开始写。下面这个模板可以直接复制下来,稍作修改就能投入使用。
User-agent: *
Disallow: /cgi-bin/
Disallow: /temp/
Sitemap: https://www.yourdomain.com/sitemap.xml
验证标准与常见坑:部署完成后的检查方法很简单,在浏览器地址栏直接输入 你的域名/robots.txt,如果能正常看到文件内容就说明部署成功。这里最容易犯的错误是误写成 Disallow: /,这相当于告诉搜索引擎把整个网站全部屏蔽,后果不堪设想。此外,目录结尾的斜杠如果丢掉也会让规则失效,比如写的是 /private 就匹配不上实际位于 /private/ 下的所有文件。
当站点的内容结构变得复杂时,单纯的全盘允许或全盘禁止往往不够灵活,这时候 Allow 指令的价值就体现出来了。举个例子,你希望屏蔽整个图片素材库不外泄,但又想确保其中一张用于社交平台分享的封面图能被抓取到。
User-agent: *
Disallow: /assets/images/
Allow: /assets/images/cover.jpg
实操提醒:搜索引擎在匹配时,会优先应用 Allow 中列出的更具体规则,因而这张封面图能够被正常发现和抓取。需要特别注意的是,这一特性的实际效果因不同搜索引擎而异,所以重要页面的放行,最好同时配合 sitemap.xml 提交或页面内链接来双重保障。
除了上述基础规则,robots.txt 里还能放置一些特殊的指令行,同时也有不少容易产生误解的地方,这里一并梳理清楚。
如果写错成 Disallow: / 这类全屏蔽规则,搜索引擎会在下次抓取时快速感知变化,并在数天到数周内逐步降低对站点的收录和抓取,从而间接影响排名。发现错误后尽快修正,并到搜索引擎站长平台提交抓取检测,恢复速度通常是比较快的。
并非如此。Allow 主要用于在既有禁止范围内开放个别例外,如果站点的 robots.txt 只有简单的屏蔽需求,完全不需要写它。很多站点的文件内容就只有两条 Disallow,这没有任何问题。
不建议这么做。现代搜索引擎为了准确评估页面质量,需要渲染页面结构,往往要求能够获取到页面引用的 JavaScript 和 CSS。屏蔽这类资源可能导致页面被判定为内容贫乏或渲染异常,反而损害收录效果。
robots.txt 配置并不复杂,关键是理解指令的意义并细心部署。建议从简洁的基础模板开始,逐步为站点建立清晰的抓取边界;每次修改后都要通过浏览器访问文件来验证内容是否正确,并留意搜索引擎后台的抓取报告。这样既保护了敏感目录,也为搜索引擎提供了更友好的抓取体验,对站点长期发展大有裨益。