こんな人の裏側。

ブログ運営に関する事とか、語りたい事とか。

【wordpress】スマホの広告が思うように表示されない原因を1つ見つけた!

wordpressでは、プラグインを使って簡単にパソコンとスマホで広告の表示の仕方を変える事も出来ます。

…はずなのに両方同じ表示になってしまって困っている…。

そんな状況に悩まされた事もあったインコ(@k_inko)です。



同じような現象に悩んでる方が少なくないようなので、

今回は「スマホの広告が思うように表示されない原因」についてお話します!

スマホで見た時の広告表示が上手くいかない

ある日、スマホで自分のサイトを見たら「記事下広告」→「前後のページ」→「サイドバー広告」と広告がほぼ連続で表示されてたんです。


あれ!?スマホは記事下広告だけにしてるはずなのに…!

実は、あまり閲覧者に見てもらえない所に広告入れて全体の読み込みが遅くなるのは閲覧者にとっても管理者にとってもあまり好ましい事ではなく、

今回のケースの場合、Googleアドセンスの規約的にも連続広告と見なされる可能性もあるので、誰も得をしない状態なのです。

これはすぐにでも改善しなくては…!

原因と思われる物を確認していくと…

「こんな人の日常」はPCの場合は記事下とサイドバーに、モバイル端末から見た場合は記事下に広告が表示されるようにしてあります。

これには条件分岐プラグイン「Widget Logic」を使ってます。 (※これでサイドバーの広告を「モバイル端末以外に表示」させている)

なので、まず真っ先に考えたのが「Widget Logic」の条件分岐コードをミスってるのではないか?という事。

しかし、ウィジェットを開いてコードを確認してもおかしい点はありませんでした。
となると原因は何処にあるのか?


記事をいくつか見直してみると、正常に表示されてる事の方が多いな…。

同じ条件なのに変だったり正常だったりそれは記事ごとに違いました。 そして表示がおかしくなってるページを確認してるうちに気づいたのです。

スマホで見た時はサイドバーの一番上にしてるブログランキングのウィジェットが、サイドバーの一番下に表示されている事に。


あ、これサイドバーの並び方パソコンと全く同じになってる…!?

そして他のページも見るとサイドバーがモバイル用の配置になってるページと、 パソコン用の配置になってるページの2種類に分かれていました。

条件が全く同じなのに表示が違う…ここで1つ、思い当たる節が。

もしかして、キャッシュ…!?

キャッシュは簡単に言うと早くページを表示する方法の1つです。

ページを表示させるには文字、画像などの情報をアクセスがある度に読み込まなくてはならないのですが、見られる度に情報を全て読み込むとなると、どうしても動作が遅くなります。

見るページは全く同じなのに、毎回情報全て読み込むのって面倒臭くね? 完成したページをまるっと保存して、次から来る人にはその撮った物一枚を呼び出せば楽なんじゃね?

という、管理者と閲覧者お互いwinwinの機能がキャッシュです。 実際、キャッシュされたページは表示されるのがかなり速いです。

ただ、上手に使わないと文章を更新したいのにすぐに反映されなかったり、色々面倒臭いところはあります。

今回の件は記事を一番最初に見たのがパソコンユーザーで、その時点でPC用のページがキャッシュされ、その後に来た人がスマホで見ても表示されるのはモバイル端末用に読み込まれたページではなく、キャッシュされたPC用のページ…という現象では…?

確認の為にキャッシュを止めてみる

プラグイン画面からキャッシュプラグインを停止。(ちなみに使っていたのは「WP Super Cache」)

その後、確認の為いくつか記事をチェック…全てモバイル用の配置になっていることを確認し、一安心。

やっぱりキャッシュだった!!

やはりPCページがキャッシュされて、そのキャッシュをスマホで読み込んでいた為の現象と判明。


キャッシュ消したらちゃんとスマホの広告1個だけになったよ…!

今回は最初にパソコンから見た為に発生した現象でしたが、最初にモバイルで見るとモバイルページのキャッシュが作られてパソコンのサイドバーがレクタングル広告になったりする事もある訳です。

キャッシュを解除した事によって以前気にしていた4Gの読み込みの遅さが気にかかったけど、http/2とSSL化で高速化に成功してるから前よりはマシになってるし、これで連続広告を防げるとなれば他の解決策が見つかるまでキャッシュは使わずに運営してみます。


キャッシュ自体は凄く便利な機能なので、この現象を防ぐ手段があればなぁ…。