WordPress

WordPress網站健康是什麼?紅字別慌,先搞懂它在查什麼

後台選單裡的「工具」底下,有一個叫「網站健康」的頁面,不少人是被裡面一整排紅色的「嚴重問題」嚇到,才第一次點進去研究這個功能在講什麼。畫面上寫著 PHP 版本過舊、迴圈請求失敗、REST API 發生錯誤,術語一個接一個,讀起來像是網站已經出了大事,甚至懷疑自己是不是被駭客入侵了。

其實這正是 WordPress網站健康這項自我診斷功能,從 5.2 版起就內建在後台,只掃描 WordPress 自己認得出的設定與環境問題,不是外部資安公司出具的健檢報告,更不會檢查網站有沒有被植入惡意程式碼。把每一項警示都當成火燒眉毛,反而容易花時間去改一些對網站其實沒什麼幫助的設定,真正該優先處理的項目卻被埋在一堆雜訊裡。

先弄清楚這個頁面在哪裡看、分成哪兩個頁籤,再照六大類警示一項一項拆開來看,才分得清紅字背後是主機該調整的環境設定,還是可以慢慢排進維護排程的小事。

把 WordPress 網站健康的警示整理成六大類,每一類各查一件事,看到紅字先分清楚屬於哪一類。
WordPress 網站健康的六大類警示:PHP 版本、HTTPS 加密連線、背景更新與對外連線、除錯模式外洩、REST API 錯誤、閒置外掛與效能建議。

WordPress網站健康是什麼?

打開 WordPress 後台,在「工具」選單底下就能找到「網站健康」這個項目,官方文件把它定位得很清楚,這是後台內建的自我診斷畫面,分成「狀態」與「資訊」兩個頁籤。

「狀態」頁籤是多數人會先看到的畫面,顯示的是關於這個 WordPress 設定目前狀態的關鍵資訊,結果依嚴重程度分成三類:「嚴重問題」代表確實需要處理的資安或效能疑慮,「建議改善」代表可以做但不急迫的優化項目,「已通過測試」代表這一項目前沒有問題。「資訊」頁籤則完全是另一回事,裡面蒐集的是伺服器版本、PHP 設定、資料庫版本這類技術細節,主要給站長或主機商的技術人員參考,本身不會修復任何問題,單純是給你複製貼上去問客服用的資料。

WordPress 網站健康的狀態頁面,把診斷結果分成重大問題與建議改進項目,逐項標出屬於安全性還是效能。
狀態頁籤會依嚴重程度把測試結果分區列出,每一項再標示屬於安全性或效能,一眼看出哪些該先處理。

這個功能只回報 WordPress 自己認得出的設定與環境問題,例如 PHP 版本、更新機制、通訊功能有沒有正常運作。頁面明明看起來壞掉、表單送出沒反應、外觀跑版,這類肉眼看得到的視覺或功能異常,網站健康完全不會發現,因為它檢查的是底層環境,不是前台畫面本身;同樣地,它也不掃描惡意程式碼、不比對檔案有沒有被竄改,看到滿版綠燈也不代表網站沒被駭。看懂這一層分工,才不會誤把它當成萬能的資安健檢。

現在的網站健康判定只分兩種狀態不再顯示百分比

不少人對「網站健康」的第一印象還停留在一個像信用分數的百分比,覺得沒衝到 100%就代表哪裡沒做好,但現在的判定方式早就不是這樣運作。

WordPress 5.2 版在 2019 年 5 月推出這項功能時,畫面頂端的確會顯示一個百分比,但同年 11 月的 5.3 版就把它拿掉了,改成只顯示「良好」或「應改善」兩種狀態,底下另外列出嚴重問題、建議改善、已通過測試各有幾項。WordPress 核心開發團隊在說明這次調整時提到,原本那個百分比容易讓人誤會成這個網站有多完美,實際上它只是在算有多少項測試通過而已;拿掉百分比之後,頂端那個圓形指示只剩提醒還有事可做的作用,不再帶著分數不及格的負面感受。

