WordPress 出現 504 Gateway Timeout Error 解決方法?

你的 WordPress 網站發生 504 Gateway Timeout Error 的錯誤卻不知道該如何解決嗎?要知道,當你的網站出現 504 Gateway Timeout Error 時,表示你的使用者目前無法正常的訪問與瀏覽你的網站。如果問題沒有確實被解決,那麼你的網站就很有可能會一直呈現無法訪問的狀態。在今天的教學當中,將會帶你了解 504 Gateway Timeout Error 發生的原因,以及教你該如何解決 504 Gateway Timeout Error 的錯誤問題。

504 Gateway Timeout Error 表示你的 WordPress 主機回應太慢,前面的閘道伺服器等不到資料就放棄了。以下 8 種修復方法從簡單到進階,多數情況 30 分鐘內能恢復網站。

504 是 HTTP 狀態碼,意思是「閘道逾時」。瀏覽器發出的請求會先經過閘道(反向代理或 CDN),再轉到後端 WordPress 主機。如果主機沒有在規定時間內回傳任何資料,閘道就會回報 504。

你可能看到的顯示方式包括:504 Gateway Timeout、HTTP 504、504 ERROR、Gateway Timeout (504)、HTTP Error 504: Gateway Timeout。不管哪一種,核心含義都一樣:閘道等不到後端伺服器的回應。

目錄

504 和其他 5xx 錯誤有什麼不同?

5xx 系列錯誤都代表伺服器端出了問題,但每一種的成因和修復方向不同。搞清楚你遇到的是哪一種,才能對症下藥。

錯誤碼 名稱 核心問題 常見原因
500 Internal Server Error 伺服器內部程式碼出錯 PHP 語法錯誤、.htaccess 損壞、檔案權限問題
502 Bad Gateway 閘道收到上游的無效回應 PHP-FPM 當機、Nginx 設定錯誤
503 Service Unavailable 伺服器暫時無法處理請求 伺服器過載、維護模式、資源耗盡
504 Gateway Timeout 閘道等不到上游回應 後端處理太慢、PHP 逾時、資料庫卡住

簡單說:500 是「程式壞了」、502 是「上游回應無效」、503 是「伺服器太忙暫停服務」、504 是「上游完全沒回應,等到逾時」。如果你的網站也遇到其他錯誤,可以分別參考我們的 500 Internal Server Error 修復教學502 Bad Gateway Error 解決方法503 Service Unavailable Error 修復指南

為什麼你的 WordPress 網站會出現 504?

504 的根本原因是「後端伺服器回應太慢」。但「太慢」的背後有很多可能,大致可分為三類。

伺服器端原因

  • 主機 CPU 或記憶體資源不足(尤其在共用主機上,流量一高就容易超時)
  • PHP 處理時間超過 Nginx 或 Apache 的等待上限
  • 資料庫查詢卡住,例如文章修訂版本累積太多、資料表未最佳化
  • 伺服器臨時過載或正在進行維護

WordPress 本身的原因

  • 外掛衝突或某個外掛消耗過多資源(常見於 SEO、快取、安全掃描類外掛)
  • 主題函式寫法效率差,首頁載入時執行大量資料庫查詢
  • WP-Cron 任務堆積,每次頁面請求都觸發大量排程工作
  • WordPress 核心檔案損壞或版本不相容

網路與客戶端原因

  • 你使用的 VPN 或代理伺服器回應太慢
  • DNS 設定錯誤,請求繞遠路或指向錯誤的伺服器
  • CDN 服務(如 Cloudflare)的代理層設定不當

如何快速診斷 504 錯誤的來源

修復前先判斷問題出在哪一層,能省下大量時間。以下是四個診斷步驟。

確認是全域問題還是只有你無法訪問

先用 Down For Everyone Or Just MeHTTPStatus 檢查網站是否真的掛了。如果這些工具顯示網站正常,那問題很可能在你的網路環境(VPN、DNS、瀏覽器快取)。

檢查瀏覽器開發者工具

按 F12 開啟開發者工具,切換到 Network(網路)分頁,重新整理頁面。看 504 是出現在第一個文件請求,還是某個特定的子資源。如果只有某個 API 端點 504,問題範圍就比整站掛掉小得多。

檢查伺服器錯誤日誌

登入主機控制台(cPanel、Plesk 或 SSH),查看 PHP 錯誤日誌和 Web 伺服器錯誤日誌。日誌裡通常會告訴你是哪個 PHP 檔案或哪個程序超時。這是定位問題最直接的方式。如果你使用 SiteGroundKinsta,他們的管理介面都有內建日誌查詢功能。你也可以用 Site Health 工具 檢查 WordPress 整體健康狀態。

