如何處理WordPress網站404狀態死鏈

網站404報錯

如果網站存在大量的404狀態碼的URL地址(即所謂的死鏈),這將是對網站SEO優化是一個致命的打擊,嚴重影響網站搜尋引擎站點評級,不利於網站頁面的搜尋引擎收錄及排名。

那麼對網站自身的404資料-網站死鏈,我們應該如何處理?下面,我們將詳細說明網站404狀態碼,如何進行404資料檢測及如何處理網站死鏈資料。

  1. 什麼是404狀態碼?
  2. 如何檢測網站404資料?
  3. 如何處理網站死鏈資料?

什麼是404狀態碼?

每當訪客訪瀏覽你的網站時,瀏覽器就會向Web伺服器傳送請求,並接收包括HTTP標頭的資料。HTTP標頭包含HTTP狀態程式碼,用於解釋請求“發生了什麼”。

在大多數情況下,請求可以正常執行,並且您實際上不會看到HTTP狀態程式碼(除非通過開發者工具檢視)。但是,如果出現問題,您的網路瀏覽器通常會顯示一條帶有HTTP狀態程式碼的訊息,以指示確切的問題。

就像其他錯誤訊息(500錯誤,502錯誤,504錯誤等)一樣,Error 404 Not Found訊息也是該過程的結果。

404報錯實際意味著什麼?

基本上,這意味著客戶端(訪客Web瀏覽器)能夠成功連線到主機(網站伺服器),但無法找到所請求的實際資源(例如,特定的URL或檔名))。

例如,如果有人嘗試訪問,yoursite.com/post-name 但網站並沒有 post-name 這個子目錄。那麼,訪客就會看到404報錯,因為即使Web伺服器正常執行,所請求的資源也不存在。

這不僅是文章或頁面,任何網站資料丟失都可能在伺服器上產生404錯誤,例如影象檔案丟失,JavaScript丟失,CSS丟失等。

是什麼導致404報錯產生?

如果訪問網站所有內容上均看到此錯誤,則通常是由於WordPress網站的固定連結出現問題。但是,如果僅在單個內容上看到它,則最有可能是因為您在不設定重定向的情況下更改了目錄內容。

此外,404錯誤並不總是一件壞事– 僅在干擾可用性時才是

例如,有時一個人可能只是在其位址列中輸入了錯誤的URL。在這種情況下,他們仍然會看到404錯誤,但網站的配置沒有實際問題。這實際上是所需的響應,您可以建立自己的自定義404頁面來幫助將訪問者引導到正確的位置。

一樣404報錯不同的名稱

由於不同的瀏覽器以不同的方式顯示錯誤訊息,因此對於此錯誤,您可能會看到不同的訊息。其他常見的變化包括:

  • “Error 404”
  • “404 Not Found”
  • “HTTP Error 404”
  • “Not Found”
  • “Page Not Found”
  • “The requested URL was not found on this server.”
  • “The page cannot be found”
  • “We can’t find the page you’re looking for.”
  • “The requested URL /~ was not found on this server.

google-404-error-page-1

Google瀏覽器的404報錯通知頁面

404報錯通知頁面還可能是個性化的,因為許多站點實際上會建立一個自定義404錯誤頁面,而不是顯示上面的訊息之一。預設情況下,某些WordPress主題還包括自定義404頁面。因此,您實際上可能根本看不到404錯誤訊息,因為許多網站將改用有趣或富有創意的404頁面

funny-404-page

有趣的404錯誤頁面示例

以下是閃電博網站的404報錯頁面的示例。沒有更多的內容,僅僅一個搜尋框。或者我們應該在下一個版本加上我們的熱門主題和外掛,及最近更新的部落格文章,以幫助訪客更快地找到適合的內容。

如何處理WordPress網站404狀態死鏈配圖3

閃電博404頁面

如何檢測網站404資料?

