如何修復WordPress網站提示’The Invalid JSON Error’錯誤

錯誤型別:
其他錯誤
錯誤名稱:
无效JSON错误
英文名稱:
The Invalid JSON Error
錯誤描述:
无法从服务器接收到预期的响应会导致WordPress发生 'Not a Valid JSON Response' 错误。

在WordPress網站上編輯文章或頁面時,你是否曾經遭遇過 ‘The response is not a valid JSON response’ 這樣的錯誤。

在本教程中,我們將詳細說明如何修復WordPress中的無效JSON錯誤。我們還將討論為什麼會發生此錯誤,以及將來如何避免該錯誤。

如何修復無效JSON錯誤

什麼導致WordPress出現 ‘Not a Valid JSON Response’ 錯誤?

無法從伺服器接收到預期的響應會導致WordPress發生 ‘Not a Valid JSON Response’ 錯誤。

基本上,WordPress在編輯部落格文章時需要與伺服器通訊。它依賴於在後臺從Web託管伺服器獲取響應。此響應通常採用JSON格式,該格式用於使用JavaScript快速傳輸資料。

如果由於某種原因,WordPress無法獲取響應,或者響應不是JSON格式,那麼您將看到 ‘Not a Valid JSON Response’ 錯誤,如下圖所示。

無效JSON錯誤提示

出現此錯誤的原因有很多。

  • 網站 URL 設定不正確。不匹配的 WordPress 網站地址設定會破壞 JSON 響應。
  • 外掛衝突。不相容或編碼不良的 WordPress 外掛可能會干擾 JSON 響應。
  • 伺服器配置問題。伺服器端問題或資源不足可能導致此錯誤。
  • SSL/ 混合內容問題。來自 HTTP 和 HTTPS 元素的混合內容會妨礙正常的 JSON 通訊。
  • 固定連結結構問題。不正確的永久連結設定會影響 URL 的處理方式,從而導致 JSON 錯誤。

但是,最有可能的原因是WordPress中的網址設定不正確或固定連結失效。

下面讓我們一起看看應該如何修復WordPress所出現的無效JSON錯誤。

重要提示:在對網站進行更改前,請進行執行WordPress備份。以防出現問題,可快速將網站還原到以前的狀態。

排除JSON響應無效錯誤的方法

1. 檢查WordPress的連結設定

首先,您需要確保WordPress地址和站點地址設定正確。

轉到設定»常規頁面。即可檢視WordPress地址(URL)和站點地址(URL)欄位。

WordPress連結設定

對於大多數網站,此設定的兩個欄位應該對應相同的URL。

但是,也有少部分站長給WordPress設定指定的目錄,並在其他地址上為網站提供服務。在這種情況下,兩個URL地址可能不同。

但是,如果站點地址不正確,這會導致WordPress觸發無效的JSON錯誤。

如果是因為WordPress地址和站點地址設定錯誤問題,修正並儲存更改後。再次編輯部落格文章,檢視是否新增任何新區塊或儲存該文章,看是否會觸發 ‘Not a Valid JSON Response’ 錯誤。

如果仍然看到錯誤,請往下看。

2. 修復WordPress固定連結結構

WordPress帶有SEO友好的URL結構,這樣對文章和頁面使用人類可讀的URL。

但是,有時使用者可能會弄​​亂固定連結設定。這可能導致WordPress編輯器無法獲得有效的JSON響應並導致顯示錯誤。

要解決此問題,您只需訪問設定»固定連結頁面。在這裡,您需要仔細檢視固定連結選項。

WordPress固定連結設定

如果不確定是否使用正確的設定,則只需選擇可用的預設格式之一。

之後,繼續並單擊“儲存更改”以儲存您的設定。

然後嘗試編輯部落格文章或頁面,以檢視錯誤是否已消失。如果還沒有,那麼嘗試下一步。

3. 重新生成htaccess檔案

WordPress中的.htaccess檔案用作配置檔案,用於管理SEO友好的URL(固定連結)。

通常,WordPress可以自動重新生成和更新它。您還可以通過單擊“設定”»“固定連結”頁面底部的儲存更改”按鈕來觸發該更新。

但是,有時它可能無法更新或設定不正確。這會影響您的WordPress固定連結,還可能導致無效的JSON響應錯誤。

要解決此問題,您需要使用FTP客戶端或WordPress託管帳戶資訊中心中的檔案管理器應用程式連線到您的網站。

連線後,您需要在網站的根資料夾中找到.htaccess檔案,並將其下載到本地計算機。

