アフィリエイト リンクが貼れるイメージ
はじめに、今回の完成イメージとしては本ページの右側にあるサイド バー (カラム) のアフィリエイト リンクをご確認いただければと思います。特に動きのあるアフィリエイト リンクですね。
私のブログでは、DLsite の週間ランキングが該当します。
本記事では、上記のようなアフィリエイト リンクが動作しないという状況への対処になります。
WordPress (THE THOR) が動かない事象について
先日、私が利用している WordPress テーマ (THE THOR) のウィジェットにアフィリエイト リンクを貼ろうとしたところ、「エラーが発生しました: 返答が正しい JSON レスポンスではありません。」というエラーが発生しました。
JSON とは何か説明すると、IT 業界で良く利用される「書き方に共通ルールを設けて記述された文章」であり、データ フォーマットやデータ形式と呼ばれるものになります。
インターネットの裏側では JSON のようなデータ フォーマットを使って通信しているので、今回の問題については、通信の際にアフィリエイト提供側から正しいレスポンス (返事) が返ってこなかったということになりますね。
返答が正しい JSON レスポンスではない理由ついては、詳細は分からないです。
考えられる理由が沢山ありますし、そこまで頑張って調査するものでもないので……。
アフィリエイト リンクが貼れない原因と解消方法
原因
私の場合、今回のエラーは JavaScript に起因する事象でございました。
アフィリエイトの導入を考えている方でしたらご存知かと思いますが、画面に映される表面上の処理を描画するにあたって、基本的には HTML と CSS が使われています。
しかしながら、上記 2 つはプログラミング言語ではないため拡大縮小のような簡単な処理は行えても、リアルタイムで情報を取得して画面を更新するような複雑な処理は実装できません。
そのため、販売促進のためにランキングを自動更新する等の複雑な処理を行うコードでは、プログラミング言語である JavaScript を使って処理を実装する必要がありますが、私はこちらの JavaScript が起因となり事象が発生していたという訳です。
なお、ご利用の埋め込みコードに JavaScript が入っているかどうかは、コードを確認いただき “script” という単語が入っているかどうかで見分けられます。
<例>
<script type="text/javascript">blogparts={"base":"https://example.com/" (以降略
上記 JavaScript が、Wordpress の制限やサーバー契約先の設定によって何かしら正しく動作しなかった状況が発生し、アフィリエイト提供先との通信に問題が起きて、JSON レスポンスが正しく届かなかったというのが大体の事象の原因になりますね。
解消方法
まずひとつめ、Wordpress の制限として特定ページでは JavaScript が使えないというものがあるらしいので、じゃあその特定ページで JavaScript を使えるようにしたら全て解決します。
よし、では使えるようにしましょうということで、下記をインストールしてください。
インライン JavaScript、スタイルシート、CSS コード、または WordPress のヘッダー領域とフッター領…
私の場合は上記プラグインを導入するだけで問題解消したので試してみてください。
また、これ以外にもうひとつ提案可能な方法がございまして、ご利用のサーバー契約先によってはセキュリティ確保のために REST API 接続を強制するという設定があるんですね。
REST API が何という方は、JSON とか諸々含めた凄く厳密なルールに従う通信として理解してください (職業エンジニアでも大体曖昧なので完璧には理解しなくて良いです)
通信において割と重要な概念ではあるのですが、REST API に関する設定が無い契約先もあるので、別に大丈夫じゃね?くらいの個人的な感想になります。
あくまで自己責任の範囲でお願いしたいのですが、ConoHa WING 利用者の場合は [ホーム画面] – [サイト管理] – [サイトセキュリティ] – [WordPress セキュリティ] – [海外アクセス制限] – [REST API] から [ON] と [OFF] の切替を行うことが可能ですので、お試しいただければなと。