Thursday, August 17, 2023

AdSenseエラー解決: 'adsbygoogle.push()' Uncaught TagErrorの対処法

ブログを開設してから長い間、「Uncaught TagError: adsbygoogle.push() error: All ins elements in the DOM with class=adsbygoogle already have ads in them.」というエラーとともに広告が表示されない問題に悩まされていましたが、どんなにグーグル検索しても解決方法が見つからなかったのですが、ふと私が持っているウェブ知識で解決することができたので、共有しようと思います。

AdSenseで広告ユニットを作成し、コードを見ると以下のような形式で提供されるでしょう。

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-{あなたのAdSense番号}"
     crossorigin="anonymous"></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-format="fluid"
     data-ad-layout-key="..."
     data-ad-client="..."
     data-ad-slot="..."></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>

いろいろな広告を作成して必要な場所にペーストしたのですが、問題は以下のコードが重複しているということです。

<script async='async' crossorigin='anonymous' src='https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-{あなたのAdSense番号}'/>

同じ内容のjsファイルを取得する動作なので、その部分を削除してheadに一度だけ挿入すると、綺麗に解決しました。

同じ問題で苦しんでいる人がいるなら、この方法を試してみることをお勧めします。


0 개의 댓글:

Post a Comment