判定邏輯是每一項測試各自回傳良好、建議改善、嚴重三種狀態的其中一種,頂端的整體狀態再依這些結果加權判斷。同一篇說明也提到,5.3 版起只要出現任何一項嚴重問題,整體一律顯示為應改善,不會因為其他項目全部通過就被稀釋掉;建議改善的權重則刻意調低,避免外掛自行加掛的檢查項目一多就左右整體結果。從 WordPress 核心的程式碼來看,嚴重問題的權重是建議改善的三倍,沒有嚴重問題時,換算出來的分數要達到 80 以上才會顯示良好,這個分數不會以百分比出現在畫面上。所以建議改善累積得夠多,即使沒有任何嚴重問題,整體狀態一樣可能變成應改善,判斷時還是要回到每一項的實際內容,而不是盯著頂端那兩個字。

PHP 版本項目比對的是官方支援期限而非版本新舊

看到「PHP 版本過舊」這句警示,很多人直覺反應是自己沒跟上最新版,但 WordPress 比對的其實是這個 PHP 版本還在不在官方支援期限內,不是有沒有用到最新的大版本號。

判定機制本身不是寫死在 WordPress 程式裡的一張版本清單,而是即時呼叫 api.wordpress.org 提供的 Serve Happy API,取得目前這個 PHP 版本的建議版本、是否仍受支援、是否還有安全性修補等資訊,查詢結果會快取大約一週。如果這支 API 連不上,畫面顯示的會是無法存取 WordPress.org 服務,而不是直接判定為嚴重問題。這也代表 PHP 版本這一項的結果,其實是跟著 WordPress.org 依 PHP 官方支援政策設定的判定在變動,不是寫死在你手上這一版 WordPress 裡。

超過官方支援年限,PHP 版本就被判定為安全隱憂

PHP 官方把支援政策分成兩個階段:先進入積極支援,這段期間同時提供錯誤修復與安全性修補;之後轉入僅安全性支援,只補安全性問題,不再修復一般錯誤;兩階段合計的年限一到,就正式進入生命週期終止,官方不再提供任何修補。WordPress 把這套政策換算成三種判定:目前版本達到 WordPress 建議的版本就是良好;版本偏舊但還在官方支援範圍內(包含只剩安全性支援的階段)是建議改善;版本已經或即將完全不再受支援,就直接列為嚴重問題。

WordPress 依 PHP 版本還在不在官方支援期限,判成良好、建議改善或嚴重問題,不是看版本新舊。
PHP 版本這一項比的不是版本新舊,而是還在不在官方支援期限,據此分成良好、建議改善與嚴重問題三種判定。

以查證當下(2026 年 10 月)的狀態來看,PHP 8.4 與 8.5 還在積極支援階段,8.2 與 8.3 已經進入僅安全性支援,8.1 及更早的版本則已經全數生命週期終止。不過 WordPress.org 這支 API 的判定不一定跟 PHP 官方時程同步,同一時間實際查詢 Serve Happy API,它給的建議版本是 8.3,而且仍把已經終止支援的 8.1 標成還有安全性修補,所以跑 8.1 的網站在後台看到的是建議改善,不是嚴重問題;反過來說,只剩安全性支援的 8.3 也會被判為良好。後台的判定只能當提醒,版本到底還有沒有支援,要以 PHP 官方清單為準。這張支援時程表每年都會往前推進一年,讀者對照自己網站的 PHP 版本時,建議直接查 PHP 官方目前公布的最新支援清單,而不是照抄任何一篇文章裡列出的年份。另外要提醒的是,PHP 版本通常是由主機商在伺服器端統一設定,站長沒辦法自己在 WordPress 後台切換,需要的話得向主機商申請調整,或是到主機控制台裡找 PHP 版本切換的選項,調整前也建議先做一次備份。

