站点更新频率一高,运营常會碰到這種情况:栏目頁和詳情頁都上线了,内鏈也加了,日誌里蜘蛛天天来,可新 URL 就是迟迟没有抓取记錄。這时候先別急着換工具或加大推送量,更常见的原因是新頁面在排队,而排在前面、占用抓取時間的地址里,有相当一部分並不需要再抓。
先分清“没被抓”和“排不上队”
两者的處理方式完全不同。没被抓,可能是蜘蛛根本不知道這個 URL 存在,属于發現环节的問题;排不上队,是蜘蛛知道它,但每次来訪能抓的量有限,先抓了別的地址。判断方法很直接:看服務器日誌里有没有對這個 URL 的訪問记錄。有訪問、正常返回,說明已经知道也抓過,接下来是索引环节的事;完全没有记錄,才回到發現环节去查内鏈和 sitemap。
抓取配額不是固定數字
搜尋引擎不會公布某站点每天能抓多少,但日誌里呈現的規律往往很稳定:一段時間内,蜘蛛在一個站上的總請求數大致在一個量級。請求越集中在低價值地址上,新頁面能分到的時間就越少。所以這本质上是分配問题,不是“催一催就来”。
第一步:用日誌統計蜘蛛把時間花在哪
拉最近 7 到 14 天的原始日誌,按路径或目錄做聚合,重点看三件事:
- 每個目錄被訪問的請求數占比,和你心里“重要程度”的排序是否一致;
- 正常返回的請求里,有多少落在參數 URL、重复 URL 上;
- 跳轉、404、5xx 以及超时的請求各占多少。
這一步不用做得很精细,能看出大头在哪就行。多數站点的结论都類似:真正的内容頁没占多少,杂七杂八的地址占了大半。
常见的三類“吃配額”的地址
一、參數與篩選组合出的地址
商品列表、文章列表的排序、篩選、分頁參數,很容易生成成百上千個地址,内容高度重复。它們對用戶有價值,但對收錄價值很低。處理方向是收敛:能合並到主地址的合並,無意义组合用 robots.txt 挡住,把參數固定成少量規范形式,並保證同一内容由一個地址代表。
二、還有連結指向、但已经不需要收錄的老頁面
改版留下的舊栏目、下架的活動頁、被替換的詳情頁,如果站内還有入口鏈過去,蜘蛛就會反复訪問。要么把内鏈改到新地址,要么让舊地址明确返回 404 或 410,別用一串跳轉繼續鏈着。
三、响應慢和反复报错的地址
同一個地址如果多次返回 5xx 或超时,蜘蛛會降低来訪频率,這種影响會外溢到同目錄的其他頁面。先把稳定性和响應時間修好,再谈抓取量。
第二步:把配額让给真正要推的頁面
- 保持重要頁面的内鏈入口稳定,最好從首頁或栏目頁一两跳可到;
- 减少需要抓的地址總量,這通常比增加推送更有效;
- 新頁面集中在同一目錄下,便于蜘蛛按目錄規律調整来訪频率;
- 頁面出問题期間,不要用大量跳轉和临时參數地址把水搅浑。
第三步:確認新頁面确實递得出去
前两步是把不必要的抓取需求减下来,這一步是保證新 URL 能被發現。内鏈是第一位的,其次是 sitemap,再往後才是各種提交入口和所谓的蜘蛛池類工具。它們的作用是缩短發現時間,属于發現环节的辅助,既不會改變抓取分配,也不决定頁面是否被收錄。
把提交、推送、蜘蛛池理解成“告诉蜘蛛這里有個地址”就够了。能不能排上抓取、抓完進不進索引,取决于站点整体的抓取需求和頁面本身。
观察與驗證
調整之後按周看日誌:新 URL 的首次抓取時間有没有提前,無意义參數地址的請求數有没有下降,5xx 比例有没有降低。不要只看一两天,来訪频率的調整通常需要一到几周才會体現。如果地址總量降下来了、新頁面仍然没有抓取记錄,再回头检查内鏈和外鏈入口是否真的存在、是否被 robots.txt 或權限問题挡住。
抓取是有限的,收錄是抓取之後的事。先把配額從不需要的地址上收回来,再谈怎么让新頁面被更快看到,顺序上會顺很多。