上面我們瞭解清楚什麼是404報錯及為什麼會產生404錯誤,下面我們來看看,我們可以通過什麼方式來發現這類錯誤。

  • 找出那些壞鏈(Broken URL),這些連結可能是內部連結,也可能是其他站點的外部連結。然後,儘可能地修復這些連結。
  • 通過百度搜尋資源平臺抓取異常查詢404錯誤URL地址。然後,弄清楚為什麼搜尋引擎嘗試抓取不存在的頁面並在需要時設定重定向。
  • 對404錯誤相關的問題進行故障排除。

選項1 – 百度搜尋推送管理外掛+蜘蛛分析外掛

利用我們開發的百度搜尋推送管理外掛蜘蛛分析外掛( Spider Analyser ),可以實現網站404錯誤URL連結監測及死鏈資料列表下載。

其中蜘蛛分析外掛可以實時檢測搜尋引擎爬蟲蹤跡,對所有搜尋引擎蜘蛛爬取網站URL的資料進行統計,包括爬取連結、狀態碼及蜘蛛名稱等。

然後通過百度搜尋推送管理外掛的死鏈檢測功能,將狀態碼為404的搜尋引擎蜘蛛爬取連結資料整理至外掛的死鏈提交清單,以便於站長對死鏈進一步處理。後面我們會詳細介紹關於網站死鏈的處理辦法。

選項2 – 重定向外掛檢測

Redirection外掛可以幫助您監控404錯誤。

選項3 – 通過百度搜尋資源平臺查詢404錯誤連結

通過百度搜尋資源平臺的資料統計-抓取異常,選擇“找不到頁面”選項卡,我們也可以找到404錯誤連結清單。

如何處理WordPress網站404狀態死鏈配圖4

選項4 – Google Analytics(分析)

如果您使用Google Analytics(分析),則可以設定自定義報告以跟蹤來自外部連結的404錯誤。國外博主Rebelytics專門寫了相關教學

選項5 – Google Search Console

最後,可以在Google Search Console(類似於百度搜尋資源平臺)中跟蹤Google蜘蛛爬取網站頁面時遇到的404錯誤。訪問Google Search Console並驗證你的網站,通過 Crawl → Crawl Errors → Not found,即可檢視谷歌搜尋引擎蜘蛛遇到404錯誤連結列表。

google-search-console-404-errors

谷歌站長工具404錯誤列表

上述五種方式均可以幫助你發現網站日常遇到的404錯誤資料,至於哪種方式更適合你,則因人而異。

如果你希望實時發現網站死鏈資料,則建議通過安裝外掛的方式來統計網站死鏈資料;如果你無需實時發現,則百度搜尋資源平臺、谷歌分析及谷歌站長工具即可滿足你的需求。

如何處理網站死鏈資料?

下面,我們將介紹幾種不同的方法來修復404錯誤連結,具體取決於它是在網站範圍內發生還是在特定內容上發生。

更新WordPress網站的固定連結

如果您嘗試訪問內容時遇到站點範圍內的404錯誤,則最可能的原因是固定連結。解決此問題的最簡單方法是通過WordPress儀表板更新您的固定連結設定。所需要做的就是轉到“設定”→“固定連結”,然後單擊“儲存更改”。

save-permalinks

重新生成WordPress中的永固定連結

但如果你使用自定義連結,需要讓WordPress實現偽靜態URL,則可能需要對伺服器進行URL重寫規則配置,具體操作如下:

如果你使用的是LNMP環境,一般情況下你在配置host的時候,若已經選擇WordPress作為網站程式,理論上lnmp已經幫你配置好了網站偽靜態。

但如果你在使用/%post_id%.html格式作為固定連結時發生連結無法訪問,可以嘗試手動配置Nginx或者Apache,配置參考如下:

Nginx偽靜態配置

