網站收錄

内鏈深度與 URL 發現:离首頁越遠的頁面,為什么總是最後一個被抓到

蜘蛛主要靠連結發現 URL,頁面离入口越遠,被排進抓取队列的時間就越靠後。本文区分連結深度和点击深度,列出几種让連結在半路断掉的常见寫法,並给出把重要頁面提到浅层的具体做法,同时說明内鏈只能解决“被發現”這一步。

網站收錄

内鏈深度與 URL 發現:离首頁越遠的頁面,為什么總是最後一個被抓到

蜘蛛發現 URL 的主要途径是連結,而不是凭空猜测。一個頁面從首頁出發点几次能到達,往往决定了它會不會被早一点抓到、能不能顺利進入索引流程。Sitemap、站内搜尋、外鏈都能起到补充作用,但日常最可控的還是内鏈结构。

蜘蛛是怎么沿着連結走的

抓取通常從几個入口頁開始,顺着 a 标簽的 href 向外扩散。這個過程是有预算的:站点每天能抓的 URL 數量有限,蜘蛛會優先走那些离入口近、更新频繁、歷史表現稳定的連結。层級越深的頁面,被排進抓取队列的時間就越靠後,有些頁面可能几周都轮不到一次。

這也解释了一個常见現象:首頁和栏目頁刚改完内容,很快就能看到新版本;而藏在第四层、只有两三處入口的詳情頁,改了标题几周都没有動静。

入口不只在站内

外部連結、友情連結、社交平台分享、手動提交 URL,都會给站点带来額外的爬取机會。站外引導的质量比數量重要,来源杂乱或明顯批量生成的連結,带来的抓取往往不稳定,也不值得把發現新頁面的希望全押在上面。

判断連結深度时容易忽略的几点

  • 点击深度不等于連結深度。有些頁面要從列表翻好几頁才能点到,但面包屑或相關推荐里有直達連結,實际深度並不深。
  • 列表分頁會不断加深路径。翻到第 20 頁的内容,被抓到的概率已经很低,等于被埋在列表末尾。
  • JS 插入的連結要看能不能被抓到。如果 a 标簽是渲染後才出現的,而蜘蛛没有执行脚本或执行不完整,這些連結就等于不存在。
  • 孤立頁面。没有任何站内連結指向、只能靠 sitemap 被發現的 URL,抓取频率通常低得多。

哪些寫法會让連結断在半路

  • 用 div 或 span 加 onclick 跳轉,没有真正的 href。
  • href 寫成 javascript:void(0)、“#”或空值。
  • rel=“nofollow”用得過于随意,把本来需要收錄的頁面也一起挡了。
  • 連結藏在表單提交、图片热区、需要展開的下拉菜單里。
  • 導航用了前端路由,但服務端返回的 HTML 里没有任何對應連結。

把重要頁面往上提的几種做法

  1. 减少不必要的层級。两步能到達的頁面,不要设計成四步。
  2. 给每個内容頁至少留一條来自高權重頁面的直達連結,比如栏目首頁、专题聚合頁、热榜。
  3. 面包屑和相關推荐不要只做装饰,确保它們是真實的 a 标簽連結。
  4. 分頁用可抓取的連結,或者提供“查看全部”的聚合頁来承接長尾内容。
  5. 用 sitemap 兜底,尤其是新上线和深层頁面,但要清楚它只是提示,並不保證被抓。

内鏈不是配額游戏

有人把内鏈当成给頁面投票,在頁脚堆連結、在正文里塞几十個锚文本。這種做法通常适得其反:頁面上的連結一多,每條連結分到的注意都變薄,頁面本身也容易被当成低质量集合頁。

内鏈解决的是“能不能被發現”,收錄解决的是“值不值得留下”。連結做通了,頁面内容依然單薄、和站内其他頁面高度重复,索引里照样可能留不下它。

比較務實的顺序是:先用内鏈和 sitemap 保證重要頁面能被稳定發現,再回头處理内容质量和重复問题,最後才去看收錄狀態里的各種细节。發現、抓取、索引是三件事,内鏈只管第一件,但第一件没做好,後面两步就没有机會開始。