WordPress 6.4に更新したら「REST API でエラーが発生しました」と管理画面のサイトヘルスステータスに表示されました。
その内容には「cURL error 28」のエラー表示があります。
これはどうすれば解消できるのでしょうか?
REST API でエラーの原因と対処方法を紹介します。
WordPress 6.4で「Rest API でエラー」が発生
2023年11月8日にWordPress6.4への更新が表示されました。
いつもの通り更新すると、「1件の致命的な問題」があると警告が表示。
その内容は「Rest API でエラーが発生しました」というもの。
さらにパフフォーマンスボタンをクリックすると以下の通り詳しく出ています。
「REST API のテスト時に、エラーが発生しました」となっており、その下にはURLが表示されています。
2行ある中の1行にエラーコード「REST API レスポンス: (http_request_failed) cURL error 28」がありました。
REST API レスポンス: (http_request_failed) cURL error 28: Operation timed out after 10000 milliseconds with 489 out of -1 bytes received
エラーの内容
「cURL error 28」が原因解決のキーと推測されます。
cURL error 28とは?
「cURL error 28」と聞きなれないエラー用語が表示されています。
cURLとは別名Client URLともいいURLを通じてサーバーとの間でデータの送受信を行います。
WordPressでは「REST API」内で使用されています。
cURLがAPIリクエストを処理するとサイトがサーバーとデータベースに接続し、その結果データを送信できるようになります。
このデータ転送処理にはある一定の時間がかかります。
その処理時間がタイムアウトすると「cURL error 28: Connection timed out」というエラーメッセージを返してきます。
通常、今回のようにWordPress管理画面の「サイトヘルス」セクションに表示されます。
「REST API でエラーが発生しました」をクリックすると次のメッセージが表示されます。
この意味は、〇バイトを受信し〇〇ミリ秒後にオペレーションがタイムアウトしたという内容です。
REST API レスポンス: (http_request_failed) cURL error 28: Operation timed out after 10000 milliseconds with 489 out of -1 bytes received
今回の内容は、[489 out of -1]バイトを受信し10000ミリ秒後にオペレーションがタイムアウトしたということです。
原因としては、主に次のことが知られています。
- Wordfenceなどのファイアーウォールがセキュリティの脅威からサイト保護のためリクエスト受信がブロックされた場合
- DNSサーバーのエラーでWordPress側がHTTPリクエストを正しく読み込めない場合
- WordPressのプラグインの不具合
ここまで実施した対処方法
まず考えられるのが、セキュリティのプラグイン「Wordfence」です。Wordfenceを無効化してから再度ログインしてみましたが、改善されません。
次は、全てのプラグインを無効化してみましたが、これも改善されません。
DNSサーバー関連は正常です。
どの方法でも解消されません。
つまり残すところはWordPress6.4の不具合が疑われるので、様子を見ることにしました。
今回のエラーの原因と解消について
今回はいろいろ対処方法を検討し様子を見ている中で、WordPress6.4.1へのマイナーアップデートがありました。
WordPressの管理画面の更新を開いてみました。
すると新しいマイナーバージョン「WordPress6.4.1」がリリースされていました。
エラーから1日後でした。
また、サイトヘルスを確認すると、ここでもWordPres6.4.1に更新できると表示されていました。
早速更新すると今回の「Rest API でエラーが発生しました」の表示は消え、無事解消されてステータスは「良好」になりました。
WordPress 6.4で「Rest API でエラー」(まとめ)
今回はWordPress6.4の不具合があり、WordPress6.4.1で解消したと推測しています。
今後もWordPressの更新では同様な事例が発生することも予測されます。
WordPressの新バージョンへの更新では時間をかけて様子をみながら行うのがおすすめです。