必要模組、時區與 PHP 工作階段的環境檢查

除了版本新舊,還有三種比較少被單獨拿出來講、但確實可能出現在嚴重問題清單裡的環境警示,共通點都是 PHP 執行環境本身的設定出了狀況,而不是 WordPress 核心版本的問題。第一種是缺少 WordPress 運作需要的 PHP 模組,例如官方文件舉例的 json_last_error 這一項沒有安裝或被主機端停用,會讓部分功能沒辦法正常運作。第二種是 PHP 的預設時區在 WordPress 載入之後被更動,這會干擾日期與時間的計算,連帶影響排程發佈、快取到期這類跟時間有關的功能。

第三種是偵測到一個沒有正常關閉的 PHP 工作階段,也就是有程式碼呼叫了 session_start() 卻沒有在對的時機關閉,這種未關閉的工作階段會干擾 REST API 與迴圈請求的運作,正確做法是在發出 HTTP 請求之前先呼叫 session_write_close() 把工作階段關掉。這三種都屬於需要調整 PHP 設定才能解決的問題,站長自己在 WordPress 後台改不了,遇到時最實際的做法是把警示內容整理清楚,拿去跟主機商的客服或工程團隊反映,讓對方在伺服器端處理。

HTTPS 加密連線缺席時的安全性警示

HTTPS 這一項在網站健康裡算是最單純的一類,不需要鋪陳太多背景,重點放在 WordPress 怎麼判斷這件事、以及判定沒有使用 HTTPS 之後該怎麼處理。檢測結果會列在狀態頁籤,只要偵測到網站位址還在用 http,就會列為建議改善、提示切換;資訊頁籤裡另有一個「這個網站是否使用 HTTPS」的欄位,直接標示目前是或否。

WordPress 5.7 版之後,只要主機已經裝好 SSL 憑證、環境本身支援 HTTPS,網站健康的 HTTPS 項目就會出現一個切換按鈕,把網址從 http 改成 https 可以直接在後台一鍵完成,不必再手動修改資料庫或另外裝外掛。不過切換完成不代表全部處理好,還要核對兩件事:網址列是不是真的全站顯示為 https,以及頁面裡的圖片、字型這類資源會不會還在引用 http 路徑,也就是常見的混合內容問題,只看網址列有沒有出現鎖頭圖示並不足以代表全站都設定完成。至於 SSL 憑證本身,通常是由主機商提供,或透過 Let’s Encrypt 這類機制核發,並不是 WordPress 自己核發或管理的東西。

背景更新、迴圈請求與對外連線的三種警示

這一類警示涵蓋三種機制:背景更新、迴圈請求,還有網站對外連到 WordPress.org 的通訊。三者的共通點是平常都在背景默默運作,正常運作時完全感覺不到它們的存在,一旦出問題,影響的往往不是眼前看得到的頁面內容,而是原本該自動處理的事情其實已經停擺一段時間,只是還沒被察覺而已。

這幾項要特別留意的是,WordPress 說明文件把「自動更新其實已經被停用,後台卻還照樣顯示自動更新設定」這種顯示與實際不一致的狀態,直接標記為資安類的嚴重問題,因為這會讓站長誤以為安全性更新會自動裝上,實際上完全沒有運作。

背景更新沒有生效,關掉的其實是安全更新的自動安裝

背景更新是 WordPress 遇到安全性更新時,能不經站長手動操作就自動裝上的機制,跟站長自己到更新頁面按下按鈕是完全不同的兩件事,這項警示代表這套自動安裝的管道目前沒有正常運作。

另一種常見情況是外掛或佈景主題的自動更新,已經在程式層被停用,後台卻還照樣顯示自動更新的開關,這種顯示狀態與實際行為不一致的狀況,會讓站長以為打開開關就會自動更新、安全性更新已經自動處理好,實際上外掛與佈景主題早就停在舊版本沒有跟著更新。這正是這項警示被列為安全性類嚴重問題的原因,問題不在於自動更新這個機制本身,而在於它沒有照畫面顯示的那樣真的運作。

