如何修復在 WordPress 當中「503 Service Unavailable Error」的問題?

當我們在使用 WordPress 的時候,有時不小心會遇到網站顯示「503 Service Unavailable Error」的錯誤,接著無法正常瀏覽網站了。在本篇教學當中,我們將告訴你「503 Service Unavailable Error」的幾個主要原因,同時也提供你幾個簡單的方式來快速排除這個問題,讓你的網站能夠回復正常。

想像一下:你早上醒來,打開瀏覽器準備查看自己的WordPress 網站,結果畫面上出現了一串令人頭痛的白色文字:「503 Service Unavailable」。網站完全無法開啟,訪客進不來,你也進不去後台,那種焦慮感大概只有親身經歷過的人才能體會。

503 Service Unavailable Error 是 WordPress 站長最常遇到的 HTTP 錯誤之一,跟它同一個家族的還有 500 Internal Server Error502 Bad Gateway Error 以及 504 Gateway Timeout Error。雖然這些錯誤看起來很嚇人,但其實多數情況下都能自己修復,不需要花錢請工程師幫忙。

這篇文章會從最基本的概念開始,帶你搞懂 503 Error 到底是什麼、為什麼會發生,然後一步一步教你怎麼排查和解決。不管是外掛衝突、主機資源不足,還是 CDN 設定問題,我們都會完整涵蓋。我們還會在文章末段提供預防措施,幫助你降低未來再次遇到 503 的機率。

什麼是 503 Service Unavailable Error?

503 Service Unavailable 是一種 HTTP 狀態碼,屬於 5xx 伺服器錯誤家族的成員。它的意思是:伺服器目前暫時無法處理你的請求。注意「暫時」這兩個字,503 並不是說你的網站掛了,而是伺服器此刻忙不過來或者在維護中。根據 HTTP 規範的定義,503 通常會伴隨一個 Retry-After 標頭,告訴客戶端多久之後可以再次嘗試。不過在 WordPress 的實際場景中,大部分主機並不會正確回傳這個標頭,所以你通常只會看到一個空白的錯誤頁面。

實際上,當你的瀏覽器向 WordPress 網站發出請求時,這個請求會經過一連串的處理流程:CDN → 反向代理 → PHP 處理程序 → 資料庫查詢。任何一個環節卡住,都可能讓前端收到 503 的回應。這也是為什麼 503 Error 的排查需要從多個角度切入。如果你使用的是 Cloudways 這類代管主機,控制台通常有內建的效能監控工具,可以幫你快速定位是哪個環節出了問題。

你可能會在瀏覽器頁面上看到不同的 503 錯誤訊息,常見的包括:「Service Unavailable」、「Backend fetch failed」、「Error 503 Service Temporarily Unavailable」、「HTTP Error 503」等等。雖然文字不同,但背後代表的意義是一樣的,都是伺服器暫時無法提供服務。

503 與其他 5xx 錯誤有什麼不同?

在開始修復之前,先確認你遇到的確實是 503 而不是其他 5xx 錯誤,因為不同錯誤的解決方向差很多。下面這個表格能幫你快速分辨:

錯誤代碼名稱代表意義常見原因
500Internal Server Error伺服器內部程式發生未預期的錯誤PHP 程式碼錯誤、.htaccess 損壞、權限設定不當
502Bad Gateway閘道或代理伺服器收到無效回應PHP-FPM 停止運作、Nginx 與 PHP 之間通訊中斷
503Service Unavailable伺服器暫時無法處理請求外掛衝突、PHP 記憶體耗盡、伺服器過載、維護中
504Gateway Timeout閘道等待上游伺服器回應超時PHP 執行時間過長、資料庫查詢過慢、主機資源嚴重不足

簡單來說,500 是「伺服器程式出錯」、502 是「代理伺服器溝通失敗」、503 是「伺服器忙不過來」、504 是「等太久放棄了」。如果你確認是 503,那就繼續往下看修復方法。

WordPress 出現 503 Error 的 7 大常見原因

