Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

你的 WordPress 網站發生 504 Gateway Timeout Error 的錯誤卻不知道該如何解決嗎?要知道,當你的網站出現 504 Gateway Timeout Error 時,表示你的使用者目前無法正常的訪問與瀏覽你的網站。如果問題沒有確實被解決,那麼你的網站就很有可能會一直呈現無法訪問的狀態。在今天的教學當中,將會帶你了解 504 Gateway Timeout Error 發生的原因,以及教你該如何解決 504 Gateway Timeout Error 的錯誤問題。
你的 WordPress 網站突然跳出 504 Gateway Timeout Error,完全無法正常訪問嗎?別慌,這篇文章會帶你一步步找出原因,並提供 8 種實用的修復方法,讓你的網站盡快恢復正常運作。
504 Gateway Timeout Error 是一種 HTTP 狀態碼錯誤,代表你的瀏覽器發送請求後,中間的閘道(Gateway)或代理(Proxy)伺服器在等待後端伺服器回應時超時了。這通常不是你電腦的問題,而是網站伺服器端或網路連線中間環節出了狀況。底下會從原因分析到具體修復步驟,完整帶你解決這個惱人的錯誤。
目錄
504 Gateway Timeout Error 是 HTTP 協定中的一種狀態碼,意思是「閘道逾時」。當你的瀏覽器試圖連上一個網站時,請求會經過一層或多層的代理伺服器或閘道,這些中間層負責把你的請求轉發給後端的實際伺服器(也就是你的 WordPress 主機)。如果後端伺服器沒有在規定時間內回應,中間的閘道就會回傳 504 錯誤給你的瀏覽器。
根據你使用的主機商、Proxy 伺服器或瀏覽器的不同,504 錯誤的顯示方式可能會有些差異,常見的畫面包括:
不管你看到的是哪一種顯示方式,它們的核心含義都一樣:中間的閘道伺服器等不到後端伺服器的回應。這和 500 Internal Server Error(伺服器程式碼出錯)或 503 Service Unavailable(伺服器暫時無法服務)的成因不太一樣,搞清楚差別才能對症下藥。
網站出現錯誤時,很多人搞不清楚 500、502、503、504 到底差在哪裡。這四種都是伺服器端的 5xx 錯誤,但成因和解法完全不同。底下這張表幫你一目了然:
| 錯誤碼 | 名稱 | 含義 | 常見原因 |
|---|---|---|---|
| 500 | Internal Server Error | 伺服器內部程式碼發生未預期錯誤 | PHP 語法錯誤、.htaccess 損壞、檔案權限錯誤 |
| 502 | Bad Gateway | 閘道收到來自上游的無效回應 | PHP-FPM 當機、Nginx 設定錯誤 |
| 503 | Service Unavailable | 伺服器暫時無法處理請求 | 伺服器過載、維護模式、資源耗盡 |
| 504 | Gateway Timeout | 閘道等待上游回應超時 | 後端伺服器回應太慢、CPU 負載過高、PHP 執行超時 |
簡單來說,502 是「收到壞掉的回應」,而 504 是「根本等不到回應」。如果你確定看到的是 504,那問題的核心就是某個環節回應速度太慢,導致中間的閘道放棄等待。
導致 504 Gateway Timeout Error 的原因有很多,可以大致分為三大類:伺服器端問題、WordPress 本身問題,以及客戶端或網路層問題。了解這些原因能幫助你更快鎖定問題所在。
如果你的網站長時間處於 504 狀態,Google 爬蟲每次造訪都抓不到內容,久而久之會嚴重影響你的 SEO 排名。根據 Google 官方的說法,短暫的伺服器錯誤(幾分鐘內恢復)對排名的影響有限,但如果 504 錯誤持續超過 12 小時,Google 可能會暫時降低該頁面的索引頻率,長期下來甚至可能從搜尋結果中移除。
除了 SEO 影響之外,504 錯誤對使用者的傷害也很大。訪客看到錯誤頁面通常會直接離開,你的跳出率會瞬間飆高,轉換率也會跟著暴跌。如果是電商網站,每分鐘的停機都意味著訂單的流失。
好加在,如果你能在 504 發生後迅速修復,對網站排名的影響通常是可以恢復的。底下就來看看怎麼快速診斷和解決這個問題。
在動手修復之前,先搞清楚問題出在哪裡,才能省下無謂的嘗試時間。以下是系統化的診斷步驟:
打開 downforeveryoneorjustme.com,輸入你的網址。這個工具會告訴你該網站是真的掛了,還是只有你的網路環境無法連上。如果結果顯示只有你無法訪問,問題很可能出在你的網路設定(VPN、DNS、防火牆)。
按 F12 開啟瀏覽器的開發者工具,切到 Network 標籤,重新載入頁面。看看請求的 HTTP 狀態碼是不是真的是 504,還是其他的錯誤碼。你也可以在 HTTP Status 查詢各種 HTTP 狀態碼的含義,確認判斷無誤。
登入你的主機控制台(cPanel、Plesk 或主機商自家的管理介面),找到錯誤日誌(error_log)。日誌裡通常會記錄具體的錯誤訊息,例如 PHP Fatal Error 或是 FastCGI timeout,這些訊息能幫你精準定位問題。如果你使用的是 SiteGround 或 Kinsta 這類優質主機商,他們的管理介面都有內建日誌查詢功能,你也可以使用 Site Health 工具來檢查 WordPress 網站的整體健康狀態。
根據以上資訊,把問題歸類到客戶端(你這邊)、伺服器端(主機商那邊)或 CDN 層(Cloudflare 等)。不同的層級對應不同的修復方法,底下會逐一介紹。
聽起來很基本,但很多時候 504 錯誤只是主機短暫的資源波動造成的。重新整理頁面(Ctrl+F5 或 Cmd+Shift+R 強制重新整理)可能就解決了。如果重整後恢復正常,而且問題不常發生,那可能不需要太擔心。
但如果你發現 504 錯誤頻繁出現,特別是在流量高峰時段,那很有可能是主機的 CPU 或記憶體資源不夠用了。這時候應該認真考慮升級主機方案,像是 DreamHost(老牌主機商,穩定可靠)或 FastComet(高效能 SSD 主機),都能提供更充裕的資源配置。
如果你正在使用 VPN 或 Proxy 代理伺服器,有時候 VPN 的節點會無法順利取得 WordPress 主機的回應,這就會導致你看到 504 錯誤。試試看關閉 VPN 之後再重新連線,如果網站恢復正常,那就確認是 VPN 的問題。
關閉 VPN 之後如果確認是 VPN 導致的 504,你有幾個選擇:切換到其他 VPN 節點、換一個 VPN 服務商,或者暫時不使用 VPN 來管理你的 WordPress 網站。
如果你使用的是 Windows,要關閉 Proxy 代理設定,可以到「設定 > 網路和網際網路 > Proxy」,關閉「使用 Proxy 伺服器」的選項。Mac 使用者則可以在「系統偏好設定 > 網路 > 進階 > Proxy」中取消勾選相關的 Proxy 通訊協定。
你電腦上設定的 DNS 伺服器如果出問題,也可能導致 504 錯誤。DNS 負責把網址(像是 techmoon.xyz)轉換成 IP 位址,如果 DNS 回應太慢或回傳錯誤的 IP,你的瀏覽器就會連到錯誤的伺服器或根本連不上。
在 Windows 中,進入「設定 > 網路和網際網路 > 乙太網路(或 WiFi)> IP 設定」,點選「編輯」,將自動(DHCP)改為手動,開啟 IPv4 選項,接著輸入你想要使用的 DNS 伺服器位址。
在 Mac 中,打開「系統偏好設定 > 網路 > 進階 > DNS」,在 DNS 伺服器列表中加入新的位址。
建議使用 Cloudflare 的 1.1.1.1 和 1.0.0.1(速度快、隱私保護佳),或是 Google 的 8.8.8.8 和 8.8.4.4(穩定可靠)。變更完成後,重新載入網頁試試看。如果你對 網域名稱與 DNS 的運作原理有興趣,可以參考我們之前的介紹文章。
WordPress 外掛之間的衝突、過時的外掛版本,或是設計不良的外掛,都可能拖慢伺服器的回應速度,進而觸發 504 錯誤。要驗證是不是外掛造成的,最快的方法就是停用所有外掛。
到「外掛 > 已安裝的外掛」,全選所有外掛,在批量操作中選擇「停用」,然後重新載入網站前台。如果恢復正常,表示其中一個外掛有問題。接著逐一重新啟用每個外掛,每次啟用後都重新整理前台,直到 504 錯誤再次出現,就能鎖定問題外掛。
這時候需要透過 FTP 或主機的檔案管理員進入伺服器。找到「wp-content」>「plugins」資料夾,把整個 plugins 資料夾改名為「plugins-old」。WordPress 偵測不到 plugins 資料夾時,就會自動停用所有外掛。確認網站恢復後,再把名稱改回 plugins,然後逐一啟用外掛找出問題所在。
如果停用所有外掛後問題仍然存在,試著切換到 WordPress 的預設主題(如 Twenty Twenty-Four)。你可以參考我們的 最佳 WordPress 主題推薦 來挑選穩定且效能好的替代主題。
WordPress 的資料庫經過長時間運作後,會累積大量的文章修訂版本、自動儲存的草稿、垃圾留言、過期的暫存資料(transient)。這些多餘的資料會讓資料庫查詢變慢,PHP 處理時間拉長,間接導致 504 錯誤。
最簡單的方式是使用 WP-Rocket 內建的資料庫最佳化功能。WP-Rocket 是一套功能非常完整的 WordPress 快取外掛,除了快取功能外,它也提供了一鍵清理資料庫垃圾資料的工具,包含修訂版本、草稿、垃圾留言和暫存資料。
如果你比較熟悉技術操作,也可以透過主機控制台的 phpMyAdmin 直接進入資料庫,手動清理 _posts 表中 post_status 為 revision、auto-draft、trash 的記錄,以及 _options 表中的暫存資料。不過操作前務必先用 UpdraftPlus 或其他工具對網站進行完整備份,避免操作失誤造成資料遺失。
如果你的 WordPress 網站流量較大或頁面處理邏輯比較複雜,預設的伺服器 timeout 值可能不夠用。這時候就需要調整 Nginx、Apache 或 PHP 的相關設定。這個方法比較進階,如果你不熟悉伺服器設定,建議先聯繫你的主機商技術支援幫忙處理。
如果你的主機使用 Nginx 作為網頁伺服器,可以在 Nginx 設定檔中調整 fastcgi_read_timeout 的值。預設通常是 60 秒,你可以嘗試增加到 120 或 300 秒:
fastcgi_read_timeout 300;
修改完成後執行 nginx -s reload 重新載入設定。如果你使用的是 Kinsta 等 雲端 WordPress 主機,通常不需要自己調整這些設定,他們的技術團隊會幫你處理。
Apache 伺服器可以在設定檔中調整 ProxyTimeout 和 Timeout 指令。同樣建議從 60 秒逐步增加,不要一次調太高,以免其他效能問題被掩蓋。
在 wp-config.php 中加入以下設定,可以提高 PHP 的最大執行時間和記憶體限制:
define('WP_MEMORY_LIMIT', '256M');
set_time_limit(300);
這些調整在 Bluehost、A2 Hosting 等虛擬主機上通常可以自行修改,但如果修改後仍然頻繁出現 504,那很可能就是主機資源真的不夠用了,需要升級方案。
如果你有使用 Cloudflare Workers 或 Cloudflare 作為 CDN/DNS 服務,那 504 錯誤有可能是防火牆規則或代理設定造成的。Cloudflare 作為反向代理伺服器,如果它等不到你的來源伺服器回應,就會向訪客回傳 504。
一個簡單的判斷方式:如果 504 錯誤頁面上有 Cloudflare 的品牌標誌和配色,那這個錯誤就是從 Cloudflare 端回傳的。如果是你主機本身的錯誤頁面,畫面樣式會和你的 WordPress 主題或主機商預設頁面一致。
登入 Cloudflare 後台,進入 DNS 設定頁面,把你的網域名稱記錄從「Proxied」(橘色雲朵)切換成「DNS only」(灰色雲朵)。這會讓流量直接連到你的來源伺服器,不經過 Cloudflare 的代理層。切換後如果 504 錯誤消失了,表示問題出在 Cloudflare 與你主機之間的連線。
你也可以檢查 Cloudflare 的防火牆規則(Security > WAF),看看是不是有規則誤擋了正常的流量。暫時將安全等級調低(從「I’m Under Attack」調成「Essentially Off」),也可以幫助你確認是不是防火牆規則的問題。更多關於 Cloudflare 的設定技巧,可以參考我們的 Cloudflare Speed Test 教學以及 Cloudflare Turnstile 驗證碼工具介紹。
如果你試過以上所有方法,504 錯誤仍然頻繁發生,那很大機率是你的主機資源已經不敷使用了。共用主機(Shared Hosting)的 CPU 和記憶體是和其他網站共享的,流量一高就容易超時。這時候升級主機是最根本的解法。
如果你目前的預算有限,Bluehost 是一個很好的入門選擇。Bluehost 是 WordPress.org 官方推薦的主機商之一,方案從基本的共用主機到進階的 VPS 和專屬主機都有,可以隨著你的網站成長逐步升級。它們的 WordPress 主機方案提供一鍵安裝、免費 SSL 憑證和 24/7 技術支援,對新手非常友善。
如果你的網站流量較大、對速度和穩定度有更高要求,戰國策 WordPress 主機 是台灣在地的高階選項。Kinsta 專注於 WordPress 託管服務,使用 Google Cloud Platform 的基礎設施,所有方案都包含免費 CDN、自動備份、SSL 和進階的快取技術。他們的技術支援團隊對 WordPress 非常熟悉,遇到 504 這類問題可以直接請他們幫忙排查。
想看更多主機方案的比較,可以參考我們整理的 WordPress 虛擬主機推薦完整比較文章,裡面涵蓋了 Bluehost、Kinsta、A2 Hosting、SiteGround 等熱門主機商的費用、速度和功能評比。
修復 504 錯誤之後,更重要的是防止它再次出現。以下幾個最佳實踐可以大幅降低 504 再次發生的機率:
安裝網站監控服務(像是 UptimeRobot 或 Pingdom),在網站出問題的當下立即收到通知,而不是等到流量暴跌才發現。免費版的 UptimeRobot 就能每 5 分鐘檢查一次你的網站狀態,非常實用。
養成定期清理 WordPress 資料庫的習慣。你可以使用 WP-Rocket 的資料庫最佳化功能,自動清除修訂版本和暫存。搭配 ShortPixel 圖片壓縮來減少伺服器的圖片處理負擔,讓網站整體回應更快。
WordPress 外掛不是裝越多越好。每個啟用的外掛都會消耗伺服器資源,定期審查並移除你不再使用的外掛。安裝新外掛前先看看它的評價、更新頻率和相容性,避免裝到有問題的外掛拖垮整個網站。你也可以在 InstaWP 建立一個測試站來試裝外掛,確認不會衝突再裝到正式站上。
主機商的好壞直接影響網站的穩定度。好的主機商會主動監控伺服器健康狀態、在資源快滿載時提前通知你,遇到問題時技術支援也能快速回應。Bluehost 提供 99.9% 的正常運行時間保證,SiteGround 則有自家的 SG Optimizer 外掛來最佳化 WordPress 效能。選擇對的主機商能從根源減少 504 發生的機率。
CDN(內容傳遞網路)可以把你的靜態資源(圖片、CSS、JS)分散到全球各地的節點,減少主機伺服器的處理壓力。Cloudflare 提供免費的 CDN 方案,設定也不複雜,搭配正確的 DNS 設定可以同時提升網站速度和穩定度。如果你想深入了解網站速度最佳化的技巧,也可以參考 WebP 圖片格式轉換教學來進一步加快圖片載入速度。
502 Bad Gateway 表示閘道伺服器收到了來自上游伺服器的「無效回應」,可能是回應格式錯誤或上游伺服器當機。而 504 Gateway Timeout 表示閘道伺服器「根本等不到」上游的回應,連線在等待過程中超時了。簡單說,502 是「收到壞的回應」,504 是「等不到回應」。
如果是主機短暫的資源波動造成的 504,通常過幾分鐘重新整理頁面就會恢復。但如果是伺服器資源長期不足、外掛衝突或 DNS 設定錯誤造成的,504 錯誤會持續發生直到你手動排除問題。不要傻等,按照本文的修復方法逐一嘗試才是正確的做法。
先確認 504 錯誤頁面是否有 Cloudflare 的品牌標誌。如果有,表示問題出在 Cloudflare 與你的來源伺服器之間的連線。你可以暫時將 Cloudflare 的 DNS 記錄切換成「DNS only」模式來繞過 Cloudflare 的代理層,確認是不是 Cloudflare 的防火牆或代理設定造成的。詳細的操作方式可以參考上方的「修復方法七」段落。
短暫的 504(幾分鐘到幾十分鐘)對 頁面 SEO 排名的影響通常很小,Google 爬蟲會在下次造訪時重新抓取。但如果 504 持續超過 12 小時以上,Google 可能會暫時降低你網站的索引頻率和排名,長期下來甚至可能從搜尋結果中移除。所以發現 504 之後,越快修復越好。
最簡單的方式是使用 downforeveryoneorjustme.com 這個免費工具,輸入網址就能知道是所有人都無法訪問,還是只有你有問題。如果只有你無法訪問,先試試關閉 VPN、變更 DNS 伺服器設定,這兩個方法能解決大部分的客戶端問題。
如果你的 504 錯誤是因為主機資源不足造成的(CPU 滿載、記憶體不夠、共用主機的流量限制),那升級到資源更充裕的主機方案確實能大幅改善。像是從共用主機升級到 VPS 或 WPX Hosting 等高效能方案,通常能獲得更多 CPU 和記憶體資源。但如果 504 是外掛衝突或 DNS 設定錯誤造成的,升級主機並不能解決根本問題。
Google 對於短暫的伺服器錯誤有一定的容忍度,幾分鐘的 504 通常不會造成排名變動。但如果 504 錯誤持續超過 12 小時,Google 可能開始降低該頁面的排名。超過幾天的持續 504 可能導致頁面被暫時從索引中移除,直到網站恢復後 Google 重新抓取才能回來。所以即時監控和快速修復非常關鍵。
希望這篇文章能幫助你順利解決 504 Gateway Timeout Error 的問題。如果你覺得這篇教學對你有幫助,歡迎分享給有需要的朋友。你可以在 Facebook、Twitter 與 Instagram 上找到我們的蹤跡,追蹤更多 WordPress 相關的實用教學。如果你也遇到了其他 WordPress 錯誤,像是 500 Internal Server Error、502 Bad Gateway Error 或 503 Service Unavailable Error,我們也有對應的解決教學可以參考。如果你的網站常常遇到效能問題,也可以看看我們整理的 WordPress 網站加速技巧,或參考 選擇好網域的建議和 WordPress.com 與 WordPress.org 的差異,一起打造更快更穩定的 WordPress 網站。
到頭來,選擇好的主機服務商是避免 504 錯誤的關鍵之一。如果你正在考慮換主機,SiteGround 是一個值得考慮的選擇,他們提供穩定的 WordPress 託管環境和優質的技術支援,能從根源減少伺服器超時的問題發生。