解決!「REST APIでエラーが発生しました」PHP&WP更新

スポンサーリンク
AD

ワードプレスのサイトヘルスに、「致命的な問題」が発生したと警告が出た。

 

REST API でエラーが発生しました

REST API でエラーが発生しました

1件の致命的な問題
致命的な問題とは、サイトのパフォーマンスやセキュリティに多大な影響を与える項目です。最優先で、これらの問題を解決してください。

 

えらいこっちゃ。

 

色々調べて先ほど解決したのですが、

結論から言うと、

PHPを推奨バージョンに更新 → WordPressを最新バージョンに更新

この2つの更新で、REST API のエラーが解消しました!

 

ただ、WordPressのテーマによっては、

さらなるエラーが発生するかも・・・!

 

そこで今回は、「REST API でエラーが発生しました」の対処法を詳しく説明します!

 

スポンサーリンク

「REST API でエラーが発生しました」プラグインが原因じゃない時の対処法

ワードプレス サイトステータス 改善が必要

サイトヘルスステータスに表示される「REST API でエラーが発生しました」の原因と対処法について、

グーグル検索をすると以下のような方法が出てくる。

 

ログアウトしてみる
テーマをデフォルトにする
プラグインを1つ1つ無効化して、その都度サイトヘルスを確認する

 

いずれも試してみたが、エラーは解消されなかった。

 

「サイトでループバックリクエストが完了できませんでした」古いPHPが原因?

ふと、サイトヘルスの「おすすめの改善」の方に出ていた、

もう1つのエラーが目に留まった。

 

サイトでループバックリクエストが完了できませんでした

 

見かけないエラーだな・・・。

 

そこで、「サイトでループバックリクエストが完了できませんでした」の対処法を調べてみたところ、

使用しているPHPのバージョンが古い 

という情報(※)が出てきた。

 

※sheeepy.comさんの記事を参考にしました。

Wordpressのサイトヘルスで「ループバックリクエストが完了できません」を解消する方法 | sheeplog.
WordPress(ワードプレス)のサイトヘルスチェックで 「サイトでループバックリクエストが完了できませんでした」 の改善必要ありと、エラー警告がでたときの解消法について紹介していきます。 【WordPress】サイト …

 

そういえば、過去に何度か起きたワードプレスのエラーの原因のいくつかは、こいつが原因だった。

PHP・・・あやしい!

 

古いPHPをバージョンアップ「非推奨」→「推奨」に変更する

さっそく、エックスサーバーの「サーバーパネル」で、

PHPバージョン切替」を開いたところ、

 

PHPバージョン切替 非推奨 エックスサーバー

 

現在のバージョン「PHP7.4.33(非推奨)」

 

やっぱり。

PHPのバージョンが「非推奨」になってる!

 

エックスサーバー PHPバージョン 推奨

 

PHPを最新バージョンに変更する。

 

PHPのバージョンは「推奨」と表示されているものを選べば良い。

現時点では「PHP8.1.22」が推奨だったので、このバージョンに変更した。

 

スポンサーリンク

 

なぜ⁉ ワードプレス「サイトヘルス画面」が表示されない原因

よし。これでサイトヘルスのエラーは解消だ!と思いきや・・・

 

ワードプレス サイトステータス 

 

むむ?

相変わらず、サイトヘルスステータスは『改善が必要』なまま。

エラー数も4項目のまま変わっていない。

 

しかも! なぜ?!

サイトヘルス画面(詳細)が表示できない。汗

 

ダッシュボードのサイトヘルスステータスからはもちろん、「ツール」→「サイトヘルス」もダメ。

 

ワードプレス管理画面の他のメニューは開けるのだが、なぜか「サイトヘルス」だけ表示できない。(クリックしても反応しない)

 

PHPバージョン更新後、WordPressを最新バージョンに更新でエラー解消!

若干パニックになりつつ、ひらめいた。

 

「PHPを更新したってことは・・・ワードプレスのバージョンはどうなんだ?」

 

ワードプレス バージョン更新

WordPressの新しいバージョンがあります。

 

やっぱり!!!

 

念のため、更新前にバックアップをとってから、

WordPressを最新バージョンに更新!

 

サイトヘルス エラー解消

 

キタ━━━━(゚∀゚)━━━━!!

 

いや、もちろんまだ、サイトヘルスの『おすすめの改善』には、

「永続オブジェクトキャッシュを使用してください」とか
「ページキャッシュは検出されませんでしたが、サーバーのレスポンスは良好です」とか表示されてるけど、

それはどうでもいい。

(調べたけどよくわからなかったので、あまり影響はないと判断した)

 

致命的な問題が解決したなら、オールオッケー!\(^o^)/

 

 

・・・と思いきや、

またまたエラーコードが!!

 

追記:PHP更新後「Warning: Undefined array key」エラーが出た場合の対処法

Warning Undefined array key postpage_head

ここまでの対処法で『サイトヘルス』は正常になったのですが、

別ブログ(別のWPテーマを使っているブログ)の一部に、

変なエラーコードが表示されていることに気づきました。

 

Warning Undefined array key postpage_head~

 

上記は、WordPressの管理画面から「新規投稿」する際に表示されたエラーで、

管理画面の「プラグイン」も開かなくなる不具合が生じていました。

 

また、投稿済みのブログ記事にも、同様のエラーコードが表示されていました。

 

そこで試しに、PHPを8→7に戻したところ、エラーは消えました。

 

しかし、WPテーマの『Cocoon』を使用しているブログは、

「PHP8」でも正常に動いていましたので、

不具合の発生したWPテーマの制作元に、上記のエラー内容について報告しました。

 

その後、制作元から、『現在テーマがPHP8に対応できていないため、対応が完了するまでPHP7をご利用ください』と連絡がありました。

 

PHPのバージョンを上げると、このような不具合が出ることが時々あります。

変なエラーコードが出た時は、PHPのバージョンを元に戻すと直ったりします。

落ち着いて対処しましょう。

 

まとめ WPサイトヘルス致命的な問題の対処法

今回は、「REST API でエラーが発生しました」の対処法として、

PHPを推奨バージョンに更新 → WordPressを最新バージョンに更新

この2つの更新で解消できることを図解で説明しました。

PHPやワードプレスのバージョンを上げてもエラーが解消しない時は、プラグインを1つずつ無効化して、サイトヘルスのエラーが解消するか試してみてください。

PHP更新後に、WordPressに変なエラーコードが表示された際は、PHPのバージョンを元に戻してエラーが消えるか確認しましょう。

タイトルとURLをコピーしました