要有效修復 503 Error,得先知道可能的原因有哪些。根據多年處理 WordPress 問題的經驗,以下 7 個是最常見的兇手:

  • PHP 記憶體耗盡(最常見):WordPress 的 PHP 處理程序需要記憶體來執行,當外掛或主題吃掉太多記憶體,PHP 就無法正常回應,伺服器便返回 503。這在使用便宜虛擬主機時特別容易發生。
  • 外掛衝突或外掛品質不佳:安裝過多外掛,或是外掛之間相衝突,會導致 PHP 處理程序崩潰。有些免費外掛的程式碼品質很差,一更新就出問題。
  • 佈景主題的 PHP 程式碼錯誤:某些付費主題(特別是那些功能超多、架構複雜的)在 functions.php 裡面塞了太多東西,一不小心就超出伺服器負荷。
  • 伺服器資源不足:CPU 使用率飆高、RAM 佔滿、同時連線數超過限制,這些都可能讓主機回傳 503。流量突然暴增的時候最容易遇到。
  • CDN 或防火牆設定問題:Cloudflare 之類的 CDN 服務如果開啟了 Under Attack 模式,或者 WAF 規則太嚴格,也會對正常訪客回傳 503。
  • .htaccess 檔案損壞:這個隱藏的設定檔一旦被改壞(可能是外掛自動修改時出錯),伺服器就無法正確處理請求。
  • 主機商進行維護或遭受攻擊:有時候真的不是你的問題,而是主機商正在維護伺服器,或者伺服器正在遭受 DDoS 攻擊。

搞懂這些原因之後,接下來就按照順序一個一個排查。通常從最簡單、最可能的原因開始檢查,效率最高。以下我們準備了 6 個修復方法,按照建議的排查順序排列。你可以從方法一開始嘗試,大多數人在前兩個方法就能解決問題。

修復方法一:停用所有 WordPress 外掛

外掛衝突是 503 Error 最常見的原因,沒有之一。所以在做任何複雜操作之前,先停用所有外掛來測試。這一步能幫你快速確認問題是不是出在外掛身上。

情況 A:你還能進 WordPress 後台

如果你的 WordPress 後台還能正常開啟,那就簡單了。進入「外掛 → 安裝的外掛」頁面,勾選所有外掛,然後在大量操作選單中選擇「停用」,按下套用。接著重新整理你的網站首頁,看看 503 是不是消失了。如果你連後台都進不去,也別擔心,底下會教你透過 FTP 的方式處理。

情況 B:連 WordPress 後台都進不去

這是大多數人遇到的情況,網站掛了,後台也進不去。別慌,你還是可以透過 FTP 或主機的檔案管理員來操作。如果你用 Bluehost 或 SiteGround 這類主機,控制台裡面通常都內建檔案管理員。或者你也可以用 FileZilla 這類 FTP 工具連線到主機。

連線到主機之後,找到 WordPress 的安裝目錄,進入 wp-content 資料夾,你會看到一個叫做 plugins 的資料夾:

使用 FileZilla 登入主機,修改 Plugins 資料夾名稱,即可停用所有外掛。Pin
使用 FileZilla 登入主機,修改 Plugins 資料夾名稱,即可停用所有外掛。

plugins 資料夾重新命名為 plugins-old。這個動作的原理很簡單:WordPress 找不到 plugins 資料夾,就會自動停用所有外掛。這比一個一個停用快得多,而且完全安全,改回來之後外掛就會恢復原狀。

重新命名之後,重新整理你的網站。如果 503 消失了,恭喜你,問題就是某個外掛造成的。接下來把資料夾名稱改回 plugins,然後進入 WordPress 後台,一個一個重新啟用外掛。每啟用一個就重新整理一次網站,直到 503 再次出現,那個讓 503 重現的外掛,就是罪魁禍首。

找到問題外掛之後,你可以選擇移除它、找替代方案,或者聯繫外掛開發者回報問題。如果你對 WordPress 外掛的選擇有疑問,可以參考我們整理的推薦清單。有些外掛在啟用的瞬間就會吃掉大量記憶體(特別是頁面建構器類的外掛),這類外掛最好搭配夠大的主機方案一起使用。