迴圈請求失敗多半出在主機端的安全規則

迴圈請求,英文叫 loopback request,指的是 WordPress 對自己網域發出的請求,主要用來啟動排程事件,例如定時發佈的文章、外掛設定的排程任務,都要靠這個機制在背景觸發。佈景主題與外掛內建的程式碼編輯器,也會用迴圈請求來確認改動存檔之後網站還能不能正常回應,避免存了一段會讓網站掛掉的程式碼卻沒被發現。

這項測試的做法,是對 wp-cron.php 發出一個帶有登入 cookies 與特定參數的 POST 請求,逾時設定是 10 秒;之所以用 POST,是為了讓 wp-cron.php 提早結束,不會真的觸發一次排程任務。迴圈請求失敗時,通常不是 WordPress 本身壞掉,而是主機的防火牆規則、網站本身設了密碼保護、DNS 設定有問題,或是某個外掛彼此衝突,把這個內部請求擋在半路上,需要回頭檢查的方向是主機環境與外掛相容性,而不是 WordPress 核心程式碼。

連不上 WordPress.org 意味著版本回報功能已經中斷

WordPress 需要能連到 api.wordpress.org,才能確認目前這個版本是不是最新的,也才能安裝核心、外掛、佈景主題的更新。這項警示出現,代表網站目前沒辦法跟 WordPress.org 的伺服器正常通訊。

這種故障通常代表網站對外的連線被擋住了,常見原因是主機端的防火牆規則、網站上裝的資安外掛,或是 DNS 設定出了問題,並不是 WordPress.org 那端的伺服器有異常。實務上遇到這項警示,檢查方向應該放在自己網站的對外連線設定,而不是等著 WordPress.org 那邊修復什麼。

常數封鎖對外連線後的外掛與佈景主題風險

WP_HTTP_BLOCK_EXTERNAL 是 WordPress 提供的一個設定常數,站長可以用它封鎖網站對外部服務的全部或部分通訊,多半是出於安全考量刻意設定,想讓網站盡量不要跟不必要的外部服務往來。

問題是,如果封鎖清單設定得不夠完整,原本需要對外溝通的外掛與佈景主題功能,例如檢查外掛本身的更新、串接金流服務、發送通知信件,就會連帶一起失效,而且這類故障通常不會直接顯示某個功能壞掉這種明確訊息,往往要回頭查網站健康這個頁面,才會發現問題的源頭其實是這個常數設定不完整。設定這個常數前,建議先列清楚網站實際需要對外連線的服務有哪些,再把允許清單一次設定完整,而不是先封鎖再慢慢補漏洞。

除錯模式資訊外洩的兩種警示管道

除錯模式原本是開發階段用來蒐集錯誤細節的工具,正式上線的網站如果忘記關掉,原本只該給開發者看的系統路徑、資料庫結構、程式碼片段這類細節,就有可能被暴露出去。這一類警示分成兩種,差別只在於外洩的管道不同:一種是外洩到訪客眼前,一種是寫進一個可能被外部存取到的檔案,分別對應 WP_DEBUG_DISPLAY 與 WP_DEBUG_LOG 兩個設定值。這裡要先釐清一個容易誤會的地方,問題不在於除錯功能本身不能開,而在於除錯的輸出結果不該讓正式站的訪客或外部存取到。

顯示在前台的錯誤訊息,可能露出檔案路徑與程式細節

WP_DEBUG_DISPLAY 會被觸發,通常是因為 WP_DEBUG 本身開著,或是設定檔裡直接寫了這個值。一旦啟用,錯誤訊息就會直接印在網站前台,任何訪客都看得到,不只是站長自己。

