站点改版、栏目合並、文章下线,都會留下失效地址。訪客点到舊連結,蜘蛛顺着老外鏈爬過来,最後都落在同一個地方:404 頁面。這個頁面平时没人看,出事的时候却同时面對两類讀者——人和搜尋引擎。花十分钟做一次自查,比事後翻日誌省事得多。
第一步:先確認狀態碼到底對不對
很多站点的 404 問题不在頁面長相,而在服務器返回的狀態碼。打開浏览器的開發者工具,或者用 curl 看一眼响應头,重点確認两件事:
- 不存在的地址應该返回 404,不是 200。返回 200 的空頁面會被当成正常内容,属于软 404,容易混進索引。
- 不要把所有错誤地址 302 或 301 跳到首頁。對用戶来说像被“甩”回首頁,對搜尋引擎来说則是大量地址指向同一頁面,判断會變得混乱。
如果站点前面挂了 CDN 或反向代理,记得確認它没有把 404 缓存成一整天的错誤结果,也没有把 404 改寫成 200。
第二步:頁面上该放什么
一個能用的 404 頁,本质上是一次补救机會。訪客已经走错了路,你要做的是给他一條回到正轨的路,而不是一句冷冰冰的英文报错。建议至少包含:
- 一句清楚的中文說明,告诉他這個地址已经不存在,而不是“頁面出错”。
- 站内搜尋框,让目标明确的人自己找。
- 几個主要栏目的入口,或者近期更新較多的内容連結。
- 返回首頁的按钮或文字連結。
如果站点有客服、帮助中心或联系方式,也可以放一個入口,尤其是电商和工具類站点。
第三步:這些做法尽量不要出現
- 用 JavaScript 延时几秒後自動跳轉首頁,訪客還没来得及看說明就被带走。
- 頁面上塞满推廣位和彈窗,把错誤頁變成广告頁。
- 整頁只有一行 404 和英文提示,中文站点尤其容易犯這個毛病。
- 把 404 頁也放進站点地图,或者让它被正常索引。
- 不同語言的站点共用同一套错誤頁,語言對不上。
404 頁面的目标不是“留住”訪客,而是让他最快找到想去的地方。任何妨碍這個目标的元素都值得删掉。
第四步:把 404 记錄變成修复线索
404 頁面本身不是問题,它是一份免費的巡检报告。把服務器日誌或站点後台里记錄到的 404 地址導出来,按訪問次數從高到低排一遍,通常能發現三類情况:
- 站内某篇文章的内鏈寫错了,顺手改掉即可。
- 栏目改版後老地址没做重定向,訪問量還不低,值得补一條 301。
- 外来垃圾連結或早已下线的推廣頁,訪問量零星,放着不管也行。
建议每隔一到两個月看一次這個列表,重点處理排在前面的地址。如果某個失效地址被大量外部連結指向,补重定向比放任 404 更划算。
第五步:定期复查的清單
- 随机打開几個不存在的地址,確認返回 404。
- 检查 404 頁面在手机上是否可讀、按钮是否点得到。
- 確認搜尋框可用,且搜尋结果頁不會又返回 404。
- 確認 404 頁没有被 robots.txt 之外的方式誤挡成 403 或 500。
- 導出近一個月的高频 404 地址,挑出值得修复的几條。
這些检查不需要工具和预算,只是一次点击和一次记錄。做與不做的差別,往往体現在訪客是繼續浏览,還是直接關掉标簽頁。