修復方法二:切換至 WordPress 預設佈景主題

如果停用所有外掛之後 503 依然存在,那問題很可能出在你的佈景主題上。有些主題(尤其是那種功能超多的多用途主題)在 functions.php 裡面塞了大量 PHP 程式碼,佔用太多伺服器資源,就會觸發 503。這在那些號稱「一個主題搞定所有需求」的產品上特別常見,因為它們通常會載入大量的 CSS、JavaScript 和 PHP 函式,不管你有沒有用到那些功能。挑選一個精簡、只做一件事的主題,反而能讓你的網站跑得更穩。

切換主題的原理跟停用外掛一樣:把目前使用的主題資料夾重新命名,WordPress 找不到它,就會自動切換到預設主題(例如 Twenty Twenty-Five)。如果你之前有用過 WebP 圖片格式相關的外掛,也要注意這些外掛可能跟某些主題不相容。

操作方式一樣是透過 FTP 或主機檔案管理員。連線到主機後,進入 wp-content/themes/ 資料夾,找到你目前使用的主題資料夾:

使用 FileZilla 登入主機,找到 Themes 資料夾,重新命名當前主題的資料夾名稱,即可自動切換回 WordPress 預設主題。Pin
使用 FileZilla 登入主機,找到 Themes 資料夾,重新命名當前主題的資料夾名稱,即可自動切換回 WordPress 預設主題。

把你的主題資料夾重新命名(例如從 flavor 改成 flavor-old),然後重新整理網站。如果 503 消失了,就確認是主題的問題。你可以考慮換一個更輕量的主題,或者聯繫主題開發者處理。如果你還不知道該選什麼主題,可以參考我們整理的 熱門 WordPress 主題推薦挑選主題的實用建議

萬一你的 themes 資料夾裡面沒有 WordPress 官方預設主題(這種情況很少見但確實會發生),你可以到 WordPress.org 下載一個預設主題,手動上傳到 themes 資料夾即可。

修復方法三:增加 PHP 記憶體限制

PHP 記憶體耗盡是 503 Error 的另一個超常見原因,特別是當你的網站裝了很多外掛、使用功能豐富的佈景主題,或者流量突然變大的時候。WordPress 預設的 PHP 記憶體限制只有 32MB 或 64MB,對現代網站來說經常不夠用。如果你曾經遇到過資料庫連線錯誤,那對這類資源限制問題應該不陌生。

增加記憶體限制有三個方式,從最簡單的開始:

方式 1:修改 wp-config.php

透過 FTP 或主機檔案管理員,找到 WordPress 根目錄的 wp-config.php 檔案,在 /* That's all, stop editing! Happy publishing. */ 這行文字的上方,加入以下程式碼:

define('WP_MEMORY_LIMIT', '256M');

存檔後重新整理網站,看看 503 是否解決。這個方法是最安全的,因為你只是修改了一個設定值,不會動到任何檔案結構或資料庫。如果你的主機方案本身已經提供了 256MB 以上的記憶體,但你還是頻繁遇到 503,那可能是某個外掛有記憶體洩漏(Memory Leak)的問題,需要透過排查外掛來找出是哪一個。

方式 2:修改 php.ini 或 .user.ini

如果你的主機允許自訂 php.ini(大部分共用主機不允許,但 Kinsta 或 VPS 主機可以),在 php.ini 中加入:memory_limit = 256M。如果是共用主機,試試看在根目錄建立一個 .user.ini 檔案,寫入同樣的設定。

方式 3:升級主機方案

如果已經把記憶體調到最大(有些共用主機有硬性上限,比如 128MB 或 256MB),但問題還是頻繁發生,那就代表你的網站規模已經超出目前主機的負荷能力了。這時候升級到更好的主機是最根本的解決方案。

我們建議考慮 Bluehost(WordPress 官方推薦,價格合理)或 Kinsta(專業級 WordPress 代管主機,效能強大)。如果你的預算有限,A2 Hosting 和 Hostinger 也是不錯的選擇。完整的比較可以參考我們的 WordPress 虛擬主機推薦

修復方法四:檢查 CDN 與防火牆設定

