入口頁這件事,容易被忽略
谈抓取时,多數人看的是“蜘蛛抓了多少”“平均响應多快”,很少看“蜘蛛是從哪一頁開始走的”。實际上,蜘蛛每一轮抓取都從某些已知 URL 出發:可能是首頁,可能是某條外鏈指向的落地頁,也可能是上一轮留下的、更新频繁的頁面。入口不同,可走的連結就不同,能發現的新 URL 自然也不一样。
換句话说,入口頁的分布,等于给蜘蛛划了一條起跑线。起跑线在首頁,它就要多走几层;起跑线本来就在栏目頁,深层内容的距离就短一截。
常见的几類入口
- 首頁與全站導航:最稳定的入口。绝大多數站点第一轮抓取都從首頁開始,沿着導航往下走。
- 外鏈指向的落地頁:站外引用直接给了某個 URL,蜘蛛會把這個頁面当作起点,它下面能走多遠,取决于该頁面的内鏈是否完整。
- Sitemap 與提交入口:相当于主動报备地址,對没有内鏈指向的頁面来说,這往往是唯一的發現方式。
- 歷史抓取過的頁面:更新频率高的頁面會被反复回訪,如果结构没變,蜘蛛還是沿同样的路径再走一遍。
入口不同,後面的路差別很大
一個頁面被当作入口,蜘蛛會把它视為“已知”,而不是從零發現。接下来它做两件事:請求该頁面,從返回的 HTML 里抽出可走的連結。所以入口頁本身的质量很關键:
- 入口頁里有多少條可抓連結,决定了下一层能铺多宽;
- 連結是寫在 HTML 里,還是靠脚本渲染出来,决定了蜘蛛能不能看到;
- 入口頁本身的响應速度,會影响整個批次往後排队的节奏。
一個响應慢、連結又少的入口頁,等于把後面所有頁面都堵在了门口。
入口集中在低價值頁面时
常见的情况是:外鏈和分享都指向篩選頁、标簽頁或站内搜尋结果頁,蜘蛛也把這些当成起点,于是每一轮都在這些頁面附近打轉,真正的栏目頁和詳情頁反而迟迟没人碰。這類頁面數量多、组合多,抓取消耗遠大于它带来的價值。
自查:從日誌里看入口分布
- 按蜘蛛 IP 段筛出抓取日誌,先看每一轮抓取的第一個請求落在哪個頁面。
- 把入口 URL 归類:首頁、栏目頁、詳情頁、篩選或參數頁,統計各自占比。
- 挑几個典型入口,顺着它的内鏈往下走两三层,看能到達哪些頁面,再和抓取日誌里的记錄對照。
- 對比“入口能到達的頁面”和“實际被大量抓取的頁面”,两者偏差越大,說明路径越需要調整。
日誌不完整也没關系,抓取統計類工具通常會给出一段時間内的抓取分布,够用来判断大致趋势。
把入口往重要的地方引
- 外鏈尽量指向栏目頁或核心頁,而不是首頁或參數頁,让蜘蛛從更靠近内容的位置起步。
- 首頁给重要栏目固定的文字入口,位置稳定、長期不變,蜘蛛每轮都能顺着走。
- Sitemap 覆盖内鏈薄弱的部分,尤其是那些只有一條連結、甚至完全没有内鏈的頁面。
- 减少低價值頁面的入口曝光:篩選頁、站内搜尋頁不要出現在導航、頁脚和 Sitemap 中,必要时用 robots.txt 限制抓取。
- 保證入口頁稳定可訪問,狀態碼、响應時間、是否被重定向,都會直接影响後續路径。
小结
抓取路径不是從整站平均開始的,而是從若干個入口頁展開的。與其反复問“為什么深层頁不被抓”,不如先看看每一轮抓取的起点是不是被低價值頁面占满了。把入口分布調向栏目頁和核心内容,路径自然會變得更短、更直。