很多站长遇到过这种情况:日志里明明有搜索引擎蜘蛛来抓过,页面返回码是 200,内容看起来也完整,但过了一两周再看,状态还是“已抓取,尚未编入索引”。这时候继续加外链、继续铺量发文章,往往没什么用,因为卡住的不是发现和抓取,而是抓取之后的判断环节。
抓取和索引是两道独立的关口
抓取解决的是“能不能拿到这个页面的内容”,索引解决的是“这个页面值不值得留在候选库里”。前者偏技术:robots.txt 是否放行、服务器是否稳定、返回码是否正常、内容是否出现在 HTML 里。后者偏判断:这个页面与站内、站外已有的内容相比,有没有独立的价值。
所以“抓取成功”只说明第一关过了。第二关没过,页面就不会出现在搜索结果中,即便它在后台状态里显示“已抓取”。
已抓取但未索引,先按这几类排查
一、页面本身太薄或高度重复
正文只有一两句话、大量模板文字、商品只有参数没有描述、列表页只有标题和链接——这类页面被大量抓取后,搜索引擎往往只挑其中少数几个进索引,其余长期停留在“已抓取”。同一套模板生成的几百个页面,最后进入索引的可能只有个位数。
二、正文没有出现在初始 HTML 里
如果主要内容依赖 JavaScript 渲染,而渲染排队又没轮上,搜索引擎拿到的可能接近一个空壳。抓取本身是成功的,但它“看到的内容”和用户看到的不一样,自然也就不会进索引。
三、页面自己把索引关掉了
常见的矛盾组合:页面被 noindex,同时又被 canonical 指向另一条 URL;或者 canonical 指向了一个打不开的地址。这类情况下抓取正常,索引是被主动放弃的。
- 检查 meta robots 里是否含 noindex
- 检查 canonical 指向的 URL 是否可访问、是否自指
- 检查 HTTP 响应头里是否也带了 X-Robots-Tag
四、站点可索引页面的规模太小
新站、内容量很少的站点,搜索引擎会先控制索引规模,收录一部分观察一段时间,再决定是否放量。这属于正常的配额机制,不是针对某个页面的处罚。
一个可以照着走的自查顺序
- 用抓取工具看一下页面返回的原始 HTML,确认正文是否在里面。
- 确认返回码是 200,且没有意外的重定向链。
- 确认 meta robots、X-Robots-Tag、canonical 三者不打架。
- 把该页面和站内最相似的几个页面放在一起,看内容差异是否足以支撑独立索引。
- 确认这个 URL 没被 sitemap 漏掉,站内也有正常入口链接指向它。
- 观察两到四周,不要一天看三次就急着动手改。
别把“已抓取未索引”直接当成故障
抓取是一个动作,索引是一个结果。动作做完不代表结果一定给,也不代表给得很快。
如果确认内容、结构、指令都没有问题,那大概率只是还没轮到,或者搜索引擎判断这个页面暂时不需要单独展示。此时能做的只有两件事:把页面本身做得更值得被索引,以及保证站内有足够多、足够合理的入口指向它。
反复提交同一批 URL、频繁改动标题和正文,反而会拉长判断周期。稳住内容,观察日志和索引状态的变化,比来回折腾更有效。