站点上线一段時間後,死鏈几乎是必然會出現的:栏目調整、文章合並、产品下架、URL 規則改版,都會留下指向不存在地址的連結。對用戶来说,那是一屏“無法訪問”;對搜尋蜘蛛来说,那是一次次扑空。它不會让網站立刻出問题,但會持續消耗抓取预算,也让站内連結的可信度慢慢打折。
死鏈一般從哪几個地方冒出来
- 正文内鏈:老文章里指向已刪除頁面的锚文本,改版时没同步更新。
- 導航與頁脚:栏目下线了,模板里的入口還挂着。
- 外鏈與分享連結:別人引用或轉發過的地址在你這邊已经失效,這部分你控制不了,但應该能感知。
- 静態资源:图片、CSS、JS 路径變動,頁面能打開却加载不全。
- Sitemap 與 RSS:文件里的地址還是舊規則,蜘蛛照着抓,自然全是空。
前两類属于自己能管住的,優先處理;後几類靠定期巡检兜底。
排查步骤:先摸清范围,再動手
- 用日誌和統計找出错頁。服務器日誌里狀態碼 404、410 的记錄,通常按 URL 聚合一排就是一份清單。
- 跑一遍站内連結检查。從首頁出發爬取站内連結,能覆盖大部分正文内鏈和模板連結;有條件的话连同图片、JS 一起查。
- 核對 Sitemap。把 Sitemap 中每個地址抽驗一遍,看是否都返回 200,避免把死鏈主動推给蜘蛛。
- 按来源分類。是模板問题、内容問题,還是一次性改版遗留?模板問题必须改模板,否則改完還長。
- 處理完再复跑一次。修完不复驗,等于不知道修没修好。
频率上不用太勤,栏目大改、URL 規則調整之後必查一次,日常保持每月一轮就够了。
404 頁面別只寫“頁面不存在”
死鏈不可避免,但用戶撞上死鏈的体驗是可以设計的。一個合格的 404 頁面至少做到几点:
- 明确告诉用戶這個地址没有内容,不要用花哨的跳轉把人绕晕。
- 给出几個出口:返回首頁、站内搜尋框、相關栏目或热门文章入口。
- 保持和全站一致的头尾導航,別做成一個孤立頁面。
- 技術上确實返回 404 狀態碼,而不是“顯示 404 样子、實际 200”的空壳頁。
另外,被刪除的頁面不要让它繼續出現在栏目列表、标簽頁或推荐位里。前端模板里如果用的是固定連結,刪除内容後要顺手清理。
哪些该 301,哪些该老實返回 404
判断标准可以简單一些:
- 做 301:舊地址有明确的新對應頁面,比如文章換 URL 規則、栏目改名、产品升級到新版詳情頁。跳轉鏈尽量一步到位,別 A 跳 B、B 再跳 C。
- 返回 404 或 410:内容真的下架、合並後没有等價頁面、或者只是拼错的參數地址。硬凑一個不相關的跳轉,用戶和蜘蛛都會更困惑。
- 不要跳到首頁:把大量死鏈统一甩到首頁,是一種偷懒做法,容易让蜘蛛對首頁的入口價值判断失真。
死鏈清理不是一次性工程。把它放進例行的站点巡检清單里,和更新节奏、日誌查看放在一起做,成本會低很多。
最後提醒两件小事
一是外鏈造成的死鏈不必强行追着改,能联系對方更新的就联系,联系不上也不必焦虑,重点是保證自己站内不再产生新的断鏈。二是死鏈清理之後別急着下结论,观察一段時間日誌里的 404 數量是否下降、抓取是否更集中在你希望被發現的頁面上,用資料说话比凭感觉靠谱。把死鏈当成站点卫生的一部分,定期打掃,通常比大掃除更省力。