菜单
189-0733-7671

WordPress robots.txt 的 5 个错误写法

本文介绍了robots.txt文件的基础概念及其在WordPress中的重要性。WordPress默认生成的robots.txt规则过于简单,缺乏对关键页面、资源文件和站点地图的优化控制。文章提供了创建物理robots.txt文件的多种方法,包括手动创建、使用插件或修改代码,并给出了一个完整的优化模板,包含详细的禁止与允许目录规则、爬取延迟设置和站点地图引用。

曾凤祥
曾凤祥 技术总监
| | | 15 分钟
WordPress robots.txt 的 5 个错误写法

robots.txt 有个麻烦的特性:写错了不报错,也不通知你。唯一的表现是收录变慢、新页面进不去,而后台看不出任何异常。

2026 年 11 月我们扫了一遍自己的站点,把下面这五条逐条对照了一遍——其中一条,是我们自己中过的。第 2.5 节写了它是怎么被发现的,以及后来怎么改的。

这篇只讲三件事:哪几种写法真的会让 Google 停手、怎么在十分钟内查出来、以及你的站到底需不需要动它。

一、先判断:你的站要不要碰这个文件

WordPress 装好之后,robots.txt 其实已经在工作了。5.5 版之后,默认输出大致是这样:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://你的域名/wp-sitemap.xml

这三行规则加一行声明,对绝大多数企业站够用。真正需要你动手的,只有三种情况:

  • 站内有大量搜索结果页、标签页、分页,且这些页面被大量抓取,浪费抓取预算
  • 需要按爬虫分组,比如屏蔽 AI 训练爬虫,或对某个爬虫单独限速
  • 站点刚迁移或改版,需要临时封禁目录

不在上面三种里,就别改。改错的代价,比改对的收益大得多。

二、五个错误,对应五个自查动作

2.1 Disallow: / ——少几个字符,就是全站封禁

# 这是整站禁止抓取
Disallow: /

# 这才是屏蔽后台
Disallow: /wp-admin/

Disallow: / 表示整站不许抓。它经常先出现在测试环境,然后被原样带到生产环境。

后果不是「排名下降」这么笼统:Google 抓不到页面,就没有新内容可以索引;已经收录的页面不会立刻消失,但会停止更新,长期可能被移除。

怎么查:打开 /robots.txt,搜 Disallow: /,看斜杠后面还有没有内容。

2.2 顺手屏蔽 CSS 和 JS

Disallow: /wp-includes/
Disallow: /wp-content/themes/
Disallow: /*.php$

这三条看起来最「安全」,实际会把 WordPress 的样式和脚本一起挡掉:wp-includes 里是区块样式的 CSS(wp-block-library),themes 里是主题的样式与脚本。Google 需要渲染页面才能判断内容质量,样式被挡住,它看到的是一张裸页。

Disallow: /*.php$ 还会挡住 admin-ajax.php。就算你另写了 Allow,最后也只有路径更长的那条生效——这一层的取词规则,和我们在 WordPress SEO 优化指南 里拆解的先后顺序是同一套逻辑:先定结构,再谈细节。

怎么查:在 Search Console 的「网址检查」里看 Google 渲染后的页面,或看「已屏蔽的资源」报告。

2.3 把正则当通配符

# 这行匹配不到任何东西
Disallow: /category/[0-9]+/

robots.txt 只认两个符号:* 表示任意字符串,$ 表示结尾。它没有正则,[0-9]+ 会被当成普通字符,一条 URL 都拦不住——你以为拦住了,其实什么都没发生。

想拦数字分类页,只能用 Disallow: /category/*/page/ 这类通配,或者在页面里加 noindex。

2.4 给 Google 写 Crawl-delay

User-agent: Googlebot
Disallow: /print/
Crawl-delay: 1

Google 的 robots.txt 规范写明只支持四个字段:user-agent、allow、disallow、sitemap,并明确说明 crawl-delay 一类字段不受支持。这一行对 Google 不起作用。

Bing 支持它,但语义不是「每次请求间隔 N 秒」,而是「N 秒的窗口内最多取一个 URL」——写 10,大约相当于每天 8,640 个页面。要给 Bing 限速,就单独给 Bingbot 写一组,不要放在 User-agent: * 下面,否则支持这个字段的爬虫会被一起限速,不支持的照旧。

2.5 用了物理文件,Sitemap 声明就没了

WordPress 的虚拟 robots.txt 会自动追加 Sitemap: 行;一旦根目录放了物理文件,这条自动声明就不再生效,得自己写。

这就是我们自己的站。2026 年 11 月自查时的情况:

  • 根目录有一个物理 robots.txt,500 字节,属主 www:www
  • 规则写得不算少:屏蔽搜索结果页、登录页、trackback 与 feed,还按爬虫分了组
  • 但 Sitemap 声明是空的

