站点跑久了,總會有頁面悄悄消失:栏目改版删掉的舊文章、商品下架留下的地址、改過命名規則之後的老 URL,還有拼错大小寫或漏了斜杠的連結。這些地址本身没什么問题,但如果没有统一處理,它們會一次次被蜘蛛請求,一次次返回错誤,白白占掉抓取額度,也影响訪客体驗。
先分清几種“死鏈”
很多人把“打不開”统称為死鏈,實际上處理方式完全不同:
- 真 404:頁面确實不存在,也没有合适的替代内容。
- 软 404:地址返回 200,但頁面寫着“内容不存在”,或只剩一個空壳模板。這種最容易被誤判為正常頁面。
- 410:明确告知永久移除,语义比 404 更干脆。
- 可修复的死鏈:因為大小寫、尾斜杠、參數顺序不一致而打不開,内容其實還在。
- 假死鏈:任何错誤地址都 301 到首頁,訪客以為找對了,其實什么也没找到。
死鏈從哪里找
- 服務器訪問日誌中狀態碼為 404、410、500 的請求,按出現次數排序看。
- 搜尋资源平台提供的死鏈與抓取異常报告。
- 把 sitemap 里列出的地址與實际可訪問地址做一次比對。
- 用爬虫工具站内跑一遍,记錄所有非 200 响應。
- 抽查站外来源連結,尤其是舊合作頁、舊友鏈指向的地址。
能救的先救,救不了的干脆放手
有明确替代頁面的
設定 301 指向内容最接近的頁面,而不是首頁。跳轉要一步到位,避免 A→B→C 的连环跳。同一批舊地址如果規則统一,可以在服務器层面用一條規則批量處理。
已经永久下线的
如果内容不會再回来,返回 410 或保留 404 都可以,重点是不要返回 200,也不要用 JS 跳轉去掩盖。要让狀態碼如實反映结果。
因規則不一致導致的打不開
常见的是大小寫混用、带不带 www、结尾斜杠有無、跟踪參數不同。先确定唯一的标准寫法,再把其余寫法统一跳轉過去,同时检查站内連結是否還在用舊寫法。
404 頁面本身也要做得像样
死鏈不可避免,但错誤頁可以做得有用:
- 保留站点头部與導航,让訪客能繼續走。
- 给出搜尋框或几個明确的热门入口。
- 文案简短說明情况,不要長篇道歉。
- 确保返回的是 404 狀態碼,而不是“看起来像 404 的 200 頁面”。
- 不要在 404 頁上堆大量推荐位,容易變成新的薄頁面。
把错誤地址一律跳到首頁,看着“没有死鏈”,實际上是把問题藏起来:蜘蛛和訪客都得不到有效答案,頁面的相關性也無從判断。
定期自查清單
- 導出近一周日誌中的 404 請求,按路径聚合,看是否有明顯規律。
- 区分可修复與真死鏈,分別處理。
- 修正站内所有指向舊地址的連結,從源头减少重复請求。
- 检查 404 頁面狀態碼是否正确、能否正常返回。
- 把確認下线的地址整理成清單,通過平台提交,减少反复抓取。
- 改版、下架、迁移之後,第一時間做一轮死鏈掃描,而不是等上几個月。
死鏈治理不需要一次性做完,但需要有人定期看一眼。把“哪里打不開、為什么打不開、接下来怎么办”這三件事说清楚,站点结构和抓取效率都會跟着稳下来。