Skip to content
sakura86.com
戻る

WordPressからAstroへ移行した話(5)Google AdSenseの設置

はじめに

前回はGitHub ActionsでFTP自動デプロイを構築しました。
今回はGoogle AdSenseをAstroサイトに設置します。

WordPressと同様、スクリプトをheadに入れるだけで自動広告が機能しました。
ただしAstro特有の注意点があります。

ads.txt を設置する

AdSense管理画面で「ads.txtが見つかりません」と表示される場合は、public/ads.txt を作成します。
これはこれまで通りの話になります。

# public/ads.txt
google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0

pub-XXXXXXXXXXXXXXXX はAdSense管理画面に表示される自分のパブリッシャーIDに変更してください。

public/ フォルダに置いたファイルはAstroのビルド後にサイトルートへそのまま公開されます。
WordPressで設定済みの ads.txt があれば内容をそのままコピーして使えます。

スクリプトを設置する

src/layouts/Layout.astro<head> 内に追加します。

<!-- Google AdSense -->
<script
  async
  src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXXXXX"
  crossorigin="anonymous"
  is:inline
></script>

ca-pub-XXXXXXXXXXXXXXXX を自分のパブリッシャーIDに変更してください。

is:inline が必須な理由

Astroは <script> タグをデフォルトでバンドル処理します。
バンドル処理されると外部スクリプトのURLが変わったり、属性が消えたりして広告スクリプトが正しく動作しません。

is:inline を付けることで、Astroの処理をバイパスしてHTMLにそのまま出力されます。
AdSenseに限らず、外部広告スクリプトをAstroで使う場合は is:inline が必要です。

注意点

  • AdSenseの審査には数日〜数週間かかる場合があります
  • 審査通過後に自動広告が表示されます
  • 審査中は広告が表示されないため、スクリプトが正しく設置できているか確認しにくいです。AdSenseの管理画面でエラーが表示されていなければ問題ありません

まとめ

AstroでのAdSense設置は is:inline を忘れなければWordPressと同じ感覚で設置できます。

次回はGoogle Analytics GA4の設置と、AstroのView Transitions対応について紹介します。