全く問題なく解決出来ますので、絶望することなく冷静にこの記事の内容を確認して下さい。
ブログ作成時、突如表示されるエラーには焦らされますよね。
そんなエラーの一つ、JSONレスポンスエラーについて、その対処法を解説します。
ConoHa Wingを使用している場合を例に取って画像で解説しますが、他のサーバーを使用されている場合にも同様の原因の可能性があるので確認してみましょう。
またGoogle推奨のJSONにデフォルト対応しているテーマ『SWELL』を使用しています。
更新に失敗しました。返答が正しいJSONレスポンスではありません
WordPressの有料テーマ、SWELLを使ってブログパーツを作成しようとカラムブロックを挿入した時でした。
突然以下のような表示が現れ、下書き保存をすることが出来なくなりました。
散々エラーを経験してきた私は、またアレかなと思い当たることがありました。
JSONが何なのか、そんなことは取り敢えず置いておいて、先ず解決方法を説明します。
今、エラー画面メッセージが出た状態で悩んでいる方は、取り急ぎ以下の方法を試してみて下さい。
原因はサーバーのWAF設定
サーバーのWAFによって上記エラーが表示されている可能性があります。
解決方法は2つあります。
WAF設定を一時的にOffにする
以下の画像の通り、ConoHa WingのコントロールパネルからWAF設定を一時的にOffにすることで解消を図ります。
『WING』タブをクリックし、サイドバーの『サイト管理』をクリックします。
次に『サイトセキュリテイ』から『WAF』タブを選択します。
WAFの利用設定にON/OFF切り替えタブがありますので、一時的にこれをOFFにします。
WAFをOFFにした状態で、再度エラーの出ていたページに戻って下書き保存してみましょう。
どうでしょうか、エラーが出ずに保存が出来たのではないでしょうか。
無事に保存できた場合、そのままWAF設定をOFFにしておけば引き続き作業が可能ですが、WAFはWeb Application Firewallの名前の通りセキュリティに重要なものです。
その場合、ここで起こっているエラーのみをWAFの対象外にしてやればOKです。
次の見出しでその方法を解説します。
※ この方法で解決しなかった場合にはパーマリンク設定によるWordPressの不具合やネットワークのエラーなど、いくつかの要因が報告されています。ただしいずれも原因の特定に至っておらず、時間を開けると解決する場合があります。少し時間を置いてみるのも良いかもしれません。
エラーの原因をWAF履歴から除外する
WAF設定をOFFにすることでエラーが解消した場合、不具合や外部からの攻撃のためのエラーではないことが予想されます。
つまり、あなたが実行した正しい手順が、WAFによって不正な操作と誤認されているということです。
これはWordPressで作業していると様々なシーンで出くわすことになるエラーです。
解消する手順は以下に示す画像の通りです。
前の見出しで解説したWAF設定の下を見ると、エラーが記録されています。
日時と攻撃ターゲット、攻撃元IPアドレス、攻撃内容が記載されています。
攻撃と言われると何だか怖いですが、プログラム上そのように見なされているだけで、何もハッキングされているわけでは無いものが多いのです。
攻撃元IPアドレスと自身が作業しているPCのIPアドレスを照合して同一であることを確認するか、記録された日時と作業でエラーメッセージが出たタイミングを照合するなどして、攻撃の記録とエラーの原因とが同一である事を確認します。
IPアドレスはこちらのサイトにアクセスするだけで表示されますので確認は容易です。
確認が出来たら、攻撃の記録の左端にある除外ボタンをクリックします。
除外 → 除外解除
表示がこのように変化すればOKです。
除外解除ボタンがあることから分かる通り、この作業は元に戻すことが出来ますので安心して作業しましょう。
ただ、除外した状態でエラーが解消されているようであれば、そのエラーはWAFによる勘違いということですので、元に戻す必要はありません。
これで、WAFは有効なまま今回発生したエラーを解消する操作は完了です。
JSONとは
最後に少しだけ、勉強のために補足しておきます。
エラーは解消したものの、なんのことか全く分からずに作業だけだと気持ち悪いという人のために。
JSONはJavaScript Object Notationの略で、データ記述言語の一つです。
詳しい技術的なことはここでは割愛しますが、リッチスニペット表示に必要な構造化データのマークアップ方式にGoogleが推奨しているのがJSON-LDなのです。
物凄く噛み砕いて表現すると、文章の意味を検索エンジンに伝える方式としてJSONを使って欲しい、とGoogleが言っているのです。
きっとこの説明方法がGoogleには分かり易い、ということなのでしょう。
そしてWordPressテーマ『SWELL』はこのJSON-LDを採用しており、この記事で紹介したエラーはその記述をConoHa WingのWAFが不正だと勘違いした、というのが事の経緯です。
エラー『正しいJSONレスポンスではありません』:まとめ
エラーが出ると、特に初心者は不安でいっぱいになると思います。
しかし、大抵のエラーは大したことはありません。
このエラーに限らず、エラーメッセージでググると大体は解決方法に辿り着けると思います(私の経験)。
中でもWAF設定周りのエラーは多いですので、まず最初にそこを疑ってみるのが良いでしょう。
他にも同じ解決方法で解消可能なエラーを取り扱った記事があります。
心当たりがあれば見てみて下さい。
私もプログラミングを学習したことも無い中、完全に全くの初心者から独学だけでやってきましたが、トラブルやエラーがあるたびに良い勉強になるなと思います。
健全なブログ運営を楽しんで行きましょう!!
コメント