robots.txt 设置全攻略:语法要点、实际用例与常见陷阱解析

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

搜索引擎的爬虫访问网站时,会首先在根目录寻找一个名为 robots.txt 的文件。这份文件相当于给爬虫的浏览规范,明确了站内哪些区域可供抓取,哪些区域应当避免访问。合理配置 robots.txt 不仅能为后台或临时页面提供保护,还能引导爬虫将资源集中到核心内容上,对网站的搜索收录表现有明显影响。

1. 文件基础结构与规则写法

robots.txt 文件必须存放在域名的根目录之下,通常能通过 https://yourdomain.com/robots.txt 直接访问。创建时需要注意:文件为纯文本格式,编码采用 UTF-8,每条规则独占一行,路径区分大小写。文件内的主要指令包括以下几种:

除了上述规则,可以在文件末尾追加一行 Sitemap 地址,有助于爬虫更快定位站点地图。一个标准的基础配置示例如下:

User-agent: *
Disallow: /private/
Allow: /private/shared/
Sitemap: https://yourdomain.com/sitemap.xml

这段配置的含义是:全部爬虫可以抓取全站内容,但 /private/ 目录被屏蔽,其中的 /private/shared/ 子目录则被单独放行。需要留意,部分爬虫不支持 Allow 指令,如果它只解读 Disallow,那么屏蔽规则依旧会执行。

2. 典型场景的配置方案

不同类型的网站,制定 robots.txt 的策略也各有侧重。以下梳理了三种常见需求的配置模板,可以直接参考使用。

2.1 全部开放:争取最大收录量

对于内容型网站或刚上线的新站点,通常期望所有页面都能被搜索引擎收录。此时只需声明爬虫范围,Disallow 留空即可:

User-agent: *
Disallow:

直接省略 Disallow 这一行也能达成相同效果。常见的失误是写成 Disallow: /,这会完全阻断爬虫访问,导致页面收录数量降为零。

2.2 精准屏蔽:仅拦截指定爬虫

如果不希望某个特定搜索引擎抓取站点,可以为它单独配置规则,其他爬虫则不受影响:

User-agent: Bingbot
Disallow: /

此配置只对必应爬虫生效。爬虫名称必须参照搜索引擎官方公布的标识,例如 Googlebot、Bingbot、Baiduspider 等。

2.3 仅放行前台:封锁后台与临时目录

企业官网常用的做法是,允许爬虫抓取前台展示页面,同时屏蔽管理后台和临时文件目录。示例配置如下:

User-agent: *
Disallow: /admin/
Disallow: /temp/

需要注意的是,即便配置了屏蔽,后台与临时目录的 URL 若已在外部被公开链接,仍有可能被搜索引擎收录。更稳妥的做法是配合登录验证或设置访问密码。

3. 编写过程中的关键避坑点

在配置 robots.txt 时,忽视一些细节可能会导致不可预料的后果。以下几点值得特别关注:

修改文件后,建议使用搜索引擎站长平台提供的 robots 测试工具进行验证,能直观看到爬虫对各项规则的解析结果,也能避免因语法错误造成整站无法被抓取。

4. 对外部引用链接的处理思路

许多网站会通过 robots.txt 尝试屏蔽外部指向的广告跳转链接或统计脚本链接。这种做法的效果有限,因为这些链接通常属于资源文件,而非实际的网页内容。正确的方式应当是使用 nofollow 属性,或通过站点后台设置拒绝对方抓取。过度依赖 robots.txt 去拦截外部引用,反而可能造成页面加载异常,影响用户体验。

5. 常见问题

5.1 robots.txt 能够阻止所有搜索引擎收录页面吗?

不能。robots.txt 仅是爬虫访问的规范文件,如果页面已被其他网站添加了外链,搜索引擎仍有机会收录页面内容。若要彻底杜绝收录,应当为页面添加 noindex 标签配合使用。

5.2 Robots 规则需要多长时间才能生效?

不一定。爬虫通常会在一定周期内重新读取 robots.txt,快则数小时,慢则数天。修改后耐心等待即可,无需过度频繁地变动文件。

5.3 文件中的路径是否需要写完整域名?

不需要。robots.txt 中的路径都是相对于域名根目录的,因此直接写 /about 而不是 https://yourdomain.com/about。

6. 结语

robots.txt 是网站与搜索引擎之间沟通的基础工具,但作用范围有限。在配置时,建议先明确站点的收录目标,再决定规则写法;同时定期检查文件有效性,配合其他 SEO 手段一同使用。如此才能让爬虫资源用在最需要的地方,网站的整体搜索表现也会更为稳健。

图1 图2

nginx