FTP下載htaccess

提示:無法找到.htaccess檔案?參考如何查詢.htaccess檔案這篇文章。

之後,您需要使用FTP客戶端或檔案管理器應用編輯.htaccess檔案。

編輯htaccess

開啟檔案後,替換為以下程式碼:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
# BEGIN WordPress 
RewriteEngine On 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
RewriteBase / 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress

儲存更改後並將檔案上傳回網站伺服器檔案原來的位置。

再次訪問您的網站並編輯和釋出頁面,以檢視是否可以重現無效的JSON響應錯誤。

如果仍然看到錯誤,則可以採取下面其他一些步驟。

4. 修復任何WordPress混合內容錯誤

當網站載入 HTTP 和 HTTPS 元素時會出現混合內容,這可能會導致安全和功能方面的問題。

在 WordPress 中,混合內容會破壞編輯器和伺服器之間的通訊,因為瀏覽器會阻止所謂安全頁面上的非安全請求。修復混合內容可確保安全載入所有元素,解決潛在的 JSON 錯誤。

指南如下:

  1. 安裝一個外掛,如 Really Simple SSL Better Search Replace。這些外掛可以檢測資料庫中的混合內容警告,並將 HTTP URL 轉換為 HTTPS。

Better Search Replace

  1. 檢查主題檔案、小工具、圖片和其他內容區域是否有硬編碼的 HTTP 連結,並手動將其更新為 HTTPS。
  2. 使用快取外掛清除 WordPress 快取,確保正確應用新設定。

5. 檢視Rest API除錯日誌

無效的JSON響應錯誤也可能意味著WordPress的REST API遇到錯誤。REST API是當您在網站上工作時WordPress用於與伺服器通訊的一組技術。

您可以在WordPress網站執行狀況工具中檢視此錯誤的詳細資訊。訪問工具»站點健康頁面。

站點健康REST API意外錯誤資訊

在此處,您可能會看到一個標記為 ‘The REST API encountered an unexpected result’ 的問題。單擊問題將會顯示更多詳細資訊,這可能會給您一些提示,指出哪些外掛或第三方服務可能會導致此問題。

WordPress REST API 使編輯器能夠與伺服器通訊,並執行儲存和釋出內容等任務。如果 REST API 被阻止或出現故障,編輯器就無法收到有效的 JSON 響應。

檢視 REST API 除錯日誌可幫助你找出導致此錯誤的任何潛在問題。請按照以下說明檢視除錯日誌:

  1. 通過 FTP 或託管提供商的檔案管理器訪問 WordPress 網站的根目錄。
  2. 開啟 wp-config.php 檔案,在“That’s all, stop editing! Happy publishing!”一行,以啟用除錯和日誌功能:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    wp-config.php 檔案 完成後,儲存更改。

  3. 進入 WordPress 編輯器,嘗試更新內容以觸發錯誤並生成日誌條目。
  4. 訪問網站根目錄下的 wp-content 目錄。然後找到 debug.log 檔案並開啟,檢視日誌條目。 debug.log 檔案
  5. 在該檔案中查詢與 REST API 相關的條目。這些條目可能會提供導致 JSON 錯誤的線索,例如 SSL 證書問題、伺服器配置問題或請求受阻。

6. 停用所有WordPress外掛

有時,WordPress外掛可能彼此衝突或與WordPress核心衝突。這可能會導致意外行為,並且可能是無效JSON錯誤的潛在原因。

只需轉到“外掛»已安裝外掛”頁面。在這裡,選擇所有WordPress外掛,然後在“批量操作”下拉選單下選擇“停用”,單擊“應用”按鈕繼續。

WordPress外掛停用

WordPress現在將停用所有已安裝的外掛。

如果錯誤消失,則表明您網站上安裝的一個外掛引起了該錯誤。

要弄清楚哪個外掛,您需要一個個地啟用,然後嘗試重現該錯誤。重複此過程,直到找到罪魁禍首。

之後,您可以與外掛作者聯絡以獲得支援或找到其他外掛。

7. 臨時切換到經典編輯器

在努力解決無效 JSON 響應錯誤的同時,還有一些臨時解決方案可以繼續不間斷地更新內容。這些方法有助於繞過問題,在應用永久性修復之前提供一種變通方法。

使用經典編輯器外掛

顧名思義,經典編輯器外掛可以讓你使用以前的經典編輯器。它對 WordPress REST API 的依賴性較低,可以幫助避免塊編輯器的問題。具體方法如下:

  1. 在儀表盤中,轉到外掛 → 安裝新外掛
  2. 搜尋 Classic Editor 外掛,安裝並點選啟用

