robots.txt怎么写?避免误屏蔽Google抓取的设置指南
快速结论
robots.txt 可以用来限制不需要被抓取的路径,但最容易出问题的地方,是把重要目录、资源文件或整站意外挡住。写法上应先区分“允许抓取”和“禁止抓取”的对象,再确认是否影响首页、分类页、产品页和关键静态资源。对于 SEO 站点,重点不是写得更复杂,而是写得更明确、可检查。
robots.txt 要先写“该挡谁”,再写“别挡谁”。对大多数网站来说,最容易出错的不是语法,而是把 Google 需要访问的页面、图片、CSS、JS 或核心目录一并屏蔽,导致抓取路径不完整,页面内容也可能被误判为不易理解。
判断标准很简单:只限制你明确不想让搜索引擎频繁抓取的后台、测试环境、参数页或重复路径;凡是需要参与搜索展示、支持页面渲染、或者用于理解站点结构的内容,都不要放进禁止范围。下面的写法和检查顺序,适合 WordPress、内容站、电商站和有多语言目录的网站。
先明确 robots.txt 的作用边界
robots.txt 不是“让页面消失”的工具,它更像是抓取层面的门禁规则。Google 看到禁止抓取后,通常不会继续访问这些路径里的内容,但这不等于页面被删除,也不等于外部链接指向的页面一定不参与任何搜索结果判断。
因此,写 robots.txt 之前先分清三类对象:
- 可以禁止:后台登录页、站内搜索结果页、测试目录、重复参数页。
- 谨慎禁止:分页、筛选页、带参数的商品列表页、图片目录。
- 不要随便禁止:首页、分类页、产品详情页、文章页、CSS、JS、重要图片资源。
如果你的网站依赖主题模板或脚本加载内容,连资源文件一起禁掉,Google 可能无法完整读取页面结构。这样的问题常见于 WordPress 站点把整段资源路径误写进 Disallow,或者把“/wp-content/”这种大目录直接封掉。
最稳妥的基础写法
基础写法的目标不是“尽可能多地限制”,而是“只限制确定无须抓取的路径”。一个常见且更稳妥的结构是先声明站点地图,再逐条列出禁止项;禁止项尽量具体,不要用过宽的目录名。
示例:
User-agent: *
Allow: /
Disallow: /wp-admin/
Disallow: /search/
Disallow: /*?sort=
Sitemap: https://www.example.com/sitemap.xml
如果你不是 WordPress,也可以保持同样逻辑:保留公开页面的抓取入口,只屏蔽后台、测试、搜索和重复参数。关键不是格式花哨,而是路径命名要可控,后续排查时能一眼看出哪条规则在生效。

哪些规则最容易误屏蔽 Google 抓取
误屏蔽通常发生在“规则过宽”或“目录层级理解错误”这两种情况里。很多站点不是故意挡住重要页面,而是为了省事写了一个大范围规则,结果把应该开放的页面也一起挡住了。
| 规则类型 | 适合场景 | 风险等级 | 判断标准 |
|---|---|---|---|
| Disallow: /admin/ | 后台目录 | 低 | 仅阻止后台,不影响前台公开页面 |
| Disallow: /search/ | 站内搜索结果 | 低 | 搜索结果页通常不需要单独被抓取 |
| Disallow: /wp-content/ | WordPress 资源目录 | 高 | 会影响图片、脚本或主题资源访问 |
| Disallow: / | 全站禁止 | 极高 | 会让整个站点都无法被抓取 |
| Disallow: /*? | 带参数页面 | 中 | 要确认是否把必要的产品筛选页也挡住 |
尤其要注意这些情况:
- 把整站图片目录加入 Disallow,但文章详情页仍然依赖这些图片解释内容。
- 把 CSS、JS 文件目录一起禁掉,导致页面渲染不完整。
- 用通配符拦截所有参数页,但站内产品筛选、分页和排序也依赖参数。
- 迁移站点后保留旧规则,导致新目录结构无法被正常访问。

实际操作示例:WordPress 站点如何排查和改写
以 WordPress 网站为例,先看公开内容是否被误挡,再看资源文件是否可访问。你不需要一上来就改很多规则,建议按下面顺序处理:
- 打开 robots.txt,先确认是否存在 Disallow: /、Disallow: /wp-content/、Disallow: /uploads/ 这类过宽规则。
- 检查首页、文章页、分类页、产品页是否都不在禁止列表中。
- 检查主题所需的 CSS、JS、字体、图片目录是否被封禁。
- 确认是否有明确的后台、登录页、测试目录、搜索结果页屏蔽规则。
- 确认站点地图地址写在文件末尾,便于抓取入口统一识别。
如果你的网站有多语言目录,还要区分“语言版本”与“重复模板”。例如英文目录和中文目录通常都应保留抓取,不能因为页面结构类似就一起屏蔽;真正要限制的是后台、测试站和重复参数,而不是正常语言页面。

发布前检查清单
改完 robots.txt 之后,建议按这份清单逐项确认,避免上线后才发现误封:
- 公开页面是否全部保留抓取入口:首页、栏目页、详情页是否可访问。
- 资源文件是否开放:CSS、JS、字体、图片是否仍可被抓取与渲染。
- 后台和测试路径是否被限制:登录页、测试目录、临时目录是否在禁止范围内。
- 带参数 URL 是否处理合理:筛选、分页、排序是否被误伤。
- 站点地图是否正确声明:路径是否准确、是否为当前线上版本。
- 是否存在新旧规则冲突:旧版本规则有没有覆盖新目录。
如果你是在电商站改规则,还要额外看商品详情页、品牌页和分类筛选页的关系。很多筛选页虽然重复度较高,但未必适合一刀切屏蔽;至少要先确认它们是否承担了重要的站内导航作用,再决定是否限制抓取。
常见错误与修正思路
最常见的错误不是写错拼写,而是把“方便维护”写成了“过度封锁”。下面这些情况出现后,通常都要回到路径层面重新拆解。
- 错误:用一个大目录禁止掉所有资源。
修正:只限制后台或临时资源目录,不要把前台模板资源一起挡住。 - 错误:把带参数页面全部禁止。
修正:先判断参数是用于筛选、排序还是追踪,再决定是否保留抓取。 - 错误:站点迁移后沿用旧 robots.txt。
修正:以当前目录结构为准,逐条核对真实路径。 - 错误:把 robots.txt 当成索引控制工具。
修正:需要控制收录时,还要结合页面本身的可访问性和索引设置一起看。
如果你只是想减少抓取浪费,不要把所有问题都丢给 robots.txt。真正需要处理的页面,有时更适合通过页面层级、URL 规范化、内链收敛和索引设置一起完成,而不是单靠一条禁止规则解决。
FAQ
robots.txt 里写了 Disallow,页面就一定不会被收录吗?
不一定。Disallow 主要影响抓取,不等于直接删除页面。页面是否进入搜索结果,还要看外部链接、页面可访问性、索引信号和站点整体状态。
WordPress 站点能不能直接禁止 /wp-content/?
一般不建议。这个目录常包含主题资源、图片、脚本和上传文件,直接屏蔽可能影响页面渲染和内容读取。
站内搜索结果页一定要屏蔽吗?
通常建议限制抓取,因为这类页面往往变化频繁、重复度高,而且对搜索展示的贡献有限。但如果你的搜索结果页承载了特殊业务页,就要单独判断。
修改 robots.txt 后多久能看到变化?
抓取层面的变化通常取决于 Google 重新访问该文件的时间,不应按固定天数判断。更实用的做法是先确认文件已上线,再观察相关页面是否仍能被正常访问和抓取。
结论
robots.txt 的核心不是“挡得越多越好”,而是把后台、测试目录、重复参数和公开内容分开管理。只要你在写之前先检查路径范围,再确认资源文件和关键页面没有被误封,通常就能把抓取控制和正常访问放在同一套规则里。
真正需要长期维护的,是一份能看懂、能核对、能随站点结构更新的 robots.txt,而不是一份一次写完就不再回看的文件。上线前按页面类型、资源类型和参数类型逐项检查,通常比事后补救更省事。
Website Structure
不确定你的网站结构是否合理?
把你的行业、产品和现有网站发给我们,我们可以先判断你更适合重构页面、优化 SEO,还是重新规划整站结构。