網站收錄

内鏈决定 URL 發現:導航、正文連結與站点地图的分工

蜘蛛發現新 URL 的路径不止站点地图一條。導航、列表頁、正文内鏈各自承担不同作用,寫法上的差异會直接影响 URL 是否被發現、多久被訪問一次。本文按入口類型拆解常见寫法問题,並给出一套從入口到抓取日誌的核對顺序,帮助运营者判断 URL 迟迟不被抓取到底卡在哪一环。

網站收錄

内鏈决定 URL 發現:導航、正文連結與站点地图的分工

收錄停滞的时候,很多人的第一反應是去提交站点地图,或者反复检查頁面内容。但蜘蛛要訪問一個 URL,前提是它先知道這個 URL 存在。對大多數站点来说,這條路径主要靠站内連結完成,站点地图只是补充。把入口問题当成收錄問题去解决,方向容易偏。

蜘蛛發現 URL 的几個入口

常见的入口有四類:站内連結、站点地图、外部連結,以及歷史上已经被抓取過的 URL。其中站内連結是唯一完全由自己控制、且可以持續维護的一條。外鏈不可控,站点地图覆盖面有限,歷史记錄只對老頁面有效。新頁面能否在較短時間被發現,基本取决于站内有没有指向它的連結。

導航與列表頁:覆盖面最广的入口

全局導航和分類列表頁决定了大部分頁面能不能在少數几次点击内被訪問到。层級過深的頁面,抓取频次通常明顯偏低,不是因為被惩罚,而是蜘蛛很少一路点到那么深。列表頁的分頁如果只靠 JavaScript 動態加载,後面的條目可能長期不被發現,因為源碼里根本没有可跟随的地址。

正文内鏈:提供深度與上下文

正文里指向其他頁面的連結,往往比導航連結更能說明頁面之間的關联。锚文本能给蜘蛛一点上下文线索,但不必把锚文本寫成和頁面标题完全一致,自然表達即可。真正有價值的是連結的位置和數量:一段正文里自然出現的两三個相關連結,比頁脚堆几十個連結更有效。

站点地图:补充而不是替代

站点地图适合放新上线的頁面、孤立頁面、以及被交互隐藏起来的頁面。但如果一個 URL 在整個站内没有任何可点击入口,長期只靠站点地图反复出現,被訪問的频率通常不會高。把站点地图当作萬能提交入口,容易出現“文件里都有、日誌里一個都没有”的情况。

連結寫法里容易出問题的地方

  • 用跳轉連結指向站内頁面,例如通過中間參數頁再跳轉,蜘蛛跟到的是跳轉地址而不是目标頁;
  • 相對路径层級寫错,解析出来的地址與 canonical 不一致,等于人為造出两個版本;
  • 给站内連結加了 nofollow,相当于告诉蜘蛛不必顺着走;
  • 連結由 JavaScript 点击事件生成,a 标簽没有可用的 href 属性;
  • 大量連結集中在頁脚或侧栏,重复度高,實际意义有限;
  • 連結指向已经 301 或 404 的地址,浪費抓取額度,也增加發現路径的噪声。

一套可以照着走的核對顺序

  1. 確認目标 URL 至少有一個可点击的 a 标簽入口,且 href 是完整規范地址;
  2. 检查從首頁到该地址的点击层級,一般控制在三到四次以内;
  3. 在抓取日誌中搜尋该 URL,看蜘蛛是否訪問過、返回什么狀態碼;
  4. 检查入口頁面本身是否被抓取,入口没被抓,下游自然也不會被發現;
  5. 對比站点地图中的地址與站内實际連結地址是否完全一致;
  6. 如果入口和日誌都正常,再把注意力轉到頁面自身的内容质量上。

先看入口,再看頁面

收錄是抓取和判断之後的结果,不是一個可以直接执行的動作。入口缺失时,頁面内容做得再完整也不會被訪問到,此时優化正文、調整關鍵詞都解决不了問题。反過来,入口齐全但頁面長期不被索引,才需要考虑内容重复、信息量不足這類頁面层面的原因。把這两類問题分開,排查效率會高很多。

先確認蜘蛛能不能走到這個頁面,再讨论這個頁面值不值得進索引。

實际操作上,把内鏈当成日常维護的一部分會省事很多:新增頁面时顺手從相關舊頁面加一個自然連結,比事後批量补連結更稳定,也更接近真實的浏览路径。