如何修復 WordPress 中的無效 JSON 錯誤

已發表: 2022-06-27

與其他錯誤不同,WordPress 中的無效 JSON 錯誤很容易理解和修復。 對於不知情的情況,當您在塊編輯器中工作時 WordPress 無法與 Web 服務器通信時,就會出現這種情況。 服務器的響應採用 JSON 格式,這解釋了錯誤。

解決問題不應超過幾分鐘,並且將是以下之一:

  • 找出簡單的事情是否是導致錯誤的原因。
  • 檢查您的 WordPress URL 並在必要時更改它們。
  • 調整您的永久鏈接設置,或至少重建它們。
  • 查看 WordPress 中的站點健康頁面以獲取有關如何進行的線索。
  • 重建您的 .htaccess 文件。

其中之一將是解決方案,儘管希望您不需要查看所有這些。 我們在這裡從最簡單到最難的順序介紹了五種解決方案,儘管這是相對的,因為您可能很快就會擁有解決每一種解決方案所需的技能。

1. 執行一些簡單的步驟來診斷錯誤

在您深入設置屏幕之前,您需要確保不是 WordPress 中無效 JSON 錯誤的原因。 但是,請先創建您網站的完整備份,以防您以後需要恢復您的網站。

一旦你在包裡有備份,請查看以下所有“陷阱”:

  • 切換到默認主題,以防您的主要主題出現故障。
  • 如果您使用 Web 應用程序防火牆 (WAF),請關閉它。 您可能會暫時禁用整個安全插件。
  • 說到這一點,最好停用和響應您的插件,看看是否有一個是導致 WordPress 中無效 JSON 錯誤的原因。 這是平台內的典型故障排除步驟,有時可以突出惡意插件的問題。
  • 嘗試使用經典編輯器,看看您是否仍然可以在沒有看到錯誤的情況下實現您的需求。 然而,你不應該認為這是一個永久性的修復,更多的是從故障發動機上刮去鏽跡。

如果你沒有激活 WordPress 的調試模式,你也應該這樣做,這樣你就可以嘗試找出錯誤的原因。 但是,它很可能是以下解決方案之一,並且不會花費太長時間來解決。

2. 檢查您的 WordPress 網址

對於第一種方法,您需要登錄 WordPress 並前往“設置”屏幕:

WordPress 設置屏幕。

General選項卡上,檢查兩個字段,即WordPress Address (URL)Site Address (URL) 。 在絕大多數情況下,它們將與您網站的域名相同:

WordPress 地址 URL 和站點地址 URL 的字段。

您可能會知道您是否在不同的目錄下有 WordPress,這將在此處解釋明顯的區別。 但是,WordPress 不理解的差異將觸發無效 JSON 錯誤。

可能是這些 URL 使用了錯誤的 HTTP 協議:如果您有安全套接字層 (SSL) 證書,則每個 URL 都應使用https:// 。 我們的建議是檢查每個 URL 中的拼寫錯誤,並檢查每個 URL 是否使用正確的協議。

進行任何修復後,保存更改並檢查錯誤。 如果它仍然出現,請轉到下一個方法。

3. 調整您的 WordPress 永久鏈接設置

在“設置”頁面中,前往“永久鏈接”選項卡。 您的永久鏈接結構可能存在問題,這可能會導致 WordPress 中出現無效的 JSON 錯誤。

Wordress 的永久鏈接設置屏幕。

這裡的解決方案很簡單:

  • 選擇永久鏈接類型。 除非您使用自定義結構,否則請堅持使用此頁面上的當前選項。
  • 保存您的更改。 這將“休息”您的永久鏈接設置,並且應該消除 WordPress 中的無效 JSON 錯誤。

但是,如果您使用自定義永久鏈接結構,請確保您使用的標籤沒有拼寫錯誤或語法錯誤:

WordPress 帖子名稱和自定義結構字段。

即使一個字符不合適也會導致錯誤,因此請修復您發現的任何內容,保存您的更改,並檢查更多問題。

4.查看站點健康日誌以獲取線索

WordPress 包含一個方便的屏幕,可幫助您判斷網站的“健康”程度。 站點健康頁面本質上是一個關鍵問題列表和建議的改進,以幫助您站點的各個方面。 例如,您可以優化性能、進行搜索引擎優化 (SEO) 等:

WordPress 的站點健康屏幕。

如果您在 WordPress 中遇到無效 JSON 錯誤,您可能會看到另一個推薦的改進:“REST API 遇到意外結果”。 這應該會給您一些關於 JSON 錯誤所在位置的指示,並且您可以從那裡進一步調查。

但是,如果您沒有太多閱讀此類錯誤日誌的經驗,您可能需要聯繫您的主機。 這樣,他們可以告訴您問題與什麼有關,以及是否是服務器端的問題。

5. 重建你的.htaccess文件

在 WordPress 中解決無效 JSON 錯誤的最終方法是最困難的,但仍然很簡單。 您的.htaccess文件是 Apache 服務器的一組配置。

與 Nginx 不同,Apache 用戶可以處理服務器配置。 因此,這可能會導致 WordPress 中出現無效的 JSON 錯誤。

這裡最好的方法是重建.htaccess文件本身,這很容易做到。 事實上,您在更改永久鏈接設置時可能已經這樣做了,因為在此處保存更改會重新生成.htaccess文件。

但是,您可能希望自己從頭開始創建一個乾淨的文件,以確保不會引入錯誤或保留錯誤。

首先,您需要備份舊的.htaccess文件。 為此,我們建議使用安全文件傳輸協議 (SFTP) 訪問您的服務器並將.htaccess文件拖到您的本地計算機上。 這是您需要的:

對您的服務器的管理訪問權限以及登錄憑據。 您通常可以在主機控制面板或主機的電子郵件中找到這些內容。

  • 合適的 SFTP 客戶端,例如 FileZilla、Cyber​​duck 或 Transmit。
  • 有關如何使用 SFTP 的知識,我們在博客上的專門文章中對此進行了介紹。

您的.htaccess文件將位於站點主目錄的根目錄中,過程是將其拖到您的計算機上(並設置為顯示隱藏文件):

顯示包含 .htaccess 文件的 WordPress 目錄的 SFTP 客戶端。

從這裡,在您的計算機上複製,清除內容,然後添加以下內容:

 # 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

這是一個默認的.htaccess文件。 將其另存為.htaccess ,然後再次將其上傳到您的服務器。 從這裡檢查錯誤。

結論

WordPress 中的無效 JSON 錯誤很容易理解和修復,如果您需要繼續在您的網站上匆忙工作,這很好。 此錯誤的大多數解決方案都與您的服務器的配置設置有關,因此您將在 WordPress 的設置屏幕中四處尋找來解決它。

在某些情況下,您需要從頭開始重新構建.htaccess文件,但即使這樣也沒有摩擦。 但是,如果您仍然在您的網站上看到錯誤,最好聯繫您的主機以獲取進一步的建議。 服務器上可能有一些東西不能很好地與您的站點配置配合使用,他們需要對其進行調查。

您是否遭受 WordPress 中的無效 JSON 錯誤的困擾,我們的解決方案之一對您有幫助嗎? 在下面的評論部分讓我們知道!