判斷問題發生的層級

如果 504 頁面有 Cloudflare 的品牌標誌,問題在 Cloudflare 與你的主機之間。如果 504 頁面是主機商的預設樣式,問題在主機端。如果只有你在特定網路環境下看到 504,問題在你本地的網路設定。

修復方法一:重新載入頁面與基本排查

聽起來很基本,但很多 504 只是主機短暫的資源波動。等待 1 至 2 分鐘後重新整理頁面(Ctrl+F5 或 Cmd+Shift+R 強制重新整理),如果恢復了就不用再處理。

同時嘗試:

  • 用瀏覽器的無痕模式開啟網站,排除快取和擴充功能的干擾
  • 用另一個裝置或另一個網路(例如手機 4G/5G)測試
  • 清除瀏覽器快取和 Cookie

如果重新整理後恢復,但過一陣子又 504,表示主機資源間歇性不足,需要繼續往下面的方法排查。像 DreamHostFastComet 這類主機商在高流量時段的資源配置通常比較充裕,遇到間歇性 504 的機率較低。

修復方法二:關閉 VPN 與代理伺服器

如果你有使用 VPN 或公司代理伺服器,先暫時關閉再測試。VPN 和代理伺服器會在瀏覽器與主機之間多加一層轉發,任何一層回應慢都可能造成 504。關閉後如果網站正常,表示問題不在主機,而在你的網路環境。

修復方法三:變更 DNS 伺服器設定

DNS 設定錯誤會讓你的請求繞到錯誤的伺服器或經過不必要的轉址,導致回應時間超過閘道的等待上限。切換到穩定的公共 DNS 通常能排除這類問題。

Windows 變更 DNS 教學

  1. 開啟「設定」→「網路和網際網路」→「變更介面卡選項」
  2. 對你的網路連線按右鍵,選「內容」
  3. 選擇「網際網路通訊協定第 4 版 (TCP/IPv4)」,按「內容」
  4. 選「使用下列 DNS 伺服器位址」,輸入你想要的 DNS

Mac 變更 DNS 教學

  1. 開啟「系統設定」→「網路」
  2. 選擇你正在使用的連線,按「詳細資訊」
  3. 切換到「DNS」分頁,點「+」新增 DNS 伺服器

推薦的 DNS 伺服器

如果你對 網域名稱與 DNS 的運作原理有興趣,可以參考我們之前的介紹。

修復方法四:停用 WordPress 外掛與切換主題

外掛衝突是 504 的常見原因之一。一個寫得不好的外掛可能佔住 PHP 程序不放,讓其他請求全部排隊等逾時。

如果你還能進入 WordPress 後台

  1. 進入「外掛」頁面,先停用最近安裝或更新的外掛
  2. 如果沒有改善,停用所有外掛,然後逐一重新啟用來找出元凶
  3. 特別注意 SEO、快取、安全掃描、資料庫最佳化這幾類外掛,它們最容易消耗大量資源

如果你無法進入 WordPress 後台

透過 FTP 或主機控制台的檔案管理員,將 wp-content/plugins 資料夾暫時改名為 plugins_off。這會停用所有外掛。如果網站恢復正常,再把資料夾改回 plugins,然後逐一重新啟用外掛來定位問題。

如果停用所有外掛後問題仍然存在,試著切換到 WordPress 的預設主題。你也可以參考我們的 最佳 WordPress 主題推薦 來挑選穩定且效能好的替代主題。建議在 InstaWP 建立免費測試站,先在測試站上安裝外掛測試相容性,確認沒問題再裝到正式站。

修復方法五:清理與最佳化 WordPress 資料庫

資料庫查詢卡住是 504 的另一個常見原因。文章修訂版本、垃圾留言、過期的暫存資料都會讓資料庫膨脹,查詢變慢。

