搜尋抓取

抓取预算去了哪里:從服務器日誌看蜘蛛的訪問分布

同一個站,蜘蛛的請求往往集中在少數目錄里。把服務器日誌按目錄、狀態碼、响應時間聚合,就能看出抓取预算被谁吃掉了:是參數组合、标簽归档,還是慢到超时的接口。弄清分布之後,再用内鏈、noindex 和精简 Sitemap 把有限的抓取资源挪向真正需要被發現的頁面。

搜尋抓取

抓取预算去了哪里:從服務器日誌看蜘蛛的訪問分布

“蜘蛛總抓那些没用的頁面,就是不来抓我的新内容”——這類抱怨背後,其實是一個可以量化的分配問题。抓取预算不是搜尋引擎發给你的固定額度,而是蜘蛛在單位時間内愿意在你這個站上花掉的請求次數,它受响應速度、頁面總量、更新频率和過往抓取体驗共同影响。想調它,先得知道它被花在了哪里。

先看日誌,而不是先改頁面

後台的“已收錄”數量只告诉你结果,日誌才告诉你過程。把最近 30 天的蜘蛛訪問记錄按目錄聚合一次,再按狀態碼和响應時間各聚合一次,三張表放在一起看,問题通常就浮出来了。

  • 某個目錄的請求占比遠超它的内容占比,說明這里有東西在持續吸引蜘蛛。
  • 大量請求落在 404、301 或带參數的地址上,說明站内連結和跳轉還不干净。
  • 某些頁面平均响應時間明顯偏高,蜘蛛在這里會主動降速,连带影响同一主机名下其他頁面。

三類常见的预算黑洞

翻日誌时,下面几類頁面出現的频率往往高得超出预期。

  • 參數组合頁:篩選、排序、翻頁參數能组合出成百上千個地址,内容却高度重复。
  • 自動生成的归档:标簽頁、作者頁、日期归档、搜尋结果頁,數量随内容增長而膨胀,單個頁面信息量很低。
  • 失效與跳轉:老連結没清、重定向鏈太長,蜘蛛每走一次都要多花几個請求。

這些頁面本身不一定有害,但如果它們吃掉了總抓取量的一半以上,而你的新品頁、詳情頁只能分到零头,那就是分配出了問题。

把抓取资源往重点頁面挪

方向是“减少無谓請求”加“增加重点入口”,两者要一起做,只堵不疏會让蜘蛛找不到新内容。

减少無谓請求

  • 參數頁加 noindex 之前先確認它确實没有獨立價值,別把有用的頁面一起屏蔽掉。
  • 搜尋结果頁、内部搜尋接口,用 robots.txt 拦住或加 noindex。
  • 清理跳轉鏈,让舊地址一步到位指向新地址。
  • Sitemap 只放你希望被正常抓取的地址,別把整個資料库都塞進去。

增加重点入口

  • 在導航、面包屑、相關内容模块里,给新頁面和多层級詳情頁提供稳定的内鏈入口。
  • 列表頁分頁保持可抓取,別让詳情頁只能通過“加载更多”按钮到達。
  • 让重要頁面之間互相連結,形成几個内鏈簇,而不是所有頁面都只连向首頁。

响應速度是抓取节奏的地板

同一台服務器上,如果某個接口经常三五秒才响應,蜘蛛對该主机名的整体抓取速率會被压低。日誌里的平均响應時間和超时次數,值得和抓取频次放在一張图里看:速度掉下去之後,通常過一段時間抓取量也會跟着掉。資料库慢查询、图片直出、未缓存的動態頁面,都是常见的拖累点。

抓取预算的調整不是一次性操作。改完结构後隔两三周再拉一次日誌,對比目錄分布有没有變化,比凭感觉判断可靠得多。

一個可执行的检查顺序

  1. 導出最近 30 天的蜘蛛訪問日誌,按目錄、狀態碼、响應時間分別聚合。
  2. 列出請求量前 20 的目錄或 URL 模式,判断它們對用戶是否有價值。
  3. 確認哪些属于重复參數頁、自動归档頁,决定是合並、noindex 還是拦住。
  4. 检查重点頁面是否至少有两條站内路径可以到達。
  5. 整理 Sitemap,只保留需要被發現的地址,並保持更新。
  6. 两三周後再看一次日誌,對比抓取分布與重点頁面的被訪問次數。

抓取预算是争来的,不是等来的。把日誌讀明白,再動手改结构,方向會清晰很多。