這些錯誤訊息裡,常常帶著伺服器的檔案路徑、外掛或佈景主題的程式碼片段,這些資訊對一般訪客沒有意義,但對想找漏洞的人來說,等於是現成的線索,能讓對方更快摸清網站用了哪些外掛、程式架構長什麼樣子。正式上線的網站,這個設定值原則上應該保持關閉,除錯需求留在測試站或本機環境處理就好。

除錯紀錄寫進的檔案不一定只有網站管理者讀得到

WP_DEBUG_LOG 的做法是把錯誤寫進一個紀錄檔,而不是直接顯示在前台,聽起來比較安全,但 WordPress 官方文件特別提醒,這個紀錄檔本身很可能是任何人都能存取得到的檔案。

如果沒有額外做存取限制,例如把檔案放在對外不可讀取的目錄,或設定伺服器規則擋掉對這個檔案的直接請求,等於把同一批系統路徑與程式碼細節換一個地方外洩,只是外洩的對象從所有訪客,變成知道檔案位置就能讀到內容的人。這也是為什麼網站健康把這項也列為需要留意的警示,而不是因為看不到就代表沒有風險。

REST API 出現錯誤,通常是資安機制動的手腳

REST API 這一項警示,測試方式是用目前登入的使用者身份,實際向/wp-json/wp/v2/types/post?context=edit這個網址發出一次請求,逾時設定是 10 秒。如果這次請求整個連不上、逾時都沒收到回應,會被判定為嚴重問題;如果請求有收到回應,但狀態碼不是 200(例如回傳 403、404、500 這類錯誤代碼),或是回應內容不是預期的 JSON 格式,則會被判定為建議改善,還沒到嚴重問題的等級,但同樣代表請求半路被擋下來了。

這項測試之所以重要,是因為 REST API 並不是一個可有可無的附加功能,而是區塊編輯器、應用程式密碼登入、還有大量外掛的管理畫面在背後實際仰賴的溝通管道。REST API 被完全封鎖之後,不會馬上跳出某功能故障這種明確訊息,前台看起來可能一切正常,但某些操作背後開始出現說不出原因的失敗,例如編輯器存檔變慢、某些外掛設定畫面讀不到資料,回頭一查才發現源頭在這裡。

資安外掛或伺服器防火牆常見的封鎖來源

多數情況下,REST API 出錯不是 WordPress 核心本身的問題,而是網站上裝的資安外掛主動限制了 REST API 的存取範圍,或是伺服器層(包含 CDN、WAF 這類服務)的防火牆規則,把特定路徑的請求擋在門外。

遇到這項警示,實際的檢查方向是回頭確認是不是自己(或委託代管的廠商)設定的資安規則正在生效,而不是假設 WordPress 本身壞了。REST API 是 WordPress 與其他應用程式交換資料的標準通道,多數官方功能與第三方整合都要透過它運作,不建議直接把它整個關掉,遇到資安考量,更精準的做法是限制特定端點的存取範圍,而不是一刀切全部封鎖。

檔案上傳功能被伺服器設定停用

另一個比較單純、但同樣被列為嚴重問題的警示,是伺服器的 file_uploads 設定被關掉,或是 ini_get() 這個函式本身被停用。這個設定一旦被關,整個網站會完全沒辦法上傳檔案,包括在媒體庫裡新增一張圖片都做不到。

這是伺服器層的 PHP 設定,WordPress 後台本身沒有對應的開關可以調整,遇到這項警示,需要做的是聯絡主機商,請對方確認並開啟這個設定,而不是在 WordPress 裡面找半天找不到解法。

閒置外掛與佈景主題,才是最常出現的改善建議

這一類收的多半是「建議改善」等級裡最常見的維護類項目,加上兩個比較新的效能建議;其中外掛有更新待安裝是例外,WordPress 把它列為嚴重問題。這幾項的共通點是不影響網站現在能不能正常運作,跟前面幾類「某個機制正在失效」不是同一種急迫程度,但放著不處理,長期會累積成資安與效能的隱性成本,包括多一個潛在的攻擊面,以及多佔用一點主機資源,不能因為不緊急就當成不用處理。

