2020-07-06 10:16:54aggartpra

404頁面詳解_404頁面設置

  先說一下什麼是404?

  網站404是服務器對ua請求一個不存在或已刪除頁面返回的一個"狀態碼", 判斷一個404頁面不是看它長的像不像404頁, 而是要看返回碼, 所以谷歌裡面有個"軟404"的概念.

  更多網頁返回碼的意思請自行度娘.

  404頁面的重要性

  404不重要嗎? 我覺得很重要, 如果要寫一個網站最先做的部分我的建議就是記錄錯誤頁面功能, 為什麼呢? 記錄/發現並及時改正錯誤是一個網站正常運行的基礎. 當然我們也可以通過查看網站日志來找到這些錯誤.

  404對搜索引擎的影響比較大, 搜索引擎檢查到某個頁面返回404代碼就會不會收錄這個頁面, 如果是已經收錄的頁面蜘蛛在重新抓取的時候發現返回404就會從搜索引擎中刪除這個已經收錄的頁面.

  合理的設置404頁面有利於增加網站體驗

  對於用戶: 一個比較好的404頁面引導可以避免用戶流失降低跳出率, 這裡要註意, 有的朋友在返回404碼的同時做瞭轉跳, 這時候ua獲取到的可能會是302或200等代碼, 請用返回碼工具檢查, 正如上面我所提到的, 404是個返回碼, 而頁面的呈現樣式可以是五花八門的.

  對於搜索引擎: 搜索引擎不會收錄404碼的頁面; 對於已經收錄的頁面搜索引擎再次抓取發現返回404會刪除這個已經收錄的頁面. 如果網站突然出現大量的404頁面請用百度站長平臺的刪除死鏈工具提交死鏈, 以免影響蜘蛛對網站的體驗.

  怎樣找出網站中的404錯誤?

  1. 最直接的方法: 查看網站的訪問日志;

  2. 如果網站有記錄404的統計可以方便很多.

  對於網站中大量404死鏈的解決:

  如上面我們提到的, 大量404影響用戶和搜索引擎的體驗, 提交死鏈刪除很有必要.

  收集死鏈是個復雜的問題, 目前百度還沒有通配符的方式提交死鏈.

  · 如果站點同目錄下的死鏈可以根據死鏈的url規則來判斷並找出這些死鏈;

  · 對於泛域名解析導致的死鏈, 每個泛域名都是一個相對獨立的站點, 少量的收錄可以用手工的方式來收集, 但是大量收錄隻能借助第三方工具從百度都搜索引擎中抓取出來.

  404頁面設置舉例:

  以php為例, 用.htaccess自定義一個404頁面

  RewriteEngine on

  RewriteBase /

  ErrorDocument 404 /404err.php

  那麼在這個404err.php頁面裡面我們可以設置成自己想要的界面, 並統計記錄錯誤頁的URL,方便我們查看並解決問題.

  

  header('HTTP/1.1 404 Not Found');

  header("status: 404 Not Found"); //返回404錯誤

  //註意這裡不要用header("Location...")轉跳,否則返回碼是302而不是404

  ?>

  

  ....這裡弄上要顯示的界面

  

  對於改版導致的死鏈

  改版導致舊的url失效, 這時候需要用正確的方法來處理, 用301永久轉跳到新的url 可以把我們從搜索引擎的損失降到最低, 在站長平臺裡的改版工具裡面把新舊url提交, 以確保舊的url收錄權重轉移到新的url上. 要註意301對搜索引擎來說需要很長一段時間去更新, 所以301轉跳要保持很長一段時間.

  養成查看網站日志的習慣很重要.

  以發現的實際案例為例:

  某客戶網站用.htaccess對網站的url重寫, 百度抓取並能夠成功收錄, 但是在檢查網站日志中發現瞭大量百度蜘蛛重新抓取時返回404頁面, 仔細檢查發現對url重寫的時候沒有對轉碼進行設置, 導致斜杠等參數被轉碼後不能正確識別所以返回404, 知道問題的所在也就可以順利解決.