投稿日:2023年1月13日
更新日:2023年1月13日
はじめに
前回は、
「ブロックはエラーの影響を受けており、正しく機能しない可能性があります。詳細は開発ツールを確認してください」
についての回避方法を説明させていただきました。
WordPress ブロックはエラーの影響を受けており・・・
今回は、
「エラーが発生しました:返答が正しいJSONレスポンスではありません」
について、考えていたいと思います。
ものの発端は、前回の記事で発生したエラー!
WordPressのウィジェットがブロックエディターに変わったことが始まりです。
その時の悩みは!
- クラシックのウィジェットは、いつまで動くの?
- クラシックのウィジェットをいつまで使えばいいの?
- WordPressの基本方針にて、クラシックのウィジェットへ戻すことはないのでは?
- どうする??
でした。
関連する記事は、こちらになります。
皆様方の参考に出来たら、嬉しく思います♪
もし参考になったら、広告を1回でいいので、クリックして下さい♪
返答が正しいJSONレスポンスではありません ・・・が出た時は?
エラーの表示のされ方
こんなメッセージが出ているのではないかと思います。
このエラーは、ウィジェット保存時に出力されます。
私の場合は、ブロックウィジェットで発生していました。
クラッシックウィジェットについて、発生していたかは覚えておりません。
たぶん、こんな感じで、エラーが出てきた人は、大勢いると思います。
でも、ほとんどの場合は、「WAF」が影響していると思います。
エラーの直し方!
保存が出来ればいいので、今のウィジェットは、そのままにし、新しいブラウザを開きます。
その新しいブラウザで、サーバーの管理サイトへアクセスしWAFを一旦解除します。
CPIのサーバ(SV-Baci)の場合
コントロールパネルにアクセスし、WEBのアイコンを選択します。
どの後、WAFを選択します。
後は、WAFを解除するだけになります。
さて、ここからなのですが、
「数分後に設定が切り替わります。」と記載されています。
設定は、直ぐには設定が有効になりませんので、しばらく待って下さい。
数分後(私の場合、5分~10分でした)、
ウィジェットの表示されているブラウザに戻って、ウィジェットを行うと保存が出来ると思います。
さて、ここで忘れてはいけないのが、その後に「WAF」を有効に戻します。
これで、問題なくウィジェットは、保存されます。
ただし!
ここからが本題の懸案になります。
WAFの問題点を考える!
今回「WAF」にて、保存時エラーが出ていたのは、カスタムHTMLのウィジェットになります。
ブロック版の「カスタムHTML」に以下を記載すると!
この状態で、「WAF」にてブロックとなり、保存エラーになります。
ログを見てみると下記の場所で、POSTのエラーとなっています。
/wp-json/batch/v1?_locale=user
「 wp-json 」のディレクトリなんて、ないのに~^^;
( 調べてみると、wp-json は、いろいろ問題があります。後日、気が向いたら記載します)
話を戻します。
このような感じで「WAF」にブロックされてしまいます。
ただ、問題は、他のウィジェットを変更したい時も、
カスタムHTMLを保存しようとするので、この『WAF』にブロックされてしまいます。
その都度、『WAF』を無効にすればいのですが、それはめんどくさいのが現実です。
結論として、自作のカステムHTMLを作成することにしました。
これはこれで、地獄でしたけど!(笑)
こちらについては、今度、ブロクに記載したいと思っています。
WAFにひっかかるタグ
自作のカスタムHTMLを作成する時に、何のタグなどが、 『WAF』に引っかかっているかを調べてみました。
あくまで、私が使っているカステムHTMLの中身になりますので、全てではないと思います。
- scliptタグ
- 開始タグ、終了タグの両方について、「WAF」にブロックされます。
- このタグは、Googleや他の広告について、どうしても必要になります。
- 「’」シングルコーテーション
- よくわかりませんが、これも「WAF」にブロックされます。
- window.
- これは、なんとなくですね。JavaScriptで操作するのによく使います。
- style
- こちらもブロックされます。
- HTMLの変更が出来るので、わからないでもありません。
2023/01/13時点で解っているのは、こちらになります。
ここまで解れば、何とか出来るのではないかと思いますので、自作のカスタムHTMLの作成が出来ると思って作成しました。
今は、自作のカスタムHTMLにて、 『WAF』 を回避しながら保存が出来ています。
まとめ
「エラーが発生しました:返答が正しいJSONレスポンスではありません」が出た場合は!
- カステムHTMLをなるべく使用しない。
- どうしても、カステムHTMLが必要な場合
- サーバーの設定にて、一時的に「WAF」を無効にする。
- それも面倒に感じる方は!
- 私のプラグインを使ってみる(笑)
と思います。
私が作成したプラグインは、 ECのWelcartのデモサイトにて、無料で販売しておりますので、そちらをご覧下さい。
次回は、自作のカステムHTMLのプラグイン(RTB Block BlockS)の説明になると思います。
なるべく、解りやすく明記していきたいと思っていますが、解りにくく思われた方は、ご了承願います。
又、あくまで私的なことも多くなってくるかと思われますので、そちらもご了承願います。
さらに、間違っていることもありますので、修正等は、申し訳ございませんが、自己責任でお願い申し上げます。
頑張って、これからも書いていきたいと思っていますので、どうぞよろしくお願いいたします。
最後までお読みくださいまして、ありがとうございます。
お願いになります、広告を1回でいいので、クリックして下さい♪
ECサイトのWelcartのデモサイトは、バナーを作りましたので、こちらから参照出来ます。