monaka

Next.jsで作ったサイトにGoogleアドセンスの広告を追加した

Next.jsで作成した本サイトにGoogleアドセンスの広告を追加した。アドセンスの管理画面にあるタグをそのまま追加しても広告を表示することができなかったので、参考までに掲載方法を紹介する

自動広告の追加方法

全ページに読み込ませたいのでlayout.tsxに書き込んだ。具体的には以下のようにした

import Script from "next/script";

(中略)

<body>
 <Script
  async
  src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-xxxxxxxxxxxxxxxx"
  crossOrigin="anonymous"
  strategy="beforeInteractive"
></Script>
</body>

バナー広告の追加方法

サイドメニューにも広告を掲載したい。しかし自動広告だとうまいこと想定しているように表示させることができなかったのでバナー広告を掲載した。これも同様にそのままタグを埋め込むだけでは実装できなかったので、サイドメニューコンポーネントに以下を追加した。

      {/* AdSenseの広告タグ */}
      <ins
        className="adsbygoogle"
        style={{ display: "block" }}
        data-ad-client="ca-pub-xxxxxxxxxxxxxxxxx"
        data-ad-slot="xxxxxxxxxx"
        data-ad-format="auto"
        data-full-width-responsive="true"
      ></ins>

      {/* AdSenseのスクリプトを読み込む */}
      <Script id="adsbygoogle-init" strategy="afterInteractive">
        {`(adsbygoogle = window.adsbygoogle || []).push({});`}
      </Script>

残課題

  • アドセンスを追加したことでサイトの速度が遅くなったかも?(仕方ないけど)
  • 自動広告でプレビューするときにこのサイトが表示できないので、自動広告の制御ができない(変な位置にバナー広告が挿入されてしまう)
  • Chromeの検証を見るとエラーっぽいのが増えてしまった(AdSense関連)

まとめ

取り急ぎアドセンス広告を掲載することができた。他のブログサービスと違って、Next.jsで作成したサイトにアドセンスを追加するのがちょっと難しくてつまづいてしまった。今後は、記事を投稿してアクセス数を増やしていきたい。

関連記事