Azure Static Web Apps × Google AdSenseで所有権確認を通すまでにハマったこと
2026-03-22
はじめに
Nuxt(SSG)+ Azure Static Web Apps(以下ASWA)で運用しているサイトにGoogle AdSenseを導入しようとしたところ、所有権確認がなかなか通らず苦労しました。 この記事では、ハマったポイントとその解決策をまとめます。同じ構成で困っている方の参考になれば幸いです。
Azure Static Web Apps + Nuxt SSGの構成でAdSense所有権確認を通すために、ads.txtの配信とルートドメインのDNS設定(Cloudflare)のハマりポイントを乗り越えた記録です。
環境
| 項目 | 技術 |
|---|---|
| フレームワーク | Nuxt 4(SSG) |
| ホスティング | Azure Static Web Apps |
| DNS | お名前.com → Cloudflare に移行 |
| ドメイン | akizorasoft.com / www.akizorasoft.com |
ハマりポイント: ルートドメインにアクセスできない
問題
AdSenseに登録できるのはakizorasoft.com(ルートドメイン)のみで、www.akizorasoft.comは登録できない。しかし、akizorasoft.comにはDNSレコードが設定されておらず、Googleのクローラーがサイトにアクセスできなかった。
これにより、ads.txtもルートドメインで配信できず、所有権確認が通らない状態だった。
原因
お名前.comではwww.akizorasoft.comのCNAMEレコードのみ設定しており、ルートドメイン(akizorasoft.com)にはレコードがなかった。
通常、ルートドメインにはCNAMEレコードを設定できない(DNS仕様上の制約)ため、ASWAへのルーティングができなかった。
なぜルートドメインにCNAMEが設定できないのか
DNS仕様(RFC 1034)では、ルートドメイン(Zone Apex)にはSOAレコードやNSレコードが必須であり、CNAMEレコードは他のレコードと共存できないという制約がある。そのため、ルートドメインにCNAMEを設定すると、これらの必須レコードと競合してしまう。
解決策: Cloudflareへの移行
Cloudflare(無料プラン)にDNSを移行し、CNAME Flatteningを利用した。 CNAME Flatteningは、ルートドメインのCNAMEレコードを内部的にAレコードに変換してレスポンスを返す仕組みで、DNS仕様の制約を回避できる。
手順
- Cloudflareにアカウントを作成し、
akizorasoft.comを追加 - お名前.comのネームサーバーをCloudflare指定のNSに変更
- Cloudflare側でDNSレコードを設定
@(ルートドメイン)→ CNAME → ASWAのホスト名www→ CNAME → ASWAのホスト名- TXT → google-site-verification の値を移行
- ASWAのカスタムドメインに
akizorasoft.comを追加 - ASWA側でドメイン検証用のTXTレコードをCloudflareに追加
- 検証完了後、AdSenseの所有権確認を再試行 → 成功
まとめ
Azure Static Web Apps + Nuxt SSGの構成でAdSenseの所有権確認を通すためのポイントです。
- ルートドメインのDNS設定が最重要
AdSenseはルートドメインでの登録が必須で、wwwサブドメインだけでは不可 - CNAME Flatteningで制約を回避
Cloudflare(無料プラン)でルートドメインにCNAMEを設定できる - ads.txtもルートドメインで配信が必要
ルートドメインにアクセスできなければads.txtも到達不可
ルートドメインの問題はASWAに限らずどのホスティングサービスでも起こりうるため、同様の問題に直面した方はぜひCloudflareを試してみてください。