内容下线在站点运营里很常见:活動結束、商品下架、栏目合並,都會留下一批不再维護的 URL。對运营来说這只是删掉一個頁面,對蜘蛛来说却是另一回事——它记住的是地址和上次抓到的内容,下一次訪問才會知道這個頁面發生了變化。
蜘蛛再訪时,先看响應狀態
当蜘蛛再次請求一個已经下线的地址,服務器返回的狀態碼决定了它接下来怎么做。常见的几種處理方式,效果並不一样:
- 404:頁面不存在。适合临时下架、可能恢复的内容,也适合结构上已经不再使用但外鏈較多的地址。
- 410:頁面已永久移除。语义比 404 更明确,适合确定不會再上线的地址。它不會让蜘蛛立刻清空记錄,但能减少反复回訪的意愿。
- 301:永久跳轉到新地址。只有当新舊頁面内容高度對應时才用,比如文章改版後換了一個 URL。
- 200 空頁面:最容易被忽略的一種。頁面還能打開,但正文没了、只剩模板壳,蜘蛛會把它当作可用頁面繼續抓取,這類地址往往長期占着抓取份額。
為什么下线之後還會被反复訪問
蜘蛛不會主動记住某個地址已经作废,它靠的是重新訪問。如果站内仍然留有指向该地址的連結,蜘蛛就會顺着這些入口一次次回来。常见的原因有几類:
- 導航、面包屑、侧邊栏里還挂着舊連結;
- 列表頁、归档頁、相關推荐模块没有同步更新;
- Sitemap 里仍然保留了已经下线的 URL;
- 站内搜尋、标簽頁等動態入口還在生成這些地址。
這些入口不清理,狀態碼改成 404 也只能减少一部分回訪。抓取路径上的入口比狀態碼更靠前。
清理顺序:先断入口,再改狀態
比較稳妥的做法是按下面的顺序處理,避免蜘蛛在改動過程中抓到一半舊结构、一半新结构:
- 先確認這批 URL 是真的要下线,還是只需合並到其他頁面;
- 從導航、列表頁、推荐位、标簽頁中移除指向它們的連結;
- 更新 Sitemap,把下线地址從中去掉,不要只留一個長期不更新的舊文件;
- 根據内容情况設定 404、410 或 301,並保持狀態稳定,不要今天 404 明天 200;
- 观察一段時間服務器訪問记錄,確認這些地址的訪問量是否在下降。
跳轉不要都指向首頁
下线頁面统一 301 到首頁,看起来省事,但蜘蛛會認為大量不同地址最终都指向同一個頁面,容易和重复内容混淆,也不利于判断哪些舊地址可以放弃。更常见的做法是:有對應内容的,跳到最相關的那一頁;没有對應内容的,直接 404 或 410。
跳轉的目标越具体,蜘蛛越容易理解這次變動;目标越笼统,越容易變成一批長期存在的模糊入口。
Sitemap 與站内搜尋也要同步
Sitemap 是 URL 發現的重要来源之一,但它只是入口之一,不是唯一的真相。如果 Sitemap 里還列着大量已经下线的地址,蜘蛛會按图索骥去訪問,然後拿到 404。短時間問题不大,長期如此會让 Sitemap 的可信度下降。站内搜尋、标簽聚合這類自動生成頁面的地方,也要確認不會把已下线的 URL 重新吐出来。
服務器层面別留下異常
下线處理中還容易遇到服務器侧的問题:頁面文件删了,但路由規則没改,返回 500;或者返回一個 200 的空白模板。前者會让蜘蛛把地址当作暂时故障,之後反复重试;後者則可能被当成正常頁面。改動前後最好检查一下响應头和狀態碼,确保返回的是预期结果。
收尾检查清單
- 下线地址的狀態碼是否稳定、是否符合内容實际情况;
- 站内是否還有指向它們的連結,包括列表頁和推荐模块;
- Sitemap 是否已经同步更新;
- 跳轉目标是否與舊頁面主题相關;
- 訪問日誌中這些地址的抓取次數是否在逐步减少。
頁面下线不是一次性的動作,而是一段收尾過程。把入口、狀態碼和站点地图放在一起處理,蜘蛛才能逐步把注意力轉移到真正還在维護的頁面上。