百度不收录排查:检查robots.txt封禁/蜘蛛抓取异常/内容质量问题三步法
百度不收录先别改内容。正确顺序是:查 robots.txt 是否封禁、查蜘蛛抓取是否异常、再查内容质量,三步逐层排除。前两步没过,改内容再多次也没用。
robots.txt 封禁为什么排在排查第一位?
robots.txt 是蜘蛛进入站点的第一道闸门,它一挡,后面所有优化都失效。判断方式很直接:浏览器打开 https://你的域名/robots.txt,注意别用第三方工具代取,它们可能带自己的 UA 或者缓存了旧文件。
容易误伤的写法有这几类:
Disallow: /:整站封禁,多见于测试环境上线时忘了删。Disallow: /*?:把带参数的 URL 全挡掉,很多 CMS 的列表页、分页、筛选页都带参数,等于把栏目页一起封了。- 从模板复制来的
Disallow: /search、Disallow: /tag:本想挡站内搜索,结果把标签聚合页也一起挡了。 - 服务器返回 403 或 500 而不是 404:robots.txt 不存在时蜘蛛默认放行,但返回错误码可能让它放弃抓取整站。
用命令行验证一遍:
curl -A "Baiduspider" -I https://example.com/robots.txt # 看状态码
curl -A "Baiduspider" https://example.com/robots.txt # 看蜘蛛实际读到的内容
再到百度搜索资源平台 → 抓取 → robots 检测,确认百度读到的是哪一份文件。有 CDN、多域名或者回源配置时,这一步能发现"本地看是放行、蜘蛛看是封禁"的情况。改完别立刻下结论,重新检测一次,并留意该菜单下的历史记录。
蜘蛛抓取异常怎么判断,日志里该看什么?
robots 放行不等于蜘蛛真的来了。先翻服务器访问日志,过滤百度 UA:
grep -i "baiduspider" /var/log/nginx/access.log | awk '{print $9}' | sort | uniq -c
结果分三种情况:
- 有请求、状态码以 200 为主:通道正常,问题在内容侧。
- 有请求但 403/404/503 居多:403 多半是 WAF、CDN 的 CC 防护或防火墙拦了百度 IP 段;404 是死链太多,蜘蛛进来找不到东西;503 则是服务器扛不住或程序报错。
- 一条 Baiduspider 记录都没有:不是内容问题,优先查 DNS 解析、域名状态、CDN 对蜘蛛回源是否失败、是否误封了百度 IP。
资源平台的"抓取诊断"能拿到蜘蛛视角的返回内容。如果显示抓取成功但正文是空的、或者是一段验证码,说明服务端对蜘蛛返回了与用户不同的页面——常见于 JS 渲染的站点没做 SSR,或者安全插件把蜘蛛当成了爬虫拦截。抓取频次、抓取异常(DNS 解析异常、连接超时、拒绝访问)也在同一菜单下,按提示逐项处理。给 CDN 或防火墙加白名单时,百度蜘蛛的 IP 段以平台公布为准,且会更新,不要长期沿用一份旧列表。
内容质量不达标有哪些典型信号?
前两步都正常,才轮到内容。判断低质不看字数多少,看这几个信号:
- 采集拼凑:正文里有同义词替换的痕迹,段落之间逻辑不连贯。
- 模板重复度过高:整站大量页面只有标题不同,正文结构完全一致。
- 正文过短或主次颠倒:核心信息藏在图片、视频或 JS 里,源码里几乎没内容。
- 标题与内容不符:标题承诺的东西正文没讲,这类页面即使被抓取也常被放在低质量池里。
- 聚合页泛滥:标签页、搜索结果页、翻页被大量收录,真实内容页反而被稀释。
处理动作是把整站页面分成三层:值得收录的主体内容页、可以保留但不该进索引的辅助页(用 noindex 或 canonical 处理)、该彻底清理的空页面。同时用 site: 查一次当前收录画像,看看被收的是不是都是些无意义的列表页——这往往比"收录量低"更能说明问题。
另外,新站或刚改版的站点有一段正常的观察期,收录慢并不等于被惩罚,先确认上面这些信号是否真的存在,再动手。
前两步都没问题,还该做哪些动作?
确认通道和内容都没硬伤后,剩下的就是主动推送和等待:
- 在搜索资源平台提交 sitemap,并确认提交后的状态是"抓取成功"而不是"格式错误"。
- 用普通收录的 API 推送新增和更新的 URL,尤其是有时效性的内容。
- 做好内链:从首页和栏目页给新页面留出可点击路径,蜘蛛靠链接爬行,不靠猜。
- 检查页面本身的技术项:HTTPS 证书是否有效、是否存在跳转链、移动端能否正常访问、首屏是否依赖大量 JS。
- 观察整体趋势而不是单页结果。收录恢复通常以周为量级,期间不要反复改标题、改模板,那会让判断失去参考。
如果三步走完、动作也做了,站点仍然长期不收录,就要考虑是不是命中了算法处罚,而不是技术问题——这时该看的是站内是否有违规内容、是否积累了低质外链,而不是继续折腾 robots.txt。