網站改過栏目、删過文章、換過图片或下载文件之後,站内往往會留下一些失效連結。訪客点到會看到错誤頁,蜘蛛爬到會撞上 404。偶尔出現几條很正常,但如果長期不盘点,死鏈會分散在導航、正文、侧栏和资源引用里,既影响体驗,也让抓取预算花在無效地址上。
死鏈通常從哪些地方冒出来
- 内容調整:文章刪除、合並或改 slug 後,舊地址没有處理,内鏈還指向老 URL。
- 图片與附件:图片被替換、裁剪或改名,正文里的 img src 和下载連結仍然指向舊文件。
- 栏目與導航:栏目合並後,導航、面包屑、侧栏推荐還保留已下线的分類地址。
- 第三方资源:外鏈引用的站点改版、關閉,或者對方刪除了原頁面。
- 静態资源:主题或插件更新後,舊的 CSS、JS、字体文件路径被移除,頁面仍尝试加载。
自查可以分三步走
先用爬虫工具跑一遍站内
找一款能按站内范围抓取的爬虫工具,從首頁出發,跟随内鏈和资源連結,導出狀態碼不是 200 的地址。重点看 404、410、5xx 和超时。跑的时候把“检查外部連結”也打開,但外鏈數量多时容易跑很久,可以分批處理。導出後按来源頁面分组,方便判断是單篇正文的問题,還是全站導航或頁脚的問题。
再看日誌和後台报错
服務器訪問日誌里,404 记錄能反映蜘蛛和訪客實际撞到的地址。如果某個舊 URL 每天都有訪問,說明還有外部連結或用戶收藏指向它,處理優先級應该更高。内容管理系統如果有内部連結检查插件,也可以定期生成报告,但不要只依赖插件,插件可能漏掉動態生成的連結、表單提交後的跳轉和 JavaScript 渲染出来的地址。
關键入口手動抽查
工具跑完之後,手動点一遍首頁導航、栏目頁、文章頁的面包屑、侧栏热门推荐、頁脚連結和下载按钮。有些死鏈藏在彈窗、标簽頁或分頁组件里,爬虫不一定能触發。移動端菜單也值得單獨看,折叠菜單里的連結有时和桌面端不是同一套。
處理方式:不是所有 404 都适合 301
- 有明确替代頁:用 301 跳到最相關的新地址,不要统一跳到首頁。整站 404 都跳首頁,既不能让訪客找到需要的内容,也容易让蜘蛛困惑。
- 内容确實刪除:如果頁面不會再提供,返回 410 或保留 404 都可以,但要让错誤頁给用戶提供搜尋框、热门栏目或返回上一級的入口。
- 只是連結寫错:直接改掉正文或模板里的連結,比加一條重定向更干净。
- 图片和附件失效:能找回原文件就补回原路径;確認不用了,就從正文中移除引用,或者替換成仍然有效的图片。
- 外鏈失效:如果引用来源已经不存在,可以換成同主题的可用連結,或者删掉這條外鏈,避免讀者点過去扑空。
處理死鏈时顺手確認一下:返回的是真 404 還是软 404。有些頁面内容為空或提示“不存在”,但 HTTP 狀態碼仍是 200,這類地址不會出現在常規 404 报告里,需要單獨检查。
把死鏈检查排進日常
不必每天全站掃描。内容更新频繁的站点可以每月跑一次站内爬虫,每次改版、批量删文或替換图床後額外做一次专項检查。把常见来源加入發布前检查清單:删文章时確認舊 URL 如何處理,換图片时確認正文引用是否更新,栏目合並时確認導航和面包屑已经同步。死鏈不會因為一次清理就永遠消失,但有了固定节奏,至少不會等到訪客反馈才發現。