網站收錄

删掉頁面之後:404、410 和 301 在收錄上的差別

頁面下架、栏目合並或活動結束後,原 URL 该返回什么狀態,會直接影响索引里那條记錄的去留。這篇文章把 404、410、301 三種處理方式的适用场景讲清楚,也点出统一跳首頁、软 404 這類常见誤用,並說明删頁後 sitemap 與内鏈该怎么同步清理。

網站收錄

删掉頁面之後:404、410 和 301 在收錄上的差別

頁面下架、栏目合並、活動結束,都會遇到同一個問题:那個 URL 该返回什么狀態。看起来只是技術细节,但它會直接影响蜘蛛怎么理解“這個地址還在不在”,進而影响索引里那條记錄的去留,以及蜘蛛後續怎么安排爬取。

先把两件事分開:從導航里拿掉,和從索引里移除

不少人的做法是先把連結删掉、頁面文件删掉,就当處理完了。但對搜尋引擎来说,頁面的狀態由 URL 本身返回的响應决定,而不是由“你有没有在站内連結它”决定。

只要那個地址還能返回 200 和正常内容,它就可能繼續留在索引里。所以删頁面的動作實际上包含两步:让 URL 返回一個表示“不在了”的狀態碼,然後等蜘蛛重新訪問並更新索引。第二步你控制不了速度,第一步你完全可控。

404 和 410:都表示頁面没了,但明确程度不同

404 是最常用的。它表示服務器找不到這個资源,但這個狀態本身带有“暂时说不准”的意味——可能是路径寫错了,過段時間又回来了。

410 則更明确:资源已经永久移除,不會再提供。從语义上它比 404 更干脆,蜘蛛處理起来也少一些犹豫。實践中两者的移除速度差別通常不大,但如果頁面确定不會回来,比如下架的商品、已经結束的报名頁,用 410 表達得更清楚。

需要注意,两個狀態碼都要求返回真實的對應响應,而不是返回 200 的頁面里寫一句“頁面不存在”。後者會變成下面要说的软 404。

用 301 承接流量,但要指向真正相關的頁面

頁面消失後直接 404,會丢掉原有的訪問和權重传递,所以更常见的做法是 301 到新地址。這里有两個容易出問题的地方。

別把所有删掉的頁面都 301 到首頁

把大量不相關的老頁面统一跳到首頁,是一種典型的软 404。用戶点進去看到首頁,找不到原本要找的東西,會立刻返回。蜘蛛也會發現這個跳轉和原内容毫無關系,最终仍然可能把這條记錄去掉,只是绕了一圈。

更合理的做法是 301 到内容最接近的頁面,比如下架商品跳到同類目或替代款,合並的栏目跳到新的栏目頁。如果實在没有相關目标,直接 404 或 410 比硬跳首頁更诚實。

跳轉鏈條尽量短

A 跳到 B、B 又跳到 C,這種鏈條會延長蜘蛛理解地址的時間。改版或多次調整後容易出現這種情况,值得在日誌或抓取工具里抽查一遍,把中間环节去掉。

软 404:狀態碼 200,内容却在说“没有”

软 404 指的是頁面返回 200,但内容其實是空頁、错誤提示,或者只剩一個模版框架。它常出現在几種场景:程序出错时仍然輸出 200;篩選條件组合後没有结果;内容已经刪除但頁面模版還在。

這類頁面的麻烦在于它看起来“正常”,蜘蛛會当作有效頁面處理,于是要么長期留在索引里,要么被反复抓取却始终没有價值。排查时可以留意服務器日誌里那些响應 200、但返回字节數很小的 URL,通常能挖出一批。

删頁之後,還要配合做的几件事

  • 把已刪除的 URL 從 sitemap 里去掉,別一邊告诉蜘蛛“這些地址重要”,一邊让它們返回 404。
  • 清理站内指向已删頁面的内鏈,尤其是導航和侧栏里的固定連結。
  • 如果站内有多條路径指向同一批废連結,一起處理,减少蜘蛛在無效地址上的往返。
  • 確認 robots.txt 没有誤封這些路径。被封的地址蜘蛛看不到 404,也就無從更新索引。

大批量删頁时,节奏值得留意

如果是整站改版或一次性下架上萬條 URL,短時間内會出現大量 404。蜘蛛的抓取時間會被這些地址占用一部分,新内容的抓取可能因此變慢。這不是说不能删,而是可以按批次處理,先删最没有價值的,观察日誌里蜘蛛對新舊地址的訪問比例,再决定下一批。

狀態碼解决的是“這個地址還在不在”的問题,内容质量解决的是“值不值得留在索引里”的問题。前者做對了,只是让索引更准确;後者才决定頁面能不能被搜到。

最後,不管選 404、410 還是 301,都建议在改動後的一两周里看一下索引狀態和日誌,確認蜘蛛确實重新訪問了這些地址。改完就不管,往往會留下一些長期滞留在索引里的舊记錄。