404 不是故障,而是網站長期執行中必然出現的一部分。栏目調整、内容下线、外鏈失效,都會留下打不開的地址。差別在于结果:有的站把 404 做成一條死胡同,訪客轉身离開,蜘蛛也不再回来;有的站把 404 做成一個中轉站,訪客能找到替代内容,蜘蛛還能顺着連結繼續爬。
404 頁面本身要過關
先確認技術层面没走偏。頁面必须返回 404 狀態碼,而不是 200。不少建站程序預設把 404 模板輸出成 200,等于告诉搜尋引擎這個地址是正常的,只是内容有点奇怪,時間一長會积累出大量低质頁面。
- 狀態碼正确:返回 404,内容確認永久下线时可用 410,不要返回 200 或 302。
- 不要自動跳首頁:用脚本把 404 彈回首頁,訪客會困惑自己是不是点错了,本质上也接近一種软跳轉。
- 给出明确出口:首頁連結、主要栏目入口、站内搜尋框,三样里放两样就够。
- 文案克制:說明頁面不存在或已下线,配一两條相關推荐,不必寫長篇道歉。
- 保持全站一致:導航和頁脚照常保留,別让 404 變成孤岛。
死鏈通常從哪来
死鏈不會凭空出現,来源基本集中在几處:
- 改版时删掉栏目或合並目錄,舊地址没有做跳轉。
- 内容因合規、时效等原因下线,只删了頁面没留替代路径。
- 外部連結指向的歷史地址,自己這邊早已改版。
- 正文里寫错的連結,或大小寫、结尾斜杠不一致的路径。
- 分頁、篩選參數产生的临时地址被外部引用。
其中改版带来的數量最大,也最容易在事後才被發現。
怎么把死鏈找出来
不用等訪客反馈。几個相對稳定的来源可以定期看:
- 服務器日誌:筛出狀態碼為 404 的請求,按路径去重,再按出現次數排序。
- 搜尋控制台:關注 404 與软 404 报表,留意哪些地址被反复抓取。
- 站内爬取:用爬虫工具從首頁出發跑一遍,導出所有 4xx 地址。
- 外鏈資料:检查指向本站的外部連結里,有没有已经打不開的。
把结果整理成一張表,字段至少包括原地址、来源、出現次數、是否有替代頁面。
處理流程
發現之後不要急着全部 301 到首頁。按下面的顺序判断:
- 有對應新頁面:做單层 301,指向内容最接近的那一個,不要串成多級跳轉。
- 内容彻底不需要:保持 404 或返回 410,明确告知已消失,比强行跳首頁更干净。
- 属于站内死鏈:直接修改正文中的連結,換成有效地址或删掉。
- 是外部連結指向的舊地址:能恢复内容就恢复,不能恢复就保持 404,不必為一條外鏈专门造頁。
- 记錄變更:把處理方式和日期寫進改動记錄,下次改版前先查一遍。
404 本身不會拖低站点质量,被包装成 200 或一律跳首頁才容易出問题。
定期复查
建议把死鏈检查放進月度例行事項:每月跑一次站内爬取,每周掃一遍日誌里的 4xx。如果數量突然上升,往往意味着某次改版或某個模板出了問题。把這個數字记下来,比事後靠訪客投诉去猜要省事得多。
死鏈治理不需要一次做完,但需要有人持續跟進。訪客撞上 404 时能找到下一步,蜘蛛進来时不會掉進空頁面,這件事就算做够了。