新页面发布之后,最常见的问题就是「为什么还没收录」。这个问题没有统一答案,因为收录并不是一次提交就能触发的动作,而是发现、抓取、索引三个阶段依次完成后的结果。其中任何一段卡住,时间都会被拉长。理解每一段的变量,比记住某个「通常几天」的说法更有用。
先分清自己等的是哪一段
同样是「没收录」,落在不同阶段,处理方式完全不同:
- 发现:蜘蛛是否知道这个 URL 存在,主要靠内链、sitemap、外部链接和历史上的抓取路径。
- 抓取:蜘蛛是否真的来取了页面,取决于抓取预算、站点响应速度和服务器稳定性。
- 索引:抓到的内容是否被判定值得保留,以及最终选定哪一个版本作为规范页。
如果日志里从来没有出现过这个 URL,问题基本在发现这一段;如果来过一两次就没了,或者抓取时返回超时、5xx,问题在抓取;如果反复抓取但站内查询始终没有结果,那要看索引判断这一环。先分清段落,再动手,能省掉大量无效操作。
影响时间长短的几个变量
页面有没有稳定的入口
只靠 sitemap 提交的页面,被发现的速度通常慢于「已经在栏目页或相关推荐里有一条正常内链」的页面。sitemap 是补充线索,内链才是主要通路。新页面发布后,把它接进真正相关的列表页、上一篇下一篇、相关内容模块,往往比反复提交更直接。
站点被抓取的节奏
服务器响应时间、历史稳定性、更新频率,都会影响蜘蛛回访的密度。长期更新很少、或者经常超时的站点,新页面被发现的间隔自然更长,这不是针对某一个页面的判断。
页面本身是否值得占一个索引位
内容完整、与站点主题一致、和站内已有页面不构成重复,是基本条件。只有几行字的占位页、与已有内容高度相似的页、正文主要靠客户端脚本拼出来的页,即使被抓到,也更容易停在索引判断这一步。
URL 是否干净可访问
直接返回 200、没有多跳重定向、没有多余的跟踪参数,会降低判断成本。同一个页面同时存在 www 与非 www、带与不带末尾斜杠、带参数与不带参数等多个版本,信号就会分散,最终落到哪个版本也不确定。
内容是否已经定稿
刚发布就反复改标题、改结构,会让已经抓到的版本频繁作废。比较稳妥的做法是内容基本定稿后再放出入口,后续更新以补充和修订的方式进行,而不是推倒重来。
等待期可以做的事情
- 确认 URL 能正常打开、状态码正常、没有被 robots 规则挡住。
- 在相关页面加一条真正有用的内链,锚文本说清目标页讲的是什么。
- 检查 sitemap 是否包含该 URL,最后修改时间是否与实际情况一致。
- 翻服务器日志,看这个 URL 有没有被抓取记录,记录返回码和抓取时间。
- 不要为了「催」而反复提交,也不要频繁改动时间戳。
观察方式:别只靠站内查询
站内查询的结果只是一个粗略抽样,不等于完整的索引清单,用它来判断「到底收录了没有」容易误判。更可靠的做法是把日志里的抓取记录、索引类报告和站内查询结果放在一起看,三者相互印证。日志能告诉你蜘蛛来没来、什么时候来、拿到了什么状态码;报告能告诉你页面处在哪一段流程里。
把「没收录」当成一个需要定位的现象,而不是一个必须立刻消除的错误,排查过程会顺畅很多。
超过合理时间还没有动静
先判断是站点级还是页面级的问题。如果同一时间段发布的多个页面都没有被抓取,应该去看看服务器状态、robots 设置、整体抓取量是否有异常;如果只是个别页面进不来,就回到页面本身和入口设置上找原因。这两种情况的处理顺序完全不同,混在一起查只会浪费时间。
另外需要接受一个现实:新站或者长期更新很少的站点,被抓取的频率本来就低,等待时间会更长。这种阶段里,稳定输出内容、保持站点可抓取、给新页面留出清晰的内链入口,比任何单点技巧都更有用。