如果你有使用 CDN 服務(像是 Cloudflare),503 Error 有時候不是你的 WordPress 網站有問題,而是 CDN 那邊的設定搞的鬼。這種情況很容易被忽略,因為大部分人只會檢查 WordPress 本身。

幾個常見的 CDN 相關 503 原因:

  • Under Attack 模式開啟:Cloudflare 的 Under Attack 模式會對所有訪客顯示 5 秒等待頁面,如果 JavaScript 驗證失敗就會回傳 503。建議檢查 Cloudflare 控制台,確認安全等級沒有設太高。
  • 防火牆規則過於嚴格:WAF(Web Application Firewall)如果設定不當,會把正常的請求當成攻擊來擋。你可以暫時關閉 WAF 來測試是不是這個原因。
  • SSL/TLS 設定衝突:CDN 和你的主機之間的 SSL 憑證設定如果不一致(例如 CDN 用 Full Strict 但主機沒有有效的 SSL 憑證),也會觸發 503。
  • Origin Server 回應逾時:CDN 等待你的主機回應超過一定時間(通常是 100 秒),就會直接回傳 503。

測試方式很簡單:暫時停用 CDN(Cloudflare 可以切換到 Development Mode),然後直接用主機 IP 或繞過 CDN 的方式訪問網站。如果繞過 CDN 之後網站正常,那就是 CDN 設定的問題。你可能需要調整 Cloudflare TurnstileCloudflare DNS 的相關設定。Cloudflare 的免費方案已經涵蓋了大部分需要的功能,一般的小型網站不太需要升級到付費方案。但如果你的網站流量很大,Pro 方案提供的進階 WAF 規則可能會有幫助。

有關 WordPress 網站安全的設定,我們也有更詳細的說明可以參考。如果你擔心網站遭受攻擊,也可以看看我們整理的 8 個最佳 WordPress 安全做法

修復方法五:修復 .htaccess 檔案

.htaccess 是 Apache 伺服器的重要設定檔,負責處理網址路由、重新導向、安全設定等等。這個檔案一旦損壞,伺服器就無法正確處理請求,可能回傳各種錯誤,包括 503。損壞的原因通常是外掛自動修改 .htaccess 時寫入了錯誤的規則,或者手動編輯時不小心打錯字。如果你有用到 HTTP 狀態碼檢查工具,可以先用它確認是不是真的回傳 503,而不是其他轉址問題。

修復步驟如下:

  1. 透過 FTP 或主機檔案管理員,進入 WordPress 的根目錄
  2. 找到 .htaccess 檔案(它是隱藏檔,可能需要開啟顯示隱藏檔案的選項)
  3. 把它重新命名為 .htaccess-old(備份原檔)
  4. 重新整理你的網站,看看 503 是否消失
  5. 如果問題解決了,到 WordPress 後台的「設定 → 固定連結」頁面,直接按「儲存變更」,這個動作會讓 WordPress 自動重新產生一個乾淨的 .htaccess 檔案

如果你更換過 自訂網域 或調整過 網域設定,.htaccess 裡面可能殘留舊的規則,也需要清理。修復完 .htaccess 之後,通常一併建議做一次 網站速度最佳化,確保整體效能沒有受到影響。如果你想知道更多關於提升 WordPress 速度的小技巧,我們也有專文介紹。

修復方法六:聯繫主機商與伺服器資源檢查

如果你已經試過停用外掛、切換主題、增加記憶體、檢查 CDN、修復 .htaccess,503 Error 還是陰魂不散,那問題幾乎可以確定出在主機端。這時候就需要主機商的協助了。不要覺得不好意思聯繫客服,這本來就是主機商應該提供的服務之一。好的主機商(特別是那些專注於 WordPress 的代管主機)甚至會主動偵測到問題並在你回報之前就先處理好。