一般目錄為/usr/local/nginx/…,找到網站的conf或者rewrite規則的conf,新增以下程式碼行:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
location /
{
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location /
{
try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

Apache偽靜態配置

一般目錄為/www/wwwroot/www.yourdomain.com,修改.htaccess檔案新增以下程式碼行:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

為移動或重新命名的內容設定301重定向

如果您在特定內容上遇到404錯誤,則可能是您遇到以下問題:

  • 更改了該內容的URL地址。
  • 手動移動該內容,例如刪除現有文章並將其貼上到新文章中。

解決此問題的最佳方法是將嘗試訪問舊連結的訪客自動重定向到新連結。這對於使用者體驗或者SEO優化,都積極的。如果在不新增重定向的情況下移動頁面內容或重新命名頁面URL地址名稱,則會丟失指向該頁面的反向連結的所有域名帶來的權重。

WordPress預設情況下將嘗試重定向更改或者移動的內容。但這並不總是有效,不建議依賴WordPress來實現此功能。但是不用擔心,有幾種簡單的方法可以在WordPress中設定重定向:

(1)使用外掛設定301重定向

首先,您可以使用前面提到的Redirection重定向外掛來實現URL重定向(我們也準備在Smart SEO Tool外掛加入URL重定向功能,以便於做WP的SEO優化)。安裝並啟用外掛後,轉到工具→Redirection,然後在“Source URL”框中輸入404報錯頁面URL,並在“Target URL”框中輸入內容的新連結:

wordpress-404-error-page-4

使用Redirection外掛設定重定向

(2)寶塔面板新增301重定向

如果您使用寶塔面板進行伺服器管理,則通過寶塔面板建立重定向規則實現301重定向跳轉來解決404錯誤頁面問題(前提是有新的內容可以替代舊連結頁面內容)。

進入寶塔面板,點選左側“網站”選單在網站列表中選擇你需要設定重定向規則的網站,點選“設定”,點選介面左側選單“重定向(測試版)”,選擇“新增重定向”:

  • 重定向型別選擇為路徑;
  • 重定向方式選擇301;
  • 重定向路徑-即源URL,即移動或刪除的URL;
  • 目標URL-即舊內容的新URL連結。

寶塔面板301跳轉重定向設定

寶塔面板301跳轉重定向設定

(3)Nginx或者Apache配置301重定向

當然,如果你對外掛設定301重定向,又或者不使用寶塔面板管理伺服器,你還可以直接修改Nginx或者APache配置檔案來實現301重定向跳轉。

如果你的伺服器使用的是Nginx,則可以參考下面的程式碼來編寫301重定向跳轉:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#Source-URL指源連結,舊連結;Target-URL指目標連結。
#請注意替換你的URL地址。
#若存在多個需要301重定向連結,則新增多條類似規則即可。
#若301重定向連結存在規律,可以嘗試通過表示式來設定301重定向,此處不展開說明。
rewrite ^Source-URL(.*) Target-URL$1 permanent;
#Source-URL指源連結,舊連結;Target-URL指目標連結。 #請注意替換你的URL地址。 #若存在多個需要301重定向連結,則新增多條類似規則即可。 #若301重定向連結存在規律,可以嘗試通過表示式來設定301重定向,此處不展開說明。 rewrite ^Source-URL(.*) Target-URL$1 permanent;
#Source-URL指源連結,舊連結;Target-URL指目標連結。
#請注意替換你的URL地址。
#若存在多個需要301重定向連結,則新增多條類似規則即可。
#若301重定向連結存在規律,可以嘗試通過表示式來設定301重定向,此處不展開說明。
rewrite ^Source-URL(.*) Target-URL$1 permanent;

如果你的伺服器使用的是Apache,則可以參考下面的程式碼編寫301重定向跳轉:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#Source-URL指源連結,舊連結;Target-URL指目標連結。
#請注意替換你的URL地址。
#若存在多個需要301重定向連結,則新增多條RewriteRule規則即可。
#若301重定向連結存在規律,可以嘗試通過表示式來設定301重定向,此處不展開說明。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^Source-URL(.*)$ /Target-URL$1 [R=301,L]
</IfModule>
#Source-URL指源連結,舊連結;Target-URL指目標連結。 #請注意替換你的URL地址。 #若存在多個需要301重定向連結,則新增多條RewriteRule規則即可。 #若301重定向連結存在規律,可以嘗試通過表示式來設定301重定向,此處不展開說明。 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^Source-URL(.*)$ /Target-URL$1 [R=301,L] </IfModule>
#Source-URL指源連結,舊連結;Target-URL指目標連結。 
#請注意替換你的URL地址。 
#若存在多個需要301重定向連結,則新增多條RewriteRule規則即可。 
#若301重定向連結存在規律,可以嘗試通過表示式來設定301重定向,此處不展開說明。 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^Source-URL(.*)$ /Target-URL$1 [R=301,L]
</IfModule>

提交404資料刪除

但如果這些404死鏈資料,都沒有新的內容可代替怎麼辦?

是的,如果檢測到的404死鏈資料均沒有可代替的內容,則不需要考慮301重定向跳轉規則設定,而應該將這些死鏈資料提交給百度搜尋引擎,告知搜尋引擎刪除,以免這些舊資料影響到網站的評級。

如果你有安裝百度推送管理外掛和蜘蛛分析外掛,則可以快速實現404死鏈資料列表下載,然後提交至百度搜尋資源平臺,具體如下:

Step 1 -安裝並啟用Spider Analyser蜘蛛分析外掛,外掛就會實時檢測搜尋引擎蜘蛛爬取網站頁面行為,並發現統計所有狀態碼的URL地址(注意,應該保持該外掛啟用以統計URL狀態碼資料)。

搜尋引擎蜘蛛日誌

搜尋引擎蜘蛛日誌

Step 2 -下載並安裝啟用百度推送管理外掛BSL,通過設定-百度搜尋推送管理,在外掛介面右側選單“外掛設定-死鏈檢測設定”,點選“啟用”。

Step 3 -點選外掛設定介面的右側選單“資料統計-死鏈提交清單”,進入網站死鏈資料列表,即可檢視當前已經發現的所有死鏈資料(404報錯URL地址)。

若確保當前列表的所有死鏈資料均無可替代的URL地址,即可點選生成列表

 

Step 4 -然後登入你的百度搜尋資源平臺,在“搜尋服務-站點資源-死鏈提交”,將複製好的死鏈檔案地址貼上到下方截圖中死鏈檔案地址,更新週期可以根據自己的實際情況來填寫,建議為7天、14天或者30天,最後點選“提交”即可。

溫馨提示:提交死鏈檔案地址前,請務必對404死鏈進行重新整理狀態,以確保URL的最新狀態碼。此外,儘可能在提交死鏈前,對死鏈進行301跳轉處理(如有可代替的URL地址)。

百度搜尋資源平臺死鏈提交

百度搜尋資源平臺死鏈提交

小結

網站404死鏈無論是對訪客還是搜尋引擎蜘蛛均不好有,站長應該及時對此類連結進行處理。

針對404死鏈的處理步驟應該是,先使用蜘蛛分析或者重定向外掛,站長工具等檢測查詢到這類連結;然後儘可能通過301重定向死鏈(如果能夠有替代的頁面);最後才是去百度搜尋資源平臺提交死鏈檔案地址。

為了保證網站的搜尋引擎評級,提升搜尋引擎蜘蛛爬取的效率及積極性,確保站點死鏈得到正確有效的處理。

評論留言

脣槍舌劍 (4)

  • 蓝鸢梦想的頭像

    蓝鸢梦想

    2021.11.18 10:11

    请问:如果是数据丢失导致文章重新发布,之前的404变成了200,插件是否帮忙进行检测并自动删除已记录在404-list.txt文件里的地址?

    回覆
    • WBOLT_COM

      2021.11.18 11:11

      不会,404只是依据爬虫的数据。如果恢复正常,则无需理会此404,过段时间就会没有了。
      或者你可以点击忽略来跳过此404.

  • 主题镇的頭像

    主题镇

    2021.5.12 20:05

    提交死链提示:Xml解析失败该如何解决。
    使用的是:选项1 – 百度搜索推送管理插件+蜘蛛分析插件

    回覆
    • wbolt的頭像

      wbolt

      2021.5.13 14:05

      提交工单看看报错截图是什么?另外是否用海外服务器。