在日志或抓取统计里看到蜘蛛访问了页面,就默认它会被收录,是很多站点运营者容易踩的坑。抓取和收录是两件事:抓取只是蜘蛛把页面内容取回去,收录是搜索引擎判断这个页面值得进入索引、并且可以被检索到。中间还隔着解析、渲染、去重、质量评估和排队。
先确认“来过”到底意味着什么
- 状态码 200 才算拿到正文;301、302 只是跟着走一趟,404 和 5xx 一般不会留下内容。
- 日志里的访问有时是校验性质的,不代表已经进入索引队列。
- 蜘蛛访问完立刻去查 site:,多半没有结果,索引本身有延迟。
比较可靠的做法是:用 URL 检查类工具看“已抓取”与“已编入索引”的具体状态,再结合日志里该地址的访问时间和状态码一起判断,而不是凭单一线索下结论。
抓取之后没进索引的常见原因
页面自己说了“不要收录”
- meta robots 或 X-Robots-Tag 里带了 noindex;
- canonical 指向了另一个 URL,搜索引擎把索引和权重都记在了那个地址上;
- robots.txt 屏蔽了抓取,页面上的 noindex 也读不到,这种情况很容易被忽略。
内容层面的问题
- 与站内或站外已有页面高度相似,被当作重复内容合并;
- 正文太少,页面主体是导航和广告,缺少独立信息;
- 内容需要登录、需要点击多次才出现,蜘蛛拿到的只是一个空壳。
渲染没跟上
如果正文由 JS 渲染,蜘蛛可能抓到了 HTML,却没等到内容出现。可以把关键内容做服务端渲染或预渲染,并在工具里对比“原始 HTML”和“渲染后 HTML”,看正文究竟在不在。
站点整体信号偏弱
新站、低权重站点、几乎没有内链指向的页面,即使被抓取,也可能长期停在“已抓取,尚未编入索引”。这通常不是单个页面的问题,而是入口数量和整体质量的问题。
一个可执行的排查顺序
- 确认 URL 返回 200,且不是重定向链的中间地址;
- 检查 meta robots、X-Robots-Tag、canonical 是否指向自己;
- 用工具对比渲染前后的内容,确认正文对蜘蛛可见;
- 检查标题和正文是否与其他页面高度重复,考虑合并或改写;
- 确认这个地址至少有一个站内入口,例如列表页、相关内容或站点地图;
- 改完之后等重新抓取,再观察索引状态的变化。
抓取是“蜘蛛来过”,收录是“搜索引擎认为值得留下”。前者可以靠提交和内链推动,后者只能靠页面本身。
容易被误判的几种情况
- site: 的返回结果本来就不完整,不适合作为判断收录的唯一依据;
- 页面刚上线几个小时就下结论,样本太小;
- 同一个页面存在多个 URL 变体,被收录的是另一个地址,看起来像“没收录”。
把抓取和收录分开来看,排查就不会退化成“反复提交 URL”这一件事。先定位卡在哪一步,再决定是改页面、补入口,还是继续等索引更新。