先分清两件事:被發現,和点進去能打開
搜尋蜘蛛在入口頁里解析出一個目标 URL,只完成了“發現”這一步。它接下来會把這個 URL 放進待抓队列,單獨去請求一次。這次請求的结果——200、301、404、驗證頁——记錄在目标地址那一侧,和入口頁本身是两套帳。所以判断入口頁有没有起作用,不能只看“蜘蛛来没来”,還要看蜘蛛顺着連結走過去之後遇到了什么。
目标連結返回 404 會怎样
第一次抓到 404,並不代表這個 URL 立刻被彻底放弃,搜尋引擎通常會留一段观察期。但如果入口頁里長期挂着一批 404 連結,影响會慢慢顯現:入口頁容易被判定為“点進去没東西”的頁面,後續再来抓取的频率可能下降。
- 入口頁里死鏈比例越高,搜尋引擎對它的信任度越低;
- 同一批 404 反复被抓,等于白白消耗抓取资源;
- 如果這個地址本来有内容、只是換了路径,用 301 指到新地址比長期留 404 更合理。
301、302 跳轉的處理差异
入口頁里的連結如果先跳一次再落到最终頁,搜尋蜘蛛一般能跟上,最终也算發現成功,代價是多走一跳。302 属于临时跳轉,短期用没問题,長期挂在入口頁里,信号會偏弱,容易被当成临时狀態處理。如果最终地址已经确定,入口頁里直接寫最终 URL 最省事,也省一次抓取。
入口頁的作用是把 URL 送到蜘蛛面前,中間每多一次跳轉,就多一次失敗的可能。
最容易忽略的情况:返回 200,但内容是空壳
比 404 更隐蔽的是登入頁、驗證頁、活動已結束頁、内容被清空的詳情頁。它們返回 200,搜尋蜘蛛會当成有效頁面處理,甚至可能真的收錄這個空壳。入口頁里如果大量連結指向這類地址,效果和死鏈差不多,只是從日誌上不容易一眼看出来。
入口頁本身會因此“受罚”吗
谈不上惩罚,更准确的说法是抓取资源的分配會變。搜尋引擎會把有限的抓取次數優先给那些点進去有内容的入口頁。長期点進去全是空壳或错誤的入口頁,蜘蛛回訪的間隔容易拉長,新連結被發現的节奏也跟着變慢。
日常可以做的几件事
- 定期抽查入口頁里目标連結的响應狀態,別只看入口頁自己的狀態碼;
- 確認失效的地址,按情况改成 301 或 410,不要長期留 404;
- 不要把登入頁、驗證頁、參數缺失的空頁当落地頁寫進入口頁;
- 更新過一批連結後,回到日誌里看蜘蛛回訪频率有没有變化,用資料判断,而不是凭感觉。
几個常见誤区
- 以為入口頁發現了 URL,目标頁就一定會被抓、被收錄;
- 以為目标頁打不開只是目标頁的問题,和入口頁無關;
- 以為入口頁里連結越多,發現量就越高。
發現和抓取是两個獨立环节。入口頁能做的,是让 URL 尽量干净、直接地出現在搜尋蜘蛛面前;至于走過去之後能不能站得住,取决于目标地址本身的狀態是否稳定、内容是否真實存在。