
Photo Jakob Owens via Unsplash
Jetpackはこれ一つのプラグインで、SNSの共有ボタンを表示したり、投稿をFacebookやTwitterに自動投稿したり、関連記事を表示したり、XMLサイトマップを生成したり、管理画面への怪しいログインを監視してくれたりと、便利な機能が盛りだくさんのプラグインです。
JetpackはWordPressにインストールしたら、Jetpack.comと連携して使用します。
しかし、テーマやサーバー環境によってはJetpackの連携がうまくできなかったり、設定を変更しようとするとエラーが発生することがあります。「Jetpack SyntaxError: Unexpected token < in JSON at position 0」や「設定の更新中にエラーが発生しました。Error: [object Object]」というエラーメッセージに悩まされたことがある方も多いでしょう。
私は一部のブログの運営に無料テーマのSimplicityを使っているのですが、Simplicityを使っているとJetpackが上手く動作しないときがあります。
今回はSimplicityなど特定のテーマでJetpackが連携できないとき、エラーになったときの解決方法をご紹介します。
デフォルトのテーマに変更する
解決方法は簡単です。デフォルトのテーマに戻してみることです。
Jetpackがエラーになる場合、テーマとの相性に問題があることがあります。
デフォルトのテーマを削除してしまった場合は、テーマの新規追加画面から「Twenty Seventeen」などを追加します。
デフォルトのテーマに戻したら、Jetpackの必要な設定を変更します。Jetpackの設定が完了したら、使用したいテーマに戻します。
一度、設定の変更をしてしまえば、使いたいテーマに戻しても問題なく動作することがほとんどです。
私はエックスサーバーでSimplicityを使用していますが、Jetpackにエラーが出たときは、この方法で解決できています。
XML-RPC APIへの海外からのアクセスを許可する
JetpackはJetpack.comとの連携に「XML-RPC API」というWordPressの仕組みを使っています。
レンタルサーバーによっては、セキュリティ対策として、「XML-RPC API」への海外からのアクセスを制限していることがあります。Jetpack.comは海外からのアクセスになるので、この制限によりサーバーに接続できず、エラーになってしまうことがあります。
「XML-RPC API」への接続が制限されているサーバーの場合、接続制限を解除することで、問題が解決することがあります。ただし、海外からの接続を許可した状態のままではセキュリティが低くなってしまうので、Jetpackの設定が完了したら元に戻しておくことをおすすめします。
ちなみに、エックスサーバーでも、WordPressのセキュリティ対策として「XML-RPC API 」への海外からのアクセスを制限しています。この制限は、エックスサーバーのサーバーパネルの「WordPressセキュリティ設定」にある「XML-RPC API アクセス制限」をOFFにすることで解除することができます。ですが、エックスサーバーでは「XML-RPC API アクセス制限」をONにした状態でも、Jetpack からのアクセスを許可しているので、この設定は関係ありません。