在聯繫主機商之前,你可以先自己做一些檢查:

  • 查看資源使用狀況:大部分主機控制台(cPanel、Plesk 或自建控制台)都有資源監控功能。檢查 CPU 使用率、RAM 佔用、Entry Processes(同時連線數)是否經常飆到上限。
  • 查看錯誤日誌:主機的 error log 能告訴你 PHP 到底在哪裡出錯。常見的日誌路徑是 /var/log/apache2/error.log 或 WordPress 根目錄下的 debug.log
  • 檢查是否有自動備份在執行:有些主機會在特定時間自動執行備份,備份過程中會大量消耗伺服器資源,可能導致 503。

聯繫主機商時,建議把你的排查過程告訴客服(已經停用外掛、切換主題、增加記憶體等等),這樣能幫他們更快定位問題。優質的主機商通常能在幾分鐘到幾小時內幫你解決。有些主機(例如 戰國策WPX Hosting)提供即時線上客服,回應速度更快。

如果你的主機商回覆「你的方案資源不夠用」或者處理速度很慢,那可能該考慮換一家了。Bluehost 提供 24/7 客服而且價格親民,Kinsta 則是專業級 WordPress 代管主機,技術支援非常強。你也可以參考我們整理的 WordPress 主機推薦懶人包,找到最適合你的方案。A2 Hosting 和 SiteGround 也都在推薦名單當中。

如何預防 503 Service Unavailable Error 再次發生

修復一次 503 Error 不難,但如果每個月都要修一次,那就該好好思考預防措施了。以下是幾個經過實戰驗證的建議,幫你把 503 發生的機率壓到最低:

選擇品質穩定的主機商

這是最根本的預防措施。一個好的主機能幫你擋掉大部分問題,自動擴展資源、即時監控異常、快速回報處理。Bluehost 是 WordPress 官方推薦的主機商,入門方案每月價格合理;如果你追求更高品質,Kinsta 採用 Google Cloud Platform 基礎架構,效能和穩定性都很有保障。完整的比較可以看 WordPress 主機推薦。

控制外掛數量和品質

建議把外掛數量控制在 15-20 個以內,只保留真正需要的。移除長期不用的外掛(停用不等於移除,停用的外掛佔用的空間和潛在風險仍然存在)。選擇外掛時,優先考慮安裝量大、評價好、定期更新的。我們有整理過 WordPress SEO 外掛推薦,可以當作參考。如果你是從 Blogger 轉過來的,可能還不熟悉 WordPress 外掛的生態系,建議先從最基本的安全和 SEO 外掛開始裝起。

啟用快取與 CDN

快取能大幅減少伺服器的 PHP 處理負擔。你可以安裝 WordPress 快取外掛來啟用頁面快取、瀏覽器快取和物件快取。CDN 則能把靜態資源(圖片、CSS、JS)分散到全球各地的節點,減少主機的流量壓力。Cloudflare 提供免費方案,設定也不難,非常推薦。

定期備份

雖然備份不能預防 503,但能在問題無法修復時快速恢復網站。UpdraftPlus 是最受歡迎的 WordPress 備份外掛,支援自動排程備份和雲端儲存。建議至少每週備份一次,重大更新之前手動備份一次。你也可以考慮使用 RunCloud 這類主機管理工具,裡面通常也包含自動備份功能。

監控網站正常運作時間

你不可能 24 小時盯著自己的網站,所以需要一個自動監控工具。很多主機商(像是 Kinsta)都內建了正常運作時間監控功能。你也可以使用外部服務,搭配網站速度測試工具來定期檢查網站的回應速度和可用性。像是 GiftofSpeed 這類工具可以讓你看到網站每個資源的載入時間,幫你找出拖慢速度的元兇。

定期更新 WordPress 核心、外掛和主題

過舊的 WordPress 版本、外掛或主題可能包含已知的效能問題或安全漏洞,這些都可能間接導致 503 Error。建議開啟自動更新功能,至少讓次要版本(小版本號)自動更新。但更新之前記得先備份!如果你遇到 WordPress 更新相關的錯誤,我們也有對應的解決教學。有一點要特別注意:如果你發現更新後網站反而出現 503,可以先回溯到之前的備份版本,等外掛開發者修復相容性問題之後再更新。好的備份外掛(像是前面提到的 UpdraftPlus)能讓你在幾分鐘內完成回溯,不用擔心更新翻車。

