このブログをChrome 開発者ツールで見たとき、このようなエラーが発生していることに気づきました。
Uncaught ▶L adsbygoogle.js:1
ということで原因を調べたので、調べた方法と解決方法についてです。
エラー内容
前述もしたコチラのエラーです。
展開すると、このように表示されていました。
どうやら「adsbygoogle.js」の、「adsbygoogle.push()」という関数でエラーが発生しているようです。
対象のAdsenseユニットを調べる
ここはローラー作戦に近いです。
1個ずつ消していく……
というのも手間と、削除を復活するのを忘れるのが痛手……
ということで、テスト用に作成していた非公開ブログを活用しました。
消していく(コメントアウト)方法でも良いと思います。
くれぐれも復活し忘れにご注意くださいませ。
新しいブログの作り方。
作成していない場合は、ダッシュボードの「新しいブログを作成」から作成できます。
限定公開設定で適当なブログを作っておくと、コンテンツを実験したいときにもいいですよ!
ブロックごとにコピペ
Adsenseコードを設置しているブロックごとに、コピペしていき確認していきます。
別タブで適当なページを開いておきます。
このとき一緒に、Chromeの開発者ツール*1を開いておきます。
次に
- ある箇所の設定をコピペして反映
- 開いておいたページをリロード
- 開発者ツールのConsoleにエラーが出ないか見る
という流れを、ブロックごとに行っていき、犯人探しをしていきます。
この「ブロック」は、次のものが挙げられます。
人によってAdsenseコードを貼っている箇所がマチマチかと思います。
なので貼っている箇所のみでOKです。
- デザイン/ヘッダ/タイトル下
- デザイン/記事/記事上
- デザイン/記事/記事下
- デザイン/サイドバー/対象モジュール
- デザイン/フッタ
- 設定/詳細設定/headに要素を追加
このあたりでしょうか。
エラーが発生した箇所に、複数広告貼っていた場合は、そこから更に1つずつ消していき、絞っていきましょう!
そして対象のコードを、控えておきましょう。
犯人がわかったら
Google Adseseに行って、対象の広告ユニットをチェックしましょう。
メニューから広告/広告ユニットを開きチェックします。
対象の広告ユニットの「コードを取得」からコードをチェックしましょう。
ぼくの場合は、コードが古かった?(少なくとも取得したものと違う)のが原因だったようです。
元々のコードが
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-xxxxxxxxxxxxxxxx", enable_page_level_ads: true }); </script>
で取得し直したものが
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-xxxxxxxxxxxxxxxx" data-ad-slot="yyyyyyyyyy" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>
……なんか全然違いますね。
これを貼り替えたら、エラーがなくなりました!
あとがき
ということでAdsenseのエラーを調べるのにやったことでした。
結局元々なんでこうなってたのかはわかりませんでしたが……
もしかしたら開発者ツールをたまに見ると、こういうことが見つかるかもしれませんね。
*1:F12やCtrl+Shift+iで開ける