【ワードプレス】プラグインJetpackのエラーが解決できた理由

ワードプレス
この記事は約5分で読めます。

今回は、ワードプレスのプラグインJetpackに関する記事です。

Jetpackを利用したい。プラグインをインストールはできた。有効化し、設定画面もきちんと見れる。だけど、いざ設定しようとすると、「Jetpack SyntaxError: Unexpected token < in JSON at position 0 」というエラーメッセージが出てきて、先に進めない、という方に。私のケースが参考になれば幸いです。(下に続きます…)

スポンサーリンク

Jetpackの導入を試みる

私が利用しているワードプレスのテンプレートSimplicityが新しいバージョンにアップデートされていました。

Simplicity2.4.9公開。Jetpackで管理者にPV表示機能追加、簡単SSL化機能など。
Simplicityを2.4.9にバージョンアップしました。主な変更点は以下。 Jetpack管理者PV表示機能追加 簡単SSL対応機能を追加 アイキャッチ自動挿入機能の不具合修正 Evernote機能の廃止 AMPページではCr

新しく追加された機能の一つに、「1.Jetpack管理者PV表示機能追加」というのがありました。これまで、Jetpackというプラグインのことは知らなかったし、使ってもいなかったのですが、いろいろな機能が付いていて面白そう、モノは試しだ!と導入してみることにしたのです。

再びあちこちググって、プラグインの設定方法などを調べました。Jetpackのプラグインの利用には、WordPress.comのアカウントが必要らしい。確か、プラグインのAkismetを導入した際に登録したような。IDやらパスワードを必死に思い出しながら、自分のサイトのワードプレスにインストールし、有効化してみました。

エラーメッセージの出現

ですが、なんか変。

プラグインはきちんと有効化されました。Jetpackの詳細は表示されるし、設定画面からいろいろできそうなのですが、何かを変更しようとするたびに、エラーメッセージが表示されます。

Jetpack SyntaxError: Unexpected token < in JSON at position 0

このエラーメッセージが、赤字で表示されるのです。そして、設定を変更しても、ちっとも変わらないし、変更が反映されません。

はて、どうしたものか。

いろいろ調べてみたのですが、さっぱり分からず。

ワードプレスのフォーラムを見てみる

このエラーメッセージが出るケースは、結構あるらしく、ワードプレス(wordpress.org)の英語のフォーラムでもこの問題で困っている人がいるのはわかったのです。そこでは、

設定→パーマリンク設定へ行って、何もせずにただ「変更を保存」ボタンを押せば治ったよ。

と書いてあったりしましたが、私の場合は解決せず。もういっそ、Jetpackのサポートに連絡してみようと思っていました。

そもそも、JSONって何さ。ジェイソンって読むのかな。映画「13日の金曜日」のジェイソンとか、厚切りジェイソンしか思い浮かばない…。

そんな矢先、ジェットパックのホームページのjson-apiについての記事にとある記述を発見しました。

REST API

Developers can use WordPress.com’s OAuth2 authentication system and WordPress.com REST API to manage and access your site’s content.

ざっくり日本語で言えば、「開発者は、Wordpress.comのOAuth2の認証システムやWordpress.comのREST APIを使って、サイトのコンテンツにアクセスしたり管理できたりします」というわけで、この記述自体は、解決法でも何でもないんです。

が、REST APIという文字が目にとまりました。REST API、うーん、なんか見たことがあるぞ。最近、2回くらい見た。

Simplicityのカスタマイズページ

一つは、Simplicityのカスタマイズのページで、外観→カスタマイズ→その他と開いたときに、あったチェック項目でした。これです。

とうわけで、試しに、この項目のチェックを入れたり外したりしてみました。

ですが、Jetpackのエラーメッセージは相変わらず出現します。この項目は、関係ないみたいです。

エックスサーバーからのメール

そして、もう一つは、エックスサーバーでした。2017年2月28日に、私が利用しているレンタルサーバーであるエックスサーバーから受け取ったメールに、REST APIに関する記述があったのです。そこにはこう書かれていました。

WordPressの「REST API」に対する国外IPアドレスからの
アクセス制限について

当サービスではWordPressにおけるセキュリティ対策の一環として、
2017年2月7日より、「REST API」に対する国外IPアドレスからの
アクセスを制限しております。

※プラグイン「Jetpack by WordPress.com」によるアクセスは
制限対象外です。

プラグイン「Jetpack by WordPress.com」によるアクセスは制限対象外って書いてあるんですけど、まさか!と思い、試しに、制限を外してみました。

エックスサーバーのサーバーパネルから、「ホームページ」の「Wordpressセキュリティ設定」、「ドメイン選択画面」をクリックし、「国外IPアドレス制限」のタブの画面を下へスクロールしていくと、新しい項目が追加されています。

 

これがONになっていたので、OFFにしてみました。すると…

 

全て解決しましたーーー。パチパチパチ!!!!

 

確かに、エックスサーバーのホームページには、「※プラグイン「Jetpack by WordPress.com」によるアクセスは制限対象外です。」って書いてあるのですが、スミマセン、私のケースでは思いっきり制限対象になってたようです。

もしかしたら、私は海外在住なので、Jetpackが使用しているIPだか何かが違うとかそういう話で、日本在住の人は何ら問題ないのかもしれません。でも、もし同じ問題で悩んでいる人がいればと思い、念のため、情報を共有しておきます。

最後に、もう一度繰り返しておきますね。こういうケースもあるということで。

ジェットパックのプラグインを利用する際に、「Jetpack SyntaxError: Unexpected token < in JSON at position 0 」というエラーメッセージが出た場合は、REST APIの設定と関連ある可能性が。エックスサーバー利用者の場合は、サーバーパネルをチェックしてみましょう。

 

コメント

  1. 海外在住で同じことに悩んでました。
    無事解決出来て嬉しいです。
    今回の問題解決をまとめてくださりありがとうございます!

  2. Kana より:

    つい先程全く同じ問題が発生していたので、助かりました!私も同じく海外在住です(^_^)

  3. yu1roiskw より:

    ありがとうございます!

    海外だったからの問題なんですね、すごく助かりました。

    自分じゃ絶対、この設定までたどり着けなかった自信があります(笑)

    • yu1roiskwさん、コメントありがとうございます。
      設定変更が上手くいったようで、光栄です(^^♪。海外からだと特別な設定がかかっていることがあるので戸惑いますよね。

  4. hana より:

    同じ問題にぶち当たり、クレウエタンさんのおかげで解決できました!
    本当にありがとうございます。
    ネット上で助けてもらえるって素晴らしいですね^^

  5. salonyou より:

    私も同じ症状で困っていましたが、パーマリンクの設定保存で復帰しました。
    ありがとうございます

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