站内 xs-sitemap 已经生成了五个子图:general、product、post、case、page。五个文件都在,没有任何一条 Sitemap: 行把它们告诉搜索引擎。Google 那边靠 Search Console 提交过,问题不大;Bing 和 Yandex 就只能靠猜。这类文件的生成与核对,站点地图怎么生成 里有完整步骤。

问题不在规则写得对不对,在于物理文件这条路本身:它绕过了 WordPress 自动追加 Sitemap 行的逻辑,每改一次规则,都得自己记得补那一行。我们后来把规则搬进了后台的 robots 设置(观象台 → Robots.txt),插件在输出末尾统一补 Sitemap,物理文件删掉。

补的就是这一行,一行覆盖五个子图:

Sitemap: https://www.seo628.com/sitemap.xml

三、十分钟自查:先查,再改

查什么怎么查有问题的信号
全站是否被禁curl -I https://你的域名/robots.txt,看返回内容出现孤立的 Disallow: /
是否挡住样式脚本在文件里搜 wp-includes、themes、*.php命中任意一条
是否写了假语法搜 [、]、(、+ 这类正则符号命中
是否对 Google 写了 crawl-delay搜 crawl-delay出现在 Googlebot 或 * 分组下
有没有 Sitemap 声明搜 Sitemap:没有,或指向已失效的路径

查完别急着改。先在 Search Console 的 robots.txt 报告里确认 Google 最近抓到的版本——这个文件会被缓存,最长 24 小时才更新。改完 24 小时内看不到变化,是正常的。

顺序上,先修 Disallow: /(全站级),再看样式脚本(影响渲染),最后处理 Sitemap 与限速(影响发现效率)。前两类是止血,后两类是优化。

四、我们自己的写法

规则放在后台的 robots 设置里(观象台 → Robots.txt),内容是这样:

# robots.txt
User-agent: *
Allow: /
Disallow: /search/
Disallow: /?s=
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /*/trackback/
Disallow: /*/feed/

User-agent: Amazonbot
Disallow: /search/
Disallow: /?s=
Crawl-delay: 10

User-agent: SemrushBot
Disallow: /
User-agent: AhrefsBot
Disallow: /
User-agent: MJ12bot
Disallow: /
User-agent: DotBot
Disallow: /

Sitemap: https://www.seo628.com/sitemap.xml

几个取舍说清楚:

  • 用后台设置,不用物理文件:插件负责在末尾补 Sitemap:,不用每次改规则都记着一行
  • 对 SemrushBot、AhrefsBot 等工具爬虫整站屏蔽:它们抓你的站不为带来访客,只消耗服务器资源,还占日志
  • 不挡 AI 爬虫:站内做了 llms.txt,本来就是想让 AI 读得更准;一边挂 llms.txt 一边封 ClaudeBot,等于门口立了牌子却不让进。代价是带宽和日志会多一点,要控就用限速,不要用封禁
  • /search/ 和 /?s= 都禁:WordPress 的搜索结果页是无限组合,放任抓取会吃掉大量抓取预算
  • Amazonbot 给了 crawl-delay:它属于「支持这个字段、但抓得比较狠」的一类,值得单独限一下

五、什么情况下不用管它

如果站点是标准企业站:没有会员、没有电商、没有多语言,页面在一百个以内——默认那三行规则够用,改它没有额外收益。

还有一点必须讲清楚:robots.txt 不是安全措施。它只是「请求爬虫不要抓」,恶意爬虫根本不看这个文件。真要挡人,靠的是服务器层面的安全配置——限流、登录保护、上传目录禁止执行 PHP,这是另一套东西。

六、什么时候该重新看一遍

三种时机会让原来的规则失效:换域名或迁移、加多语言目录、上电商功能。这三种情况下,先确认 robots.txt 有没有把新目录误挡,再去动别的地方。

至于「多久检查一次」,我们的做法是不设固定周期——只在上面三种变更发生时看。日常反复改一个本来就对的文件,风险大于收益。

曾凤祥
曾凤祥 技术总监

在WordPress独立站开发领域深耕逾十年,我始终专注于外贸企业官网搭建与全球化SEO策略落地,积累了丰富而系统的实战经验。多年来,我已累计为数千家企业客户提供定制化建站与增长解决方案,服务对象涵盖制造业、外贸进出口、政府机构等多个行业,兼具技术深度与商业视野,致力于帮助客户在全球市场中实现可持续的线上增长。

不想自己折腾 SEO 和技术细节?

文章能建立行业权威,但要真正带来询盘,背后得有技术架构和 SEO 策略支撑。
把技术交给我们,你只管写好内容。

小兽WordPress团队合影
微信二维码

扫码添加微信

189-0733-7671

点击拨打

联系我们