你早上打开 Search Console,流量掉得像被抽了底——心一沉,赶紧翻日志、查服务器、看算法动态……折腾半天,最后在 robots.txt 里发现一行自己压根不记得加过的规则:Disallow: /。
那一刻不是焦虑,是想把键盘扔出窗外。
这篇就是写给刚经历过这种“自己封自己”的人。不讲大道理,只说你现在能做的、马上见效的事。
怎么判断是 robots.txt 误封,而不是算法或服务器问题?
流量掉了,先别急着怀疑谷歌发脾气。三个动作,两分钟搞定排查:
看 Search Console 的“索引覆盖率”报告。
如果突然冒出一堆标着“已被 robots.txt 排除”的页面,基本可以锁定了。我帮一个本地教育机构处理过类似问题:他们改版时直接复制了测试站的 robots.txt,里面写着 Disallow: /,全站躺平两周没人知道。
用浏览器打开一个原本能被收录的老页面,在地址栏前加上 view-source:。
拉到 <head> 里找这行:<meta name="robots" content="noindex">。有?那是 meta 标签的问题;没?那大概率是 robots.txt 在搞鬼。
进 Search Console,用内置的 robots.txt 测试工具。
随便输几个关键页面 URL(比如首页、课程列表页),点测试。如果显示“禁止”,别犹豫了——恢复流程现在就开始。
误封后,修改 robots.txt 就能立刻恢复收录吗?
不能。改完文件 ≠ 爬虫立刻回头。
Google 的爬虫不是随叫随到的快递员,它有自己的节奏。有时候你改好了,它可能隔一两天才来重访,甚至更久。我之前帮一个客户改完 robots.txt,等了三天没动静,差点去翻 crawl stats 日志——后来才想起来:得手动推它一把。
今天就做这件事:
打开 Search Console → 进入「URL 检查」工具 → 输入你最在意的 3 个页面(比如首页、主栏目页、转化落地页)→ 点「请求索引」。
不用一次全提,每天挑 10–15 个重点页面提交,连做三天。爬虫看到“有人急着要我来”,真会优先安排。
删除 robots.txt 文件,会不会比修改更省事?
千万别删。
robots.txt 不是可有可无的装饰品。它像网站门口的值班表——告诉爬虫哪些门能进、哪些门请绕行。你把它撤了,等于撤掉所有门禁,后台目录 /admin/、配置文件 /wp-config.php 都可能被扫进去。轻则泄露路径结构,重则暴露敏感信息。
更麻烦的是,有些 CMS 默认生成的 robots.txt 里其实藏着合理限制(比如屏蔽 /cgi-bin/ 或 /tmp/)。一删了之,反而让爬虫抓到重复内容或低质页面,影响权重分配。
正确做法很简单:
只动该动的地方。比如你误加了 Disallow: /,那就改成:
User-agent: *
Allow: /
其他原本就存在的合理限制(如 Disallow: /search/),原样留着。
恢复后,如何加速被误封页面的重新收录?
很多人改完 robots.txt 就关掉电脑等结果,结果等了一周,首页还没回来。其实只要加三步小动作,就能让爬虫更快“认出你”。
更新你的 sitemap 并提交。
确保最新版 sitemap 已上传,且每个 <url> 下都有 <lastmod> 标签。Google 明确说过:它会把 lastmod 时间戳当作“这个页面最近有动静”的信号,优先抓取。
在高权重页面上加内链。
比如在首页导航栏、热门文章末尾、侧边栏推荐位,加一条指向被误封页面的链接,带自然锚文本(别写“点击这里”,写“查看春季课程安排”)。爬虫天天来首页,顺手就把链接带走了。
扫一遍有没有“软 404”。
用 Screaming Frog 或 Sitebulb 跑一次全站扫描,筛选出“HTTP 状态码是 404,但页面内容正常显示”的页面。这类页面容易被 Google 当作失效页丢弃。找到后,要么加 301 重定向,要么确保返回真实 200 状态码。
误封后,网站排名会永久受损吗?
不会永久掉,但恢复速度真的取决于你动手有多快。
Google 对短期误封(一周内)容忍度挺高。只要你改完 robots.txt + 主动请求索引 + 更新 sitemap,多数页面几周内能回到原来的七八成位置。
但如果拖了一个月以上,爬虫很可能已经把你那些页面从队列里移除了。我见过一个 B2B 企业官网,误封近两个月,恢复后核心词排名掉了三层,半年后才勉强爬回第一屏。
另外提醒一句:你歇着的时候,对手没歇。误封期间他们可能抢走了你的长尾词、外链资源,甚至用户心智。恢复收录只是第一步,后续还得补内容、修外链、盯竞品动向。
如何避免再次出现 robots.txt 误封?
最土的办法,往往最管用:每次改完,必须验证。
别信 CMS 插件自动生成的 robots.txt,尤其 WordPress 上那些“SEO 套餐”插件,有时会悄悄覆盖你的规则。建议用纯文本编辑器改,上传后直接在浏览器访问 你的域名/robots.txt,确认内容是你写的。
再加个小习惯:在 robots.txt 文件开头写注释。比如:
# 2025-03-20:放开 /product/ 目录,保留 /admin/ 和 /backup/
User-agent: *
Allow: /product/
Disallow: /admin/
Disallow: /backup/
半年后你再来看,不会对着一行 Disallow: / 发呆:“我当年是不是疯了?”
最后,准备一张纸,写好“紧急恢复三件套”贴在显示器边:
- Search Console 登录地址
- FTP 或主机后台账号(别存密码,写清楚在哪找)
- 技术支持联系人微信/电话(比如你合作的建站同学、运维朋友)
出问题时,照着念,不慌。
今天就能执行的一个操作步骤
现在就打开 Search Console → 进入「索引覆盖率」→ 筛选「已被 robots.txt 排除」→ 点开第一个 URL → 复制它 → 打开你网站的 robots.txt 文件(浏览器输入 你的域名/robots.txt)→ 对照检查这个 URL 是否真的该被封。
如果发现是误封,立刻修改文件(哪怕只是删掉一行 Disallow: /),然后回到 Search Console 的「URL 检查」工具,粘贴刚才那个 URL,点「请求索引」。
做完这一步,你就已经把网站从“冷宫”拉回来了第一步。