在索引报告里,“已發現,尚未编入索引”和“已抓取,尚未编入索引”经常挨着出現,但它們的含义完全不同。前者說明蜘蛛只是從某個入口知道了這個網址存在,還没真正訪問過;後者說明蜘蛛已经讀過頁面,只是判断暂时不值得放進索引。两種狀態的排查方向不一样,混在一起看,很容易把時間花错地方。這里只谈第一種。
發現和收錄之間,隔着两道關
發現是入口問题:網址需要出現在某個蜘蛛能讀到的地方,比如内鏈、sitemap、外鏈或者歷史记錄。收錄是判断問题:蜘蛛抓取之後,搜尋系統還要决定這個頁面值不值得留一份索引。地址被發現了,只代表第一關過了;第二關過不過,取决于頁面本身,也取决于站点整体情况。
所以“已發現未编入索引”這個狀態,通常不是某個開關没打開,而是排序在後面的頁面:系統知道它存在,但暂时没有優先抓取和收錄的理由。
常见的几種卡住原因
- 站点整体体量小、更新少:新站或長期内容稀疏的站,發現到抓取的間隔本来就長。
- 頁面内容與站内其他頁面高度重复:同一批商品換個标题、同一篇文章換個栏目,系統挑一個代表地址就够了。
- URL 层級深、缺少内鏈:只能靠 sitemap 出現,没有從首頁或列表頁点進去的路径。
- 抓取资源被別的頁面占用:篩選頁、日歷頁、站内搜尋頁消耗了大量抓取。
- 服務器响應不稳定:频繁的 5xx、超时或限流,會让蜘蛛降低訪問意愿。
- 頁面依赖 JavaScript 渲染:首屏接近空壳,渲染失敗时蜘蛛看到的内容很少。
按這個顺序排查,比反复提交有用
- 先用 URL 检查工具確認狀態:確認是“已發現未抓取”而不是“已抓取未索引”,两者處理方式不同。
- 翻服務器日誌:看蜘蛛到底来過没有、来了几次、返回的是什么狀態碼。日誌里完全没有记錄,才是真的只發現了地址。
- 检查内鏈路径:從首頁出發几次点击能到這個頁面,有没有稳定的列表頁或聚合頁指向它。把入口补上,比在 sitemap 里反复出現更有效。
- 對比内容相似度:這個頁面的正文和站内其他頁面是不是只差几個词。如果确實重复,考虑合並、加 canonical,或者干脆不索引。
- 看站点整体的抓取分布:如果日誌里大部分請求都给了參數頁、分頁和站内搜尋结果頁,真正需要被收錄的頁面自然排不上队。
- 確認渲染结果:關掉 JavaScript 打開頁面,看看還剩多少正文。如果几乎為空,需要先解决渲染問题。
几件不建议做的事
- 把同一個地址反复提交、反复手動請求抓取。短時間内看不出變化,反而容易把重点带偏。
- 一次性上线大量模板生成、内容几乎相同的頁面,然後指望它們全部進索引。
- 靠外部連結或蜘蛛池把日誌刷得热闹。抓取次數增加了,頁面质量没變,狀態也不會跟着變。
發現是入口,收錄是判断。入口可以补,判断要靠頁面本身和站点整体。
把观察周期放長一点
從發現到抓取,再到進入索引,中間本来就可能有几天到几周的間隔,站点体量越大、同類内容越多,這個間隔往往越長。處理這類狀態,比較現實的做法是:先把明顯的入口缺失和内容重复解决掉,然後留出一段時間观察,而不是每天盯一次狀態。如果几周之後日誌里依然没有抓取记錄,再回头检查是不是入口本身被挡在了外面。