503 Service Unavailable Error 常見問題(FAQ)

503 Error 會自動恢復嗎?

有可能。如果 503 是因為伺服器暫時過載(例如流量突然暴增)或主機商正在維護,等一段時間(通常幾分鐘到幾小時)可能就會自動恢復。但如果 503 是外掛衝突或程式碼錯誤造成的,就不會自己好,需要手動修復。你可以每隔 10 到 15 分鐘重新整理一次頁面,如果超過一個小時都沒恢復,那就開始按照上面的修復方法排查。建議先用 網站速度測試工具確認網站目前是否已恢復正常。

503 和 502 Error 有什麼差別?

502 Bad Gateway 表示代理伺服器(例如 Nginx)從上游伺服器(PHP-FPM)收到了無效的回應,通常是 PHP 處理程序完全停止了。502 Bad Gateway 的修復方式跟 503 很像,但 502 更傾向是 PHP-FPM 崩潰的問題。而 503 Service Unavailable 則是伺服器還在運作,但暫時無法處理請求。

為什麼只有首頁出現 503,後台正常?

這通常是某個只在首頁載入的外掛或主題功能造成的。比如首頁滑動圖片外掛、快取外掛的首頁快取設定、或者首頁模板中的特定 PHP 程式碼出了問題。你可以針對首頁相關的外掛逐一排查。如果你有使用電子報訂閱外掛Instagram 自動發布外掛,也要檢查它們是否有首頁專用的 widget 或 shortcode。還有一種可能:如果你的網站首頁有嵌入大量外部資源(社群媒體的動態時報、第三方廣告碼等等),這些也可能拖慢 PHP 的處理速度,間接觸發 503。

503 Error 會影響 SEO 嗎?

短期(幾小時)的 503 對 SEO 影響不大,Google 搜尋引擎能理解伺服器暫時無法回應。但如果 503 持續好幾天,Google 可能會把你的網頁從索引中移除。Google 官方建議:如果是暫時性的,回傳 503 是正確的;如果預計會停機超過一天,最好顯示一個自訂的維護頁面。想了解更多可以參考我們的 SEO 基礎教學

免費主機特別容易出現 503 嗎?

是的,免費或超低價的共用主機因為資源嚴重受限(CPU、RAM、並發連線數都很低),再加上一台實體伺服器上塞了幾百個網站,任何一個網站流量暴增都可能拖垮同一台伺服器上的所有網站。投資一個品質好的主機(像是 Bluehost 或 Kinsta)是避免這類問題最有效的方式。完整的主機比較可以看 WordPress 主機推薦。

如何判斷 503 是外掛還是主機造成的?

最直接的方式:停用所有外掛。如果停用後恢復正常,就是外掛的問題。如果停用所有外掛並切換到預設主題後仍然 503,那大概率是主機端的問題,需要聯繫主機商協助。可以同時參考我們的 500 Internal Server Error 和 504 Gateway Timeout Error 修復教學,因為排查邏輯很相似。

升級主機方案能解決 503 問題嗎?

如果你的 503 是因為伺服器資源不足造成的,升級方案確實能從根本解決問題。從共用主機升級到 VPS 或代管 WordPress 主機(像是 Kinsta),能獲得更多 CPU、RAM 和專屬資源,503 發生的機率會大幅降低。但如果 503 是外掛衝突或程式碼錯誤造成的,升級主機幫助有限,還是得從排查外掛和主題下手。

講了這麼多,歸根究柢,503 Service Unavailable Error 雖然看起來很嚇人,但只要按照上面的步驟逐一排查,大部分情況都能自己搞定。關鍵是不要慌,從最簡單的「停用外掛」開始,一步一步排除可能的原因。如果真的修不好,也不要硬撐,趕快找主機商幫忙或者考慮換一家更穩定的主機,才是最務實的做法。記住,一個穩定的主機是你對抗 503 Error 最好的防線,與其每次出了問題才來補救,不如一開始就選擇一個值得信賴的主機商。如果你對 Bluehost 主機的安裝教學有興趣,我們也有完整的指南可以參考。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 682

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


目錄
Share to...