沒在用的外掛與佈景主題建議直接刪除而非停用就好

已經安裝但沒有啟用的外掛與佈景主題,會被網站健康列出來,原因跟停用與刪除的差別有關。外掛或佈景主題停用之後,程式碼不會被載入,不會直接拖慢網站速度,但檔案本身還留在主機上,等於多一個潛在的安全掃描對象。

留著不用的外掛,還有被誤點重新啟用,或是被有心人士利用舊版本已知漏洞的風險,官方建議的做法因此是確定不會再用就直接刪除,而不是停用之後留著備用。真的擔心之後還要用,備份設定或匯出資料會比留著整支閒置外掛更安全。

外掛有更新待安裝,牽動的是資安更新的速度

外掛有更新待安裝這一項,官方文件把它列在嚴重問題的範例裡,理由是外掛能深入存取網站的各個角落,從聯絡表單到金流串接都可能是外掛在處理,這代表外掛保持更新,是拿到安全性修補最直接的一條路。

不過這不代表每次跳出更新提示,都要不假思索立刻全部按下去。比較穩妥的做法是先看一下這次更新的說明,確認有沒有重大變更,備份過網站再處理,尤其是牽動金流或會員資料的外掛,更新前多一道確認,能避免因為版本不相容,反而讓網站當掉或功能跑掉。

持久化物件快取和自動載入選項的進階效能建議

這兩項是比較晚才加進網站健康、也比較少人聽過的效能類建議,看到這兩個名詞不代表網站設定有錯,而是 WordPress 在提醒,流量或資料庫查詢量已經到了某個規模,做這些調整會有感。持久化物件快取,像是 Redis 或 Memcached,能減少同一批資料被重複查詢資料庫的次數;WordPress 6.1 版新增了這項偵測,只有判定網站處於正式環境時才會出現這項建議。共享虛擬主機不一定支援安裝 Redis 或 Memcached,需要的話得先跟主機商確認方案等級允不允許,不是自己在 WordPress 後台就能開關的功能。

自動載入選項則是資料庫裡另一種狀況,指的是每次頁面載入時,都會被整批讀進記憶體的一批設定資料。這批資料如果累積過大,會拖慢每一次頁面請求的速度。WordPress 6.6 版加入了這項檢測,預設的判定門檻是 800,000 位元組,大約 800KB,總量超過這個門檻就會直接被判定為嚴重問題,這項測試只有良好與嚴重兩種狀態,沒有中間的建議改善。遇到這項警示,實際要處理的是找出哪些外掛在資料庫裡塞了過量的自動載入資料,而不是自己動手去修改資料庫內容。

六大類警示同時出現時,判斷優先順序看這幾個條件

網站健康頁面同時跳出好幾種警示是常態,排優先順序該看的是這項警示代表主動攻擊面、還是某個原本會自動運作的機制正在停擺,或者只是單純的維護債,而不是警示顯示的顏色或位置。

  1. 官方文件明確標記為資安類的嚴重問題,例如自動更新沒有真的生效、PHP 版本過舊,加上外掛有更新待安裝,這幾項牽涉的是主動攻擊面,原則上排最前面處理。
  2. 背景更新、迴圈請求、REST API 出錯、連不上 WordPress.org,這幾項共通點是某個原本會自動運作的機制正在失效。即使暫時沒看到具體影響,也代表網站已經有一部分自動化在停擺,拖得越久,越難回溯是哪個設定或哪次變更造成的,不建議放著不管。
  3. 除錯設定外洩到前台或寫進可公開存取的檔案,正式站不該留著這種設定,屬於一旦發現就該立刻關掉的低成本高風險項目,處理起來通常只是改一個設定值,沒有理由拖。
  4. 閒置外掛佈景主題、持久化物件快取、自動載入選項這類建議改善,可以排進固定的維護排程,例如每次要更新核心或外掛前,先看一眼這個頁面,不必當下立刻處理,但也不該放到無限期不管。
