JetPackやGutenbergの接続エラーの原因と解決方法(の一つ)

意外に困っているけど、原因や解決方法がわからないことが多い問題について解説します。

問題について

ここでは、wordpress.com で JetPackの連携がうまくいかない(下記のようなもの)
あるいは、Gutenbergが起動しない(真っ白な場合)などの問題の解決方法を説明します。

考えられる原因

Gutenbergの場合は、他のプラグインやテーマのプログラムが原因で「真っ白」やエラーをすることがあります。ただし、有名なプラグインの多くは「対応している」ことが多いので、大抵は「別の原因」であることが多いです。 考えられる原因の一つが「セキュリティ設定」です。 具体的には、xmlrpc.phpwp-json に対するセキュリティ設定です。

xmlrpc.php、wp-json とは?

WordPressは、外部のアプリケーションやプラグイン(特にAJAX系)と連携するために、/xmlrpc.php/wp-json が利用できます。どちらも「プログラムが利用する管理画面」のようなものです。 人間が使う場合は、/wp-admin にアクセスしますが、プログラムやアプリは、上記にアクセスして、投稿、情報検索などができます。 この xmlrpc.php や wp-json を利用するプラグインで有名なものは です。これらのプラグインを利用する場合、xmlrpc.php や wp-json を有効化しておく必要があります。

レンタルサーバーのセキュリティ設定

ところが、レンタルサーバーの多くで「セキュリティ設定」として、xmlrpc.php や wp-json へのアクセスを制限しています。例えば、XServer だと、デフォルト(初期設定)では、 となっています。 極端な表現をすれば、このセキュリティ設定は「外国は信用できない」「日本国内は信用する」ということなので、当てになりません。日本国内を装って、攻撃することは簡単です。 ですので、あまり意味はないのですが、CloudFlare などの CDN(Content Delivery Network : アクセスを高速化するためのキャッシュ機能)を利用すると、影響が出ます。 例えば、CloudFlareを利用すると、アクセスは全て「CloudFlare経由」となり、国外からのIPアドレスでアクセスしていることと判定され(ることがあり)、拒否されます。
CloudFlare経由になることで、国外IPと認識され、アクセスが拒否される様子
その結果、 などが起こります。

解決方法

大前提としてセキュリティ対策をします。これは、JetPackをインストールすることです。JetPackをインストールすると、不正なアクセスを防いでくれます。 JetPackのセキュリティ設定については、こちら JetPackのセキュリティ設定を行ったら、レンタルサーバーのセキュリティ設定を外します( xmlrpc.php や wp-json )。
XServerの例

まとめ

  1. JetPackをインストール
  2. JetPackのセキュリティ設定を行う
  3. レンタルサーバーの xmlrpc.php とwp-json のセキュリティ設定を外す
  4. うまく動くか試す


コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください