页面"不收录"和"收录慢"是两件事。前者通常是硬性阻断,后者多半是抓取预算与页面质量的问题。判断顺序错了,改再多也无效。
一、先分清三种状态
很多人把三种情况混为一谈:
- 抓不到:爬虫根本没访问,或访问被拒。
- 抓到了不收录:抓取正常,但页面被判为低质或重复。
- 收录了没排名:这是内容与竞争问题,不是技术问题。
三种状态的修法完全不同。先看服务器日志与平台抓取数据,再动手。
二、原因 1:爬虫进不来
最常见也最容易忽略。检查三处:
- robots.txt 是否误屏蔽了整站或关键目录(很多站点在测试环境留下的
Disallow: /被带到线上)。 - 防火墙 / WAF 是否把百度蜘蛛的 IP 段拦了。看日志里有没有
Baiduspider,以及它拿到的状态码。 - 登录墙、验证码、地区限制是否挡住了匿名访问。
三、原因 2:没有把页面"交出去"
爬虫靠链接发现页面。如果新页面只存在于后台、没有入口链接,它就只能等 sitemap 被读到——而 sitemap 的抓取频率远低于页面。
- 新文章发布后,从首页或栏目页给一个真实链接,比只写进 sitemap 有效得多。
- sitemap 保持干净:只放 200 状态、可索引的 URL,别混入参数页和 404。
- 内链要形成网状,而不是一堆孤立页面。
四、原因 3:内容靠 JS 渲染
如果正文是前端框架在浏览器里渲染出来的,而首屏 HTML 里只有 <div id="app"></div>,爬虫很可能只看到一个空壳。百度对 JS 渲染的支持在进步,但稳定性远不如服务端直出。
判断方法很简单:curl 一下页面,看返回的 HTML 里有没有正文。如果 curl 看不到、浏览器能看到,就是这个问题。
五、原因 4:重复内容与参数页
同一份内容有多个 URL(带 ?utm=、排序参数、打印版、分页),会分散抓取预算,也让搜索引擎难以判断哪个是主版本。处理方式:
- 用
rel="canonical"指明主版本。 - 参数页用 robots 或 canonical 收敛,不要全部开放抓取。
- 分页不要都指向第一页的 canonical,除非内容确实重复。
六、原因 5:状态码与跳转混乱
软 404(内容为空但返回 200)、跳转链过长、https/http 混用,都会消耗抓取预算并稀释权重。一条原则:该 404 的就返回 404,该 301 的就一步到位。
七、原因 6:速度与稳定性
首屏超过 3 秒、服务器频繁 5xx、TLS 握手慢,都会降低抓取频次。百度与 Google 都会根据站点响应情况动态调整抓取配额——站点越稳,配额越高。
八、六项自查清单
| 检查项 | 怎么看 | 正常表现 |
|---|---|---|
| robots | 访问 /robots.txt | 只屏蔽后台与参数页 |
| 蜘蛛访问 | 服务器日志过滤 Baiduspider | 有访问且返回 200 |
| HTML 含正文 | curl 页面看源码 | 源码里能读到正文 |
| sitemap | 提交后看索引量 | 提交数与索引量同步增长 |
| 重复内容 | 站内搜索标题 | 同一内容只有一个主 URL |
| 响应速度 | 首字节与首屏时间 | 首字节 < 500ms |
九、处理顺序
按"先通、后优、再扩"的顺序:先确保爬虫能进来、能读到正文;再优化内链与 sitemap 的提交结构;最后才谈内容量与更新频率。顺序颠倒,等于在漏水的桶里加水。
技术侧的具体方案见 SEO 优化服务;如果同时要考虑 AI 入口的曝光,可以看 SEO 与 GEO 的区别。