robots.txt配置全攻略:规则详解与常见避坑要点

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

网站通过 robots.txt 与搜索引擎爬虫沟通,告诉它们站点内哪些内容可以抓取、哪些区域应绕过。这份文件放在服务器根目录,写对了能让收录更高效,写错了则可能让整站从搜索结果中消失。下面从基础写法到实战技巧,完整梳理配置 robots.txt 的关键环节。

1. robots.txt 是什么与文件摆放要求

robots.txt 是纯文本文件,文件名必须全为小写字母,位置固定于根目录,例如访问路径为 https://yourdomain.com/robots.txt。它借助 User-agent 和 Disallow 等指令,控制不同爬虫的抓取范围。

网站未放置该文件时,搜索引擎默认可抓取全部公开页面;一旦文件存在,爬虫会严格遵循其中规则。需要留意的是,robots.txt 主要是“告知”而非“强制”,合规的搜索引擎会遵守,但不法爬虫或恶意程序可能无视,所以不能把敏感数据的安全寄托于此。

2. 核心指令与基本书写结构

一条规则通常由三部分构成,顺序和写法有约定俗成的习惯:

典型示例——拒绝所有爬虫抓取全站:

User-agent: *
Disallow: /

典型示例——完全放开抓取(效果等同不设置该文件):

User-agent: *
Disallow:

3. 常见业务场景下的配置实例

根据实际需求,可组合不同指令实现精细控制。

屏蔽后台与系统目录:

User-agent: *
Disallow: /wp-admin/
Disallow: /admin/
Disallow: /includes/

此配置对全部爬虫生效,阻止它们进入管理后台和程序目录,减少被搜索引擎索引内部文件的风险。

仅限百度抓取某目录:

User-agent: Baiduspider
Disallow:

User-agent: *
Disallow: /temp/

第一段明确百度不受限制,第二段则让其他爬虫避开 temp 文件夹,实现按搜索引擎区分抓取范围。

控制爬虫抓取频率:

User-agent: *
Crawl-delay: 10

Crawl-delay 用于设定两次抓取的间隔秒数,但并非所有搜索引擎都认可此参数,例如谷歌就明确不支持。更稳妥的做法是登录各搜索平台的站长后台,在抓取频率设置中调整。

4. 编写过程中的常见错误与规避方法

实践经验表明,多数配置问题源于细节疏忽,常犯的错误集中在以下几类:

每次修改文件后,建议用搜索平台提供的“robots 检测工具”或直接在浏览器查看文件内容,验证规则是否符合预想。

5. 检查与日常维护建议

robots.txt 并非一次性配置就能一劳永逸,随着站点结构调整,规则也要同步更新。维护时可遵循以下要点:

6. 常见问题

6.1 robots.txt 写错会导致网站被搜索引擎处罚吗?

通常不会直接受到惩罚,但可能造成页面无法收录或误屏蔽重要内容。此时只需修正规则,等待爬虫下次抓取即可恢复,无需过度担心。

6.2 robots 文件中可以用中文注释吗?

技术上支持 UTF-8 编码下的中文注释,但为兼容不同爬虫的解析方式,建议统一使用英文半角字符书写规则,注释可有可无。

6.3 设置了禁止抓取,为何页面上还能搜索到?

robots.txt 只阻止将来的抓取,已收录页面仍会保留在索引中。若希望彻底移除,需要配合 noindex 标签或通过搜索平台的删除工具处理。

7. 总结

配置 robots.txt 关键在于路径书写和指令理解,而非记住多少条代码。先从基础规则入手,明确需要放行和禁止的区域,再借助平台工具反复验证。随着站点变化持续更新规则,就能让爬虫高效抓取有价值内容,同时避开无用目录。

图1 图2

nginx