你可以用 WP Rocket 的資料庫最佳化功能來自動清理,或手動在 phpMyAdmin 中執行以下操作:

  • 刪除多餘的文章修訂版本(wp_postspost_type = 'revision' 的記錄)
  • 清空垃圾留言和待審核留言
  • 刪除過期的暫存資料(wp_optionsoption_name LIKE '_transient_%'
  • 執行資料表最佳化(OPTIMIZE TABLE)

操作前務必先備份資料庫。你可以用 UpdraftPlus 進行完整備份。更多加速建議,參考我們的 WordPress 網站加速技巧。搭配 ShortPixel 圖片壓縮 減少伺服器的圖片處理負擔,整體回應速度會更好。

修復方法六:調整伺服器與 PHP Timeout 設定

如果前面的方法都試過了,504 仍然出現,下一步是調整伺服器的逾時設定。這個方法需要你有伺服器的管理權限(VPS 或專屬主機),如果你使用的是虛擬主機,可能需要請主機商協助。

調整 Nginx Timeout 設定

如果你的主機使用 Nginx 作為網頁伺服器,可以在 Nginx 設定檔中調整 fastcgi_read_timeout。根據 Nginx 官方文件,預設值為 60 秒,可以嘗試增加到 120 或 300 秒:

fastcgi_read_timeout 300;

修改完成後執行 nginx -s reload 重新載入設定。如果你使用的是 Kinsta雲端 WordPress 主機,通常不需要自己調整這些設定,他們的技術團隊會處理。

調整 Apache Timeout 設定

Apache 伺服器可以在設定檔中調整 ProxyTimeoutTimeout 指令。建議從 60 秒逐步增加,不要一次調太高,以免其他效能問題被掩蓋。

調整 PHP max_execution_time

wp-config.php 中加入以下設定,可以提高 PHP 的最大執行時間和記憶體限制:

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

這些調整在 BluehostDreamHostFastComet 等虛擬主機上通常可以自行修改。但如果修改後仍然頻繁出現 504,很可能是主機資源真的不夠用了,需要考慮升級方案。

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

如果你有使用 Cloudflare 作為 CDN 或 DNS 服務,504 錯誤有可能是防火牆規則或代理設定造成的。Cloudflare 作為反向代理伺服器,如果它等不到你的來源伺服器回應,就會向訪客回傳 504。截至 2026 年 5 月,Cloudflare 免費和 Pro 方案的等待上限大約是 100 秒。

判斷 504 是不是 Cloudflare 造成的

看 504 錯誤頁面的樣式。如果有 Cloudflare 的品牌標誌和配色,那這個錯誤就是從 Cloudflare 端回傳的。如果是你主機本身的錯誤頁面,畫面樣式會和你的 WordPress 主題或主機商預設頁面一致。

暫時關閉 Cloudflare 代理來測試

登入 Cloudflare 後台,進入 DNS 設定頁面,把你的網域名稱記錄從「Proxied」(橘色雲朵)切換成「DNS only」(灰色雲朵)。這會讓流量直接連到你的來源伺服器,不經過 Cloudflare 的代理層。切換後如果 504 消失了,表示問題出在 Cloudflare 與你主機之間的連線。

你也可以檢查 Cloudflare 的防火牆規則(Security > WAF),看看是否有規則誤擋了正常流量。更多 Cloudflare 設定技巧,可以參考我們的 Cloudflare Speed Test 教學 以及 Cloudflare Turnstile 驗證碼工具介紹。如果你有使用 Cloudflare Workers,也要檢查 Worker 腳本是否有延遲或錯誤。

修復方法八:升級 WordPress 主機方案

如果你試過以上所有方法,504 錯誤仍然頻繁發生,很大機率是主機資源已經不夠用了。共用主機的 CPU 和記憶體是和其他網站共享的,流量一高就容易超時。升級主機是最根本的解法。

主機升級選擇建議

如果預算有限,Bluehost 是一個好的入門選擇。Bluehost 是 WordPress.org 官方推薦的主機商之一,方案從基本的共用主機到進階的 VPS 和專屬主機都有,可以隨網站成長逐步升級。他們的 WordPress 主機方案提供一鍵安裝、免費 SSL 憑證和 24/7 技術支援,對新手很友善。

如果你的網站流量較大、對速度和穩定度有更高要求,Kinsta 專注於 WordPress 託管服務,使用 Google Cloud Platform 的基礎設施,所有方案都包含免費 CDN、自動備份、SSL 和進階快取技術。遇到 504 這類問題可以直接請他們幫忙排查。戰國策 WordPress 主機 則是台灣在地的高階選項,適合需要中文技術支援的站長。

想要更多主機方案的完整比較,可以參考我們整理的 WordPress 虛擬主機推薦,裡面涵蓋了 Bluehost、Kinsta、SiteGroundWPX Hosting 等熱門主機商的費用、速度和功能評比。

如何預防 504 Gateway Timeout Error 再次發生

修復 504 之後,更重要的是防止它再次出現。以下幾個做法可以大幅降低 504 發生的機率。

使用 Uptime 監控工具

安裝網站監控服務(像是 UptimeRobot 或 Pingdom),在網站出問題的當下立即收到通知,而不是等到流量暴跌才發現。免費版的 UptimeRobot 就能每 5 分鐘檢查一次網站狀態,非常實用。

定期清理資料庫與快取

養成定期清理 WordPress 資料庫的習慣。你可以使用 WP Rocket 的資料庫最佳化功能,自動清除修訂版本和暫存。搭配 WordPress 快取外掛 來減少伺服器的動態請求量,讓網站整體回應更快。

控制外掛數量與品質

WordPress 外掛不是裝越多越好。每個啟用的外掛都會消耗伺服器資源,定期審查並移除不再使用的外掛。安裝新外掛前先看看評價、更新頻率和相容性。你也可以在 InstaWP 建立測試站來試裝外掛,確認不會衝突再裝到正式站上。

選擇穩定可靠的主機服務商

主機商的好壞直接影響網站穩定度。好的主機商會主動監控伺服器健康狀態、在資源快滿載時提前通知你,遇到問題時技術支援也能快速回應。Bluehost 提供 99.9% 的正常運行時間保證,SiteGround 則有自家的 SG Optimizer 外掛 來最佳化 WordPress 效能。選擇對的主機商能從根源減少 504 發生的機率。

啟用 CDN 分散流量壓力

CDN 可以把靜態資源(圖片、CSS、JS)分散到全球各地的節點,減少主機伺服器的處理壓力。Cloudflare 提供免費的 CDN 方案,搭配正確的 DNS 設定可以同時提升網站速度和穩定度。你也可以參考 WebP 圖片格式轉換教學 來進一步加快圖片載入速度,減少伺服器處理每個請求所需的時間。

504 Gateway Timeout Error 常見問題 FAQ

504 Gateway Timeout 和 502 Bad Gateway 有什麼差別?

502 Bad Gateway 表示閘道伺服器收到了上游的「無效回應」,可能是回應格式錯誤或上游伺服器當機。而 504 Gateway Timeout 表示閘道伺服器「根本等不到」上游的回應,連線在等待過程中超時了。簡單說,502 是「收到壞的回應」,504 是「等不到回應」。

504 錯誤會自動恢復嗎?

如果是主機短暫的資源波動造成的 504,通常過幾分鐘重新整理頁面就會恢復。但如果是伺服器資源長期不足、外掛衝突或 DNS 設定錯誤造成的,504 會持續發生直到你手動排除問題。不要乾等,按照本文的修復方法逐一嘗試才是正確的做法。

使用 Cloudflare 時出現 504 該怎麼辦?

先確認 504 錯誤頁面是否有 Cloudflare 的品牌標誌。如果有,表示問題出在 Cloudflare 與你的來源伺服器之間的連線。Cloudflare 免費和 Pro 方案大約等 100 秒就會回傳 504。你可以暫時將 Cloudflare 的 DNS 記錄切換成「DNS only」模式來繞過代理層,確認是不是 Cloudflare 的防火牆或代理設定造成的。

504 錯誤會影響 Google 排名嗎?

短暫的 504(幾分鐘到幾十分鐘)對 頁面 SEO 排名 的影響通常很小,Google 爬蟲會在下次造訪時重新抓取。但如果 504 持續超過 12 小時,Google 可能會暫時降低索引頻率和排名,長期甚至可能從搜尋結果中移除。發現 504 之後越快修復越好。

升級主機可以徹底解決 504 問題嗎?

如果 504 是因為主機資源不足(CPU 滿載、記憶體不夠、共用主機的流量限制),升級到資源更充裕的方案確實能大幅改善。像是從共用主機升級到 VPS 或 WPX Hosting 等高效能方案,通常能獲得更多 CPU 和記憶體資源。但如果 504 是外掛衝突或 DNS 設定錯誤造成的,升級主機並不能解決根本問題。

選擇好的主機服務商是避免 504 錯誤的關鍵之一。如果你正在考慮換主機,可以參考我們整理的 WordPress 虛擬主機推薦完整比較。想進一步提升網站效能,可以看看我們的 WordPress 網站加速技巧,或參考 選擇好網域的建議WordPress.com 與 WordPress.org 的差異,一起打造更快更穩定的 WordPress 網站。

Sliven 褚崇名
Sliven 褚崇名

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

文章: 680

發佈留言

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


目錄

目錄
Share to...