收錄出問题时,很多人的第一反應是提交入口不够多:sitemap 补一遍、主動推送点一次、外鏈發几條。這些動作有用,但它們解决的是告诉蜘蛛有這么一個地址,而不是蜘蛛能不能顺着站点自己的路走到那里。真正决定深层頁面能否被發現的,通常是站内連結结构。
蜘蛛靠連結走路,不靠记忆
搜尋引擎抓取頁面的基本方式是:從一個已知地址出發,解析頁面里的連結,把新地址放進待抓取队列,再一层一层往外扩。如果某個頁面没有任何站内連結指向它,它就只能靠 sitemap、外鏈或歷史记錄被發現,得到的抓取机會比正常頁面少得多。
所以判断一個頁面能不能被稳定發現,可以先問一個很简單的問题:從首頁出發,顺着可点击的連結走,几步能到它?如果答案是五六步以上,或者中途必须经過需要交互才展開的模块,那它被發現的速度和频次都會打折扣。
几種常见的结构問题
- 入口單一。一批頁面只有首頁某一個模块鏈過去,一旦那個模块改版或下线,這些頁面立刻變成孤岛。
- 連結藏在交互後面。導航和分類靠 JS 点击才渲染,HTML 里没有可解析的 href,蜘蛛看到的是空容器。
- 层級過深。列表頁只露出前二十條,後面的頁面要靠翻頁才能到,而翻頁連結又没做規范化,越翻越乱。
- 相關推荐全站随机。每個頁面底部的推荐都是算法生成,連結數量大但指向分散,起不到稳定带路的作用。
- 重要頁和控制頁混在一起。篩選、排序、會话參數生成的地址和正常頁面放在同一批連結里,抓取预算被摊薄。
让重要頁面离入口近一点
内鏈調整不是把首頁塞满連結,而是让每個重要頁面都有几條稳定的、從不同层級過来的入口。可以按下面的顺序做:
- 先列出真正希望被收錄的頁面類型,比如商品詳情、文章詳情、分類落地頁。
- 確認每一類頁面在 HTML 里至少有一條從上层頁面直接鏈出的路径。
- 给同類頁面之間安排合理的内鏈,比如相關文章、同系列、同分類的互相連結。
- 把没有收錄價值的地址,例如分頁、排序、重复篩選,從連結里收掉或做适当标注。
- 定期用日誌核對蜘蛛實际走過的路径,看它有没有走到你预期的地方。
數量不等于效果
内鏈不是越多越好。一個頁面底部挂几百條連結,蜘蛛确實會讀到,但每個連結传递的信号被摊薄,用戶也不會去点。比較稳妥的做法是控制單頁正文内的連結密度,把連結放在與内容相關的位置,而不是集中在頁脚做一個全站連結池。
另一個容易被忽略的点是連結锚文本。锚文本寫清楚目标頁讲什么,對蜘蛛理解頁面主题有帮助;如果全站统一用点击這里、詳情這類词,蜘蛛能拿到的信息就很有限。
怎么驗證内鏈有没有起作用
比較實用的做法是把三份資料放在一起看:服務器日誌里蜘蛛訪問的 URL 和频次、站内爬出来的連結地址清單、索引里已经收錄的頁面清單。三者對照,通常能看出几類情况:
- 連結里有、日誌里没有:說明蜘蛛還没走到,重点检查路径层級和入口稳定性。
- 日誌里有、索引里没有:属于抓取過但未收錄,應该去看内容质量和重复情况,而不是繼續加連結。
- 索引里有、連結里没有:可能是歷史遗留或外鏈带来的,需要判断是否還值得保留。
几個邊界情况
nofollow、JS 渲染、無限滚動這些机制都會影响連結是否被跟随。JS 渲染出来的連結,如果没有對應的静態 href,被發現的机會會减少;無限滚動如果只靠滚動加载而不提供分頁 URL,後面的内容也容易停在發現环节之外。
内鏈结构不是一次調整就結束的事。站点改版、栏目合並、模板更新都會改變連結路径,建议把内鏈检查放進常規的运营节奏里,和收錄狀態一起看。