去年有个朋友打电话给我,语气听起来像三天没睡觉。
“我网站上线三个月了,发了十几篇文章,百度一条都不收。我搜自己网站名字都搜不到,是不是域名有问题?”
我说你先别急,把域名发给我看看。
打开一看,网站做得挺用心,文章质量也不差,每篇都是原创。但百度确实一条都没收录——site:域名搜出来是空的,站长平台里抓取诊断全红。三个月,零收录。这搁谁身上都得崩溃。
我花了两个小时帮他排查,最后发现是三个问题叠在一起了。修完之后第三天,百度开始收录了。这篇文章把当时整个排查过程还原出来——如果你也遇到百度不收录的情况,按这个思路走一遍,大概率能找到原因。
打开站长平台,第一眼就看到了问题
我让他登录百度搜索资源平台,点开”站点信息”。
页面最上面赫然写着:“该站点已被屏蔽”。
他一脸懵:”我从来没动过这个设置啊?”
打开 WordPress 后台 → 设置 → 阅读,往下滑,看到一个小勾选框——”建议搜索引擎不索引本站点”。
勾着呢。
他建站的时候怕网站没做完被人看到,顺手勾了这个选项。后来网站上线了,忘了取消。这三个月,他的网站一直在对百度说”别来爬我”,百度也很听话,真的没来。
修掉这个勾选,再去站长平台的 robots 检测工具跑一遍,确认 noindex 标签已经消失。这一步花了两分钟,但帮他省了三个月的等待。
这个坑踩的人太多了。 不只是 WordPress,很多建站系统、甚至有些主题和插件,默认都会开启”阻止搜索引擎索引”。如果你是新站,上线后第一件事就是检查这个。别觉得太基础——就是因为它太基础,才最容易忘。关于新站上线还有哪些基础设置要检查,我之前写过一篇新站上线前必做的SEO基础设置,里面逐项列了 7 个检查点,可以对照着看。
第二个问题:robots.txt 把百度蜘蛛挡在门外了
noindex 修掉之后,我顺手看了一眼他的 robots.txt。
前面几行看起来没什么问题,中间突然看到一行:
Disallow: /wp-content/
这行是什么意思?它告诉搜索引擎:/wp-content/ 目录下的所有内容,不要爬。
问题在于,他的网站用的是 WordPress 5.x 版本,主题里有些 CSS 和 JS 文件放在 /wp-content/themes/ 下面。百度蜘蛛来爬页面的时候,需要加载这些资源来渲染页面、判断页面质量。你把 /wp-content/ 整个屏蔽了,蜘蛛爬到的页面就是一个残缺版——没有样式、没有布局、看起来像二十年前的网页。百度会怎么想?”这网站质量不行。”
robots.txt 误屏蔽是个很隐蔽的问题。 你平时访问网站一切正常,因为浏览器不受 robots.txt 限制。只有搜索引擎蜘蛛会遵守这个规则。等于说,你看到的是一个完整的网站,百度看到的是一堆被拆散的零件。
怎么修?把 /wp-content/ 拆开,只屏蔽真正需要屏蔽的:
Disallow: /wp-content/plugins/
Disallow: /wp-content/uploads/
Allow: /wp-content/themes/
改完之后,去站长平台的 robots 更新工具提交一下,让百度重新抓取规则。
这里补充一句: 很多人喜欢在 robots.txt 里写一堆 Disallow,觉得屏蔽得越多越安全。其实不是——你屏蔽的越多,百度能爬到的信息越少,对网站质量的判断就越不准确。robots.txt 的原则是:只屏蔽真正需要屏蔽的,其他一律放开。
第三个问题藏得最深:服务器把百度蜘蛛当攻击给拦截了
前面两个问题修完之后,我让他在站长平台跑一次”抓取诊断”。
结果还是红的。
这就奇怪了。noindex 没了,robots.txt 也修了,百度蜘蛛还是爬不了?
我让他登录服务器,打开宝塔面板的安全日志。往下翻了几页,看到一堆这样的记录:
[Security] IP 116.179.32.x blocked - too many requests
[Security] IP 220.181.108.x blocked - suspicious UA detected
这几个 IP 段,恰好是百度蜘蛛的 IP 段。
问题是这样的:他给宝塔面板装了 Nginx 防火墙(免费的那个),默认规则里有个”CC 攻击防护”,频率阈值设得比较低。百度蜘蛛来爬网站的时候,短时间内会发起大量请求——爬首页、爬文章页、爬分类页、爬图片、爬 CSS、爬 JS。这在防火墙看来,跟 CC 攻击长一个样:”一个 IP 短时间内发了几十个请求,肯定是攻击,封了。”
于是百度蜘蛛每次来爬,爬到一半就被封了。被封之后蜘蛛就走了,下次再来又被封——循环往复,三个月了,一个完整页面都没爬完,更别说收录了。
怎么解决? 两个办法:
第一个,在防火墙里把百度蜘蛛的 IP 段加入白名单。百度官方公布了蜘蛛 IP 段,在站长平台的”抓取诊断”页面能找到。把这些 IP 段加进去,防火墙就不会拦截了。
第二个,把 CC 防护的阈值调高一点。默认是”单 IP 60 秒内请求超过 120 次就封”,对蜘蛛来说太低了。调到 300 次或者更高,不影响正常防护,蜘蛛也不会被封。
我让他两个都做了。改完再跑一次抓取诊断——绿了。
第四个问题算是个 bonus:sitemap 根本没提交
修完上面三个问题,我说看看你的 sitemap。
他愣了一下:”sitemap 是什么?”
好吧。这个不算 bug,但很多人确实不知道。
Sitemap 就是一个 XML 文件,列出了你网站所有页面的 URL。提交给百度之后,百度就知道你网站有哪些页面需要爬,不用自己慢慢发现。尤其对新站来说,百度蜘蛛来得本来就少,你再不提交 sitemap 告诉它”我有哪些页面”,它可能一个月才来一次,一次只爬首页。
怎么提交?
装了 Rank Math 的话,sitemap 地址一般是 https://你的域名/sitemap_index.xml。去站长平台 → 数据引入 → 链接提交 → sitemap 提交,把这个地址填进去就行。
提交完不是马上生效,百度那边会有个审核过程,通常一两天。提交完之后,回到 sitemap 页面,能看到”已提交”状态和”抓取量”数据——如果数字是 0 或者很低,说明百度还没有开始抓你的 sitemap,等两天再来看。
有个小细节: 提交完 sitemap 之后,随手点一下”普通收录”里的”手动提交”,把首页 URL 贴进去。这个操作等于在跟百度说”我这有个新站,你来看看”,比干等快得多。
排查完第二天,收录开始动了
全部修完之后,我让他第二天再看看。
第二天下午他给我发消息:”收录了!首页和两篇文章,一共三条!”
我说别急,刚收录会有波动,接下来一周每天看一次站长平台的数据。
第三天,收录变成了 5 条。一周后,10 条。半个月后,他发的十几篇文章基本全收了。
你看,不是百度不收录他的站,是他建站的时候埋了三个坑,把百度蜘蛛的路全堵死了。坑修完之后,收录自然而然就来了。收录上来之后,下一步就是怎么让排名也跟上来——这个我之前在网站关键词排名上不去?根本问题出在长尾词布局里写过,收录和排名是两件事,收进来了不代表能排上去。
如果你也遇到百度不收录,按这个清单排查
我把整个排查过程浓缩成一份清单,你可以逐项检查:
| 排查项 | 怎么查 | 怎么修 |
|---|---|---|
| 搜索引擎可见性 | WordPress 后台→设置→阅读,确认没勾”建议搜索引擎不索引” | 取消勾选 |
| noindex 标签 | 右键查看网页源代码,搜索 noindex | 去掉 noindex 标签 |
| robots.txt | 访问 你的域名/robots.txt,检查有没有误屏蔽 | 修改 robots.txt,只屏蔽必要目录 |
| 服务器防火墙 | 宝塔面板→安全→日志,检查有没有拦截百度蜘蛛 IP | 百度蜘蛛 IP 加白名单,调高 CC 防护阈值 |
| sitemap 提交 | 站长平台→数据引入→sitemap 提交 | 提交 sitemap 地址 |
| 抓取诊断 | 站长平台→抓取诊断→手动检测 | 看报错信息,对症下药 |
| 网站速度 | 抓取诊断里看抓取耗时 | 超过 2000ms 考虑加 CDN 或升级服务器 |
| DNS 解析 | 站长平台→站点信息→看抓取状态 | 如果 DNS 解析失败,联系域名注册商 |
每个排查项花不了几分钟,但随便一个没处理好,就可能导致百度几个月不收录。我见过最夸张的案例——一个站上线一年,发了五十多篇文章,百度一条没收。查到最后发现是建站模板自带的 noindex 标签,从始至终没去掉过。一年,一个字都没被收录。想想都觉得亏。
一个我自己踩过的坑:换域名忘了做 301
前年我自己犯过一个低级错误。
网站从旧域名换到新域名。我把文章数据全迁过去了,sitemap 也提交了,百度站长平台也做了站点迁移。但过了一个多月,新域名的收录量一直上不去,旧域名的收录反而还在涨。
怎么回事?我忘了做 301 跳转。
旧域名还在解析,访问旧域名的文章不会自动跳转到新域名。于是百度蜘蛛照常爬旧域名,发现内容还在,就继续收录旧域名。新域名那边,百度根本不知道这些内容已经搬过去了。
301 跳转对百度来说就是”搬家通知”。 你做了 301,百度才会把旧 URL 的权重转移到新 URL,旧域名的收录才会慢慢迁移到新域名。忘了做这一步,等于你搬了家但没告诉邮局,信全寄到旧地址去了。
后来我在旧域名的服务器上配了全局 301,所有请求都跳转到新域名对应的 URL。过了两周,收录开始迁移了。
写在最后
百度不收录这件事,绝大多数情况不是因为网站内容差,也不是因为百度针对你。就是一些基础配置没搞好——noindex 没关、robots 误屏蔽、防火墙拦截蜘蛛、sitemap 没提交,这些看起来微小的设置,任何一个没处理好,百度就是收不了你的站。
而且这些坑有个特点:你自己完全察觉不到。 网站访问正常、内容显示正常、后台看起来也没问题。只有当你去查收录的时候,才发现一条都没收。所以新站上线后,第一件事不是写文章,是先把上面那份清单走一遍。
如果你排查了一圈还是没找到原因,或者发现了一些不在清单里的异常情况,欢迎联系我。收录这件事,有时候一个人闷头排查容易漏掉关键线索,多一个人帮你看一眼,也许就能找到问题所在。
本文由 wujianzhan.com 原创发布,如需转载请联系作者。
有建站或 SEO 方面的问题?点这里联系我,一起交流。
