做收录排查时,站点通常先看三件事:站内有没有给入口、能不能正常抓取、有没有被 robots 或 noindex 明确拒绝。但如果这几项都没问题,页面还是长期停在“已发现,尚未编入索引”,可以换一个方向看看:同一个 URL 在不同时间被抓取时,返回的是不是同一份内容。
同一个 URL,不同时间抓到不同内容
搜索方判断一个页面能不能进索引,前提是知道这个 URL 稳定地代表一份内容。如果一天之内抓三次,三次返回的主标题、正文主体、主要内链结构都不一样,“这个 URL 代表哪一版”本身就成了一个需要额外判断的问题。判断成本越高,收录判断被推迟的可能就越大。
这里说的不稳定,指的不是细节差异,比如评论数、销量、时间戳这一类动态信息;而是主标题、正文结构、核心内容这一层面的变化。
常见的六类不稳定来源
- 随机推荐模块:每次刷新都从内容库随机抽取,首页或详情页大面积变动,甚至挤在正文之前。
- 首屏轮播与 A/B 测试:不同访问者看到不同标题或不同主图,页面主标题跟着变。
- 时间、访问量、库存提示:把这类数值写进标题或 H1,页面的“身份”随时在变。
- 设备与地域分流:PC 和移动端、不同地区返回的是两套内容,而不是同一内容的不同排版。
- 登录态与 Cookie:未登录和登录状态看到的页面差异过大,甚至跳转到不同 URL。
- 广告与懒加载占位:正文被大量插播内容切成碎片,主体部分难以识别。
怎么验证
- 用同一个 URL 发起两次抓取,间隔几分钟,不带 Cookie,对比主标题和正文是否一致。
- 分别用移动端和桌面端 UA 各抓一次,看返回的是同一内容的不同排版,还是两套内容。
- 关闭 JS 再抓一次。如果关闭后拿不到主体内容,说明页面高度依赖脚本渲染,需要确认渲染后的结果本身是否稳定。
- 检查站内搜索、筛选、排序入口会不会生成可抓取的 URL,并把这类 URL 和正式内容页混在一起。
处理顺序:先稳主体,再动附属模块
建议先把主体部分固定下来,主体包括主标题、正文、核心参数和主要内链。推荐位、热销榜、猜你喜欢这类模块可以放在主体之后,并尽量限制变化范围。如果这些模块必须随机,至少让服务器返回的首屏 HTML 里包含完整、稳定的主体内容,而不是等脚本执行完才拼出来。
判断优先级的方法很简单:把页面抓下来两次做对比。如果连你自己都难以确认哪一版算正式版,抓取方也一样。
已经收录,但版本看起来乱
如果页面已被收录,只是索引里的标题或摘要在不同时间显示不同,通常不必急着改 URL。先确认 canonical 指向的是不是同一版、站内链接是否都指向这个版本、页面主体是否已经稳定,稳定一段时间后观察,往往比频繁调整标签更有用。
可以加进收录自查的四条
- 主体内容两次抓取是否一致;
- 主标题里是否包含会持续变化的数值;
- 站内链接是否都指向同一版 URL;
- 动态模块是否出现在主体之前,或与主体混排。
收录是抓取、URL 规范、重复内容、页面质量多个因素叠加的结果。把“这个 URL 是否稳定地代表一份内容”补进自查,往往能解释那些翻遍设置也查不出原因的收录迟疑。