WordPressの記事にバナー広告が貼り付けられない話(WAFやらテーマの設定やら)

前々回記事にしたGoogleAdsenseに続けてA8.netという成果報酬型アフィリエイトサービスに登録してみました。
というのも、前回マネーフォワードの紹介記事を書いたときに、マネーフォワードの株主として利用を誘導するような広告を貼れたらいいなと思ったのがきっかけです。

今申し込んでいるGoogleAdsense(自動広告)とAmazonアソシエイト(物販)だけだと、マネーフォワードみたいなサービスへの誘導を行う広告は貼れないので、なんかサービス系の広告を出せるところはないかなと探していたら辿り着いたんですよね。

まぁ、結果としてはマネーフォワードの広告はなかったんですけど。。。

ただ、色々見ていたら前にゴールドカードになったタイミングで記事にしたエポスカードの広告があって、じゃあその記事にエポスの広告でも貼り付けてみるかな。と思ったんですが、これがまたなかなか上手くいかず。。。

チマチマと調べてやっとこさ貼れたので、これもブログのネタってことで記事にしておきます。

1.バナー広告を記事に貼ると何故か保存ができない!

A8.netも他のアフィリエイトサイトの広告と同じで、対象の広告のコードをコピーしてきて、ブログ記事の貼りたいところにHTML形式で貼り付けて保存すれば広告が貼りつく。。。はずでした。

しかし、なぜかバナー広告のコードを貼り付けた記事を保存しようとすると、「失敗しました。」のエラーが。

テキストの広告だと問題ないんですが、なぜかバナー広告を貼り付けると保存ができないんですよね。
出てくるメッセージも「失敗しました。」だけなのでマジで原因不明です。

2.テーマのアフィリエイトタグ機能を使って見たら403エラーが発生。

この時点では、なんか広告のコードが、WordPressのHTML生成と干渉しておかしくなって保存できないのかな??とか適当なことを思っていたので、本文中に広告コードを記載する方法をちょっと変えてみようということで、自分の使っているテーマの機能の一つである「アフィリエイトタグ」機能を使ってみることにしました。

これは、良く使うアフィリエイトの広告のコードをタグに登録しておくと、あとは本文中なんかにタグを挿入するだけで広告が貼りつく機能で、これなら本文中に直接広告コードを貼り付ける必要が無いので、あわよくば保存できたり、なにか挙動が変わるかなと期待してのことでした。

結果、本文にタグを挿入するどころか、タグに広告コードを登録する画面でバナー広告のコードを保存しようとすると、「403エラー」になりました。

この時点で、なんかこのバナー広告のコードが根本的にWordPressと相性が悪いみたいだぞ?と思うようになりました。
とはいっても、今度はエラーコードが出てくれたのでこれを手掛かりに調査ができます。

3.403エラーはWAFが関連している!

ネットでWordPress関連の403エラーを調べたら、WAF(Web Application Firewall)が悪さをしているという記事が山ほど出てきました。

特に自分の使っているレンタルサーバはWAFが悪さをするので有名らしく、対応方法も色々と丁寧に書いてくれているサイトが沢山あったので見習って対策しました。(ここでは詳しくは書きませんがちょっと調べればすぐ出てくるので困っている人は調べてみてください。)

4.広告のコードの保存ができた!でも何故か広告は表示されない。。。

広告のコードが保存できなかったのは、やはりWAFのせいだったようで、対策をしたところ広告コードが保存できるようになりました。
エディタの画面でもビジュアルモードにするとバナーがちゃんと表示されています。

いや~よかったよかった。これで広告が貼れるわい。

と思ったんですが、エディタの画面で表示されているバナー広告が、実際にプレビューした画面だと表示されていないことに気が付きました。

ん?・・・・これはなんで??

とりあえずネットを調べたところ、広告によっては表示までに時間が掛かる場合があるとかいう記事があったので、半日ほど待ったのですが表示されないまま。

しかも、調べようにも「広告表示されない=WAFが原因」みたいな記事は山ほど引っ掛かるのに、今度の事象は類似の事象がほとんど引っ掛かりません。

現金なもので、さっきまで有難かったWAF記事が邪魔でしかたない。
うーん、謎は深まるばかり。

追記:バリューコマース(ValueCommerce)の広告は、設定に問題がなくても15~30分くらい待たないと表示されないみたいですね。貼れてるのか不安になるな。

5.テーマの設定をいじったら直った

暫く調べていたところ、Lazy Loadという機能がONになっているとエディタで表示されていた画像が、プレビューなどで表示した際に表示されなくなるケースがあるという記事を見つけました。

Lazy Loadはプラグインとかテーマの機能として実装されている場合があるようで、自分はプラグインは入れていないのでテーマの機能かな?と思って設定を探してみたところLazy Loadの設定がありました!

。。。が、設定はOFF。

うーん、これでもなかったか。

と思ったとき、Lazy Loadの設定の近くに

「JavaScriptをフッターで読み込む」

という設定があって有効になっているのが目に留まりました。

説明によると「JavaScriptファイルのレンダリングブロックを避けるためにフッターでjsファイルを読み込みます。プラグインが正常に動作しない場合は、無効にしてください。」とのこと。
Lazy Load同様に高速化のための機能ですね。

もしかして悪さしてるのこれじゃね??

と、設定を外したところ、見事広告が表示されるようになりました!!

うーん、根本的な解決方法がこれでよかったのか不明ですが、とりあえず目的果たせたので良しとしましょう。
もう少し深く調べれば、設定はONにしたまま広告を表示する技があるような気もするのですが。。。

6.おわりに

というわけで、何かスッキリしないものの広告が表示されたからこれでいいかな!!って感じで終わりになります。

よければ、せっかく貼れた広告がこの記事にあるので見て行ってください。

 

↓調子にのってA8.netとかの広告も載せておきます↓

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