Classic Editor 外掛

  1. 啟用後,它將取代 WordPress 區塊編輯器。再次嘗試編輯內容,看看問題是否得到解決。

編輯內容

直接上傳媒體檔案

如果在塊編輯器中上傳圖片或檔案時出現 JSON 錯誤,作為臨時解決方案,您可以直接通過媒體庫上傳媒體:

  1. 導航至媒體 → 新增檔案
  2. 在此上傳檔案,然後將它們插入到文章或頁面中。

上傳媒體檔案

8. 進一步故障排除

許多事情會阻止WordPress REST API或使其返回無效的JSON響應。我們已經解決了上面最可能的問題,但是,如果這不能解決您的問題,那麼您可以嘗試其他一些步驟。

切換到WordPress預設主題

有時,您的WordPress主題與外掛或WordPress核心之間的衝突可能會導致意外行為。

您可以通過簡單地切換到預設的WordPress主題(例如TwentyTwentyOne或Twenty-Twenty)來進行測試。

暫時關閉網站應用程式防火牆

防火牆通過阻止可疑請求來 保護WordPress網站免受惡意攻擊。不過,出於安全原因,它們也可能阻止來自 WordPress 編輯器的合法請求,導致類似無效 JSON 響應這樣的錯誤。

解決此問題的最簡單方法是暫時禁用WordPress防火牆外掛或服務。

只需停用外掛即可禁用某些應用程式級WordPress防火牆。對於Sucuri和Cloudflare等DNS級別的防火牆,您可以從帳戶儀表盤中將其禁用。

暫時禁用安全防火牆可以確定它是否是問題的根源。請按照以下步驟操作:

  1. 如果使用 Wordfence、Sucuri 或 iThemes Security 等防火牆外掛,請暫時停用。
  2. 使用 Cloudflare AWS WAF 等網路應用程式防火牆 (WAF) 的使用者可以訪問 WAF 網站,開啟設定,暫時禁用或將其設定為“學習模式”。
  3. 如果您的主機提供商有伺服器級防火牆,請訪問控制面板並將其關閉。
  4. 返回 WordPress 編輯器,嘗試儲存或釋出內容。如果錯誤已經解決,則說明是防火牆造成的。
  5. 重新啟用防火牆並調整其設定,允許有效請求而不阻止它們。如果您需要幫助,請聯絡您的外掛、WAF 或主機提供商的支援團隊尋求幫助。

啟用WordPress除錯

WordPress內建debug功能,可讓您記錄錯誤日誌。但是,預設情況下未啟用它。

要開啟它,您需要將以下程式碼新增到wp-config.php檔案中:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG', true ); 
define( 'WP_DEBUG_LOG', true );

之後,WordPress會將所有錯誤的日誌儲存在/wp-content/資料夾中的debug.log檔案中。您可以使用FTP客戶端訪問此檔案。

錯誤日誌可能會為您提供有關導致網站上無效JSON錯誤的原因線索。

小結

WordPress 的 JSON 響應無效錯誤可能由幾個問題引起,如不正確的 URL 設定、外掛衝突或伺服器配置問題。

本文提供了幾個故障排除步驟,從檢查永久連結和禁用外掛到修復混合內容和檢視 REST API 除錯日誌。有條不紊地實施這些解決方案,找出根本原因並解決此 WordPress JSON 錯誤。

如果問題仍然存在,請考慮聯絡 WordPress 專業人員尋求進一步幫助。如果您有任何問題或解決此問題的技巧,請使用下面的評論框。

常見問題

什麼是WordPress中的JSON響應?

WordPress中的JSON響應是伺服器和瀏覽器之間交換的資料,特別是在編輯器中。WordPress 使用 JSON 通過 REST API 進行通訊,以完成儲存和釋出內容等任務。

如何處理JSON響應錯誤?

要處理 JSON 響應錯誤,請檢查 URL 設定、永久連結、外掛和伺服器配置。然後,按照停用外掛、檢視 REST API 除錯日誌和調整安全設定等故障排除步驟解決問題。

如何檢查JSON是否有效?

要檢查 JSON 是否有效,請使用 JSONLint 等線上工具或 Google Chrome 瀏覽器的網路選項卡等瀏覽器開發工具。複製 JSON 響應,將其貼上到工具中,然後進行驗證。該工具會突出顯示 JSON 結構中的錯誤,以便更正。

評論留言