六大類警示同時出現時的處理順序,從資安嚴重問題到維護債,越上面越該先處理。
多種警示一起跳出來時,先處理主動攻擊面與正在停擺的自動化機制,除錯外洩發現就關,維護類建議排進固定排程。

同一類警示,在不同網站上的急迫程度也可能不一樣,例如背景更新失效這件事,在幾乎沒人維護的網站上,會比每天都有人手動更新的網站更值得優先處理。實際的檢視習慣,不必等紅字自己跳出來才想到要處理,而是把例行更新前先看一眼這個頁面,當成固定的維護動作。

WordPress網站健康這個頁面的用意,從來不是要每個人都衝到滿版綠燈的完美狀態,而是幫你把心力放在真正牽動資安與穩定度的項目上。下次點開工具選單看到一排紅字,先分辨這是主動攻擊面、自動化機制停擺,還是可以排進維護排程的維護債,遠比把每一條都當成同一種緊急程度更實際。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

WordPress網站健康是什麼?

WordPress網站健康是 5.2 版起內建在後台「工具」選單的自我診斷畫面,分成「狀態」與「資訊」兩個頁籤,只回報 WordPress 自己認得出的設定與環境問題。WordPress網站健康不掃描惡意程式碼,滿版綠燈也不代表網站沒被駭。

WordPress網站健康的百分比分數去哪了?

WordPress網站健康的百分比在 2019 年 11 月的 5.3 版就拿掉了,改成只顯示「良好」或「應改善」兩種狀態。原本的百分比只是在算有多少項測試通過,卻容易被誤會成網站有多完美;只要有任何一項嚴重問題,整體就一律顯示應改善。

WordPress 提示 PHP 版本過舊怎麼辦?

WordPress 提示 PHP 版本過舊,比對的是這個版本還在不在 PHP 的支援期限內,不是有沒有用到最新版。PHP 版本通常由主機商在伺服器端設定,得向主機商申請調整或到主機控制台切換,調整前先做一次備份。

WordPress 迴圈請求失敗是什麼原因?

WordPress 迴圈請求失敗,通常不是 WordPress 本身壞掉,而是主機防火牆規則、網站設了密碼保護、DNS 設定有問題,或外掛彼此衝突,把這個內部請求擋在半路。檢查方向是主機環境與外掛相容性。

WordPress REST API 錯誤該怎麼處理?

WordPress REST API 出錯,多半是資安外掛限制了存取範圍,或 CDN、WAF 這類伺服器層防火牆擋掉特定路徑,要先確認自己設定的資安規則是否正在生效。不建議把 REST API 整個關掉,限制特定端點的存取範圍比較精準。

資料來源
  1. Site Health screen – Documentation — WordPress
  2. What's New in Site Health for WordPress 5.3 — WordPress
  3. PHP: Supported Versions — PHP
  4. wordpress-develop:site-health.js(網站健康整體狀態加權判定) — WordPress
  5. WordPress.org Serve Happy API:PHP 8.1 查詢結果 — WordPress
  6. WordPress 5.2 “Jaco” — WordPress
  7. WordPress 5.3 “Kirk” — WordPress
  8. wp_check_php_version() – Function — WordPress
  9. WP_Site_Health::get_test_php_version() – Method — WordPress
  10. Improved HTTPS detection and migration in WordPress 5.7 — WordPress
  11. WP_Site_Health::can_perform_loopback() – Method — WordPress
  12. WP_Site_Health::get_test_rest_availability() – Method — WordPress
  13. New cache Site Health checks in WordPress 6.1 — WordPress
  14. WP_Site_Health::get_test_autoloaded_options() – Method — WordPress