百度收录从 0 开始:我翻了 4 万行日志,Baiduspider 一次都没来

百度收录从 0 开始:我翻了 4 万行日志,Baiduspider 一次都没来

我的新站 Google 和 Bing 收录都正常,唯独百度收录一直是 0。网上教程翻了一圈,全是"提交站长平台""坚持做内容"这类正确的废话,没人告诉你怎么定位问题到底出在哪。这篇记录我最近一次完整的排查:从 site: 查询到逐行分析服务器日志,最后确认了一个很多人想不到的事实——百度蜘蛛根本没来过我的站。如果你也被百度收录卡住,这条排查路径可以直接抄。

先交代背景。我的站内容更新很勤,Google 和 Bing 都已稳定收录,Bing 那边接了 IndexNow 主动推送,新页面基本当天就收。但用 site: 语法查百度,结果永远是空。

收录为 0 有两种可能:一种是"收了但判定质量差,被过滤了",另一种是"蜘蛛压根没来爬过"。两种情况的解法完全不同——前者要回头打磨内容,后者要解决"被发现"的问题。所以第一步不是急着优化,而是搞清楚:百度蜘蛛到底来没来过。

怎么确认蜘蛛来没来:翻服务器日志

服务器日志分析

网上教你判断蜘蛛的办法大多是装统计代码、看站长平台报告。但这些工具只能告诉你"来过之后"发生了什么——蜘蛛没来过,工具里就是一片空白,你还是不知道为什么。

最笨也最可靠的办法,是直接翻服务器的访问日志。每一只蜘蛛爬你的页面,nginx 都会记下它的 User-Agent、IP 和请求路径。我的站跑在 Docker 里,一行命令就能把近 7 天的日志倒出来:

docker logs <nginx容器名> --since 168h 2>&1 | grep -i baiduspider

7 天的日志有 4 万多行。我把几个主流爬虫的到访次数统计了一遍,结果很有意思:

  • Bingbot:1122 次——最勤快,因为我在用 IndexNow 主动推送,推一条它来一条
  • Googlebot:912 次——正常水位,靠 sitemap 和内链维持
  • GPTBot:652 次——OpenAI 的爬虫比百度积极得多
  • Bytespider(字节跳动):7 次——基本没来
  • Baiduspider:0 次——一次都没有

看到 0 我先怀疑自己命令写错了,直到换了个宽松的搜法,找出 10 条包含 "baiduspider" 的日志——全是同一个美国 GCP 机房的 IP,请求路径全是 /cms/.env、/admin/config 这类敏感文件,全部 404。

假蜘蛛:User-Agent 是可以随便写的

这 10 条记录是个很好的教训:只看 UA 判断蜘蛛身份,是不可靠的。

任何脚本都能把 User-Agent 写成 Baiduspider 来伪装。真正的百度蜘蛛有一套官方验证方法:对蜘蛛的 IP 做反向 DNS 解析,真蜘蛛会解析到 *.crawl.baidu.com 或 *.baidu.com;再对解析出的域名做正向解析,确认 IP 一致,双向对上才算真。百度官方文档写过这套流程。

伪装者还有两个更好认的行为特征。一是 IP 段对不上:真正的 Baiduspider 全部来自中国的百度机房,不会是境外云厂商的地址;二是请求路径都是扫描性质的——批量试探 .env、.git、后台地址,想捡泄露的配置文件和密钥,真蜘蛛只会老老实实按链接爬页面。

所以那 10 条 "baiduspider" 不是百度来过,是扫描器伪装成百度来踩点。顺带提醒:如果你的日志里也有这类记录,别慌,404 说明没扫到东西,但把敏感文件放进 gitignore 和访问控制是必须的。

结论就是:我的站对百度来说,从未被访问过。

不是被惩罚,是没人告诉百度

排除法再走一遍:robots.txt 检查过,没有屏蔽百度;服务器连通性没有问题(Bing 和 Google 抓取健康就是证明);内容全部原创,没有采集痕迹。所有"被惩罚""被拦截"的常见嫌疑都排除了。

剩下的唯一解释:百度不知道这个站存在。

这听起来有点荒谬——搜索引擎不是会自己顺着互联网爬吗?会的,但前提是有"入口"。新站没有外链、没有被目录收录,对百度来说就是一个孤岛。Google 和 Bing 之所以正常,是因为我主动做了两件事:sitemap 提交给了它们的站长平台,Bing 还接了 IndexNow。而百度这边,这两条路一条都没走通——sitemap 提交因新站权重低被限制,主动推送接口一调就报配额不足。

蜘蛛不来,收录无从谈起;收录为 0,站长平台的数据面板也是空的。这就是新站百度收录为 0 的完整逻辑链,而你唯一能做的,是把入口亲手递过去。

新站接入百度的正确顺序

排查清楚之后,接入动作其实很固定,按顺序做:

  1. 验证百度搜索资源平台。往网站根目录放一个验证文件,或加一条 DNS 记录。这里有个坑:验证时可能报"无法连接服务器",但你的验证文件明明全网可访问。我排查过防火墙、DNS、境外节点探测,都没问题,最后发现是百度抓取侧的抽风——隔几分钟原样重试就过了,不用急着改配置
  2. 提交 sitemap。新站低权重时 sitemap 入口可能被限制,先提交着,收录起来后要回来复查解锁
  3. 接入主动推送 API。内容更新时把新 URL 推给百度,这是新站冷启动最有效的一步。注意新站有每日配额,配额和站点属性里的主体备案号校验挂钩——我的备案号校验没过,第一次调接口就吃了个 over quota,配额是 0,只能重试备案号校验并提交反馈工单
  4. 等。 百度的收录周期本来就以周为单位,新站更慢。工单、申诉、配额审核都是流程,急不来

我目前卡在第 3 步的配额上,工单已提交。等配额恢复、收录破 0,我会把完整数据(推送多少条、多久收到第一条收录)写成续篇,把这条从 0 到 1 的路补完整。

这套排查,值得做成工具吗

写到这里你应该发现了:这次排查的核心动作——统计各引擎蜘蛛的到访频率、区分真假蜘蛛、每周盯着收录水位线——全是重复劳动。而且站长平台的官方数据要等蜘蛛"来过之后"才有,日志却能在它没来的时候就报警,这恰恰是收录出问题时最需要的信号。

这也是我在《独立开发者的 SEO 自查清单》里埋的投票方向之一:「收录雷达」——定期查所有页面在各引擎的收录快照,收录掉了立刻知道。目前投票还在进行,收录雷达 / 关键词捡漏 / AI 可见度快测三个方向票高的先做,我在知识星球「码上岸」开了内测预约,想第一时间免费用上欢迎来聊。

排查思路是通用的,工具只是把重复的部分省下来。先动手,才是独立开发者该有的样子。