先分清:這些狀態卡在哪一环
索引覆盖率报告(不同工具叫法不同,有的叫“頁面索引”“收錄狀態”)會把站点 URL 分成若干類。多數人只盯“已编入索引”那個數字,其實信息量更大的是被排除的那部分。
把狀態先归到三個环节:發現、抓取、索引。“已發現-尚未抓取”卡在抓取环节,通常和抓取額度、連結深度、站点整体表現有關;“已抓取-尚未编入索引”卡在索引环节,頁面 HTML 已经被取回,但系統判断它不值得進入结果頁。两者原因不同,處理方式也不同,放在一起看只會互相干扰。
“已抓取但未编入索引”的常见三類原因
1. 质量與内容层面的判断
頁面能打開、也有内容,但不具备獨立價值:正文只有几句话,實际正文占比被導航、推荐位、頁脚挤得很低;或者整頁是對其它頁面的摘抄,或是參數组合批量生成的近似内容。這類頁面常常被抓取一次之後就長期停在這個狀態。
- 典型信号:同一模板批量生成的頁面,不同 URL 的正文几乎一样
- 處理方向:合並同類頁、给保留頁补充獨有信息,没有價值的直接下线
2. 重复归並:頁面被並到別的 URL 上
系統确實抓到了這一頁,但認為它和站内另一個 URL 表達的是同一件事,于是只保留其中一個。带參數的篩選頁、打印版、带會话 ID 的地址、大小寫或末尾斜杠變体,都容易落到這一類。
判断方法很直接:在报告里挑几個具体 URL,用 URL 检查工具看被選中的 canonical 是哪一個。如果指向的是你期望的主版本,那這條狀態不算故障,不需要“修复”;如果指向莫名其妙,才需要去查 canonical 冲突或站内信号矛盾。
3. 渲染失敗:抓到的 HTML 里没有内容
頁面主体靠 JS 在浏览器里渲染,但抓取执行脚本时拿不到資料:接口被 robots.txt 挡住、請求超时、需要登入才出内容。结果取回的 HTML 是個空壳,索引层自然没有東西可编。
抓取成功不等于渲染成功。狀態顯示“已抓取”,只說明服務器返回了 200,並不代表頁面主体内容被正确解析。
排查顺序:從样本頁入手,而不是從總數入手
- 在报告里点開 5 到 10 個具体 URL,不要只看匯總數字
- 逐個確認:内容是否完整返回、被選中的 canonical 是谁、是否存在 noindex 或抓取屏蔽
- 按上面三類给样本打标簽,看哪一類占比最高
- 只针對占比最高的那一類動手,改完後观察一個抓取周期再看資料
同时改多個原因,最後很难判断是哪個動作起了作用。
几類動作的取舍
- 重复归並類:多數情况可以接受。若要收得更紧,就统一站内連結指向與 canonical 寫法,別再让同一内容以多個地址出現在内鏈里。
- 质量判断類:合並、补充、下线三選一。补充时要加入別處没有的信息,比如規格、資料、原始說明,而不是換几個词重寫一遍。
- 渲染失敗類:把标题、正文、内鏈等關键内容放到服務端渲染或预渲染;同时確認 JS、CSS 资源没有被 robots.txt 拦截。
- 新頁面:刚發布不久的頁面出現這條狀態,多數属于正常排队,先给時間,別急着改结构。
几個容易走偏的判断
“已抓取-尚未编入索引”數量大,不等于站点被惩罚,也不等于必须把它清零。一個拥有大量 URL 的站点,报告里長期存在一批這類狀態是常见的,關键要看有價值的頁面是否都進了索引。
反過来,也不必為了减少這個數字就批量 noindex。收敛真正该收敛的頁面是對的;為了數字好看去屏蔽仍可能带来訪問的頁面,损失的是自己。
最後提醒一点:這些狀態都是滞後資料,改動之後要等下一轮抓取和索引才反映出来。一次只改一類,记錄改動時間,再對比前後資料,比反复大改更容易看清問题出在哪。