AdSenseでads.txtが「見つかりません」になったとき、最初の30分でやること
AdSenseで `ads.txt` が「見つかりません」になったときに、最初の30分で「URL/到達性/ルーティング上書き」を切り分けて復旧する手順です。
AdSenseで ads.txt が「見つかりません」になったときは、まず “置いたはずのファイルが、Googlebotから https://あなたのドメイン/ads.txt として 200 で取れているか” を確定します。
最初にやること(結論)
- ブラウザで
https://あなたのドメイン/ads.txtを開く - 200で表示できるか(404/403/5xx/リダイレクトループではないか)
- 中身が
google.com, pub-xxxxxxxxxxxxxxxx, DIRECT, f08c47fec0942fa0など、AdSenseが指定する形式になっているか
ここが崩れている限り、AdSense側の設定を触っても前に進みません。
30分チェックリスト
1) いま見えているURLが “本番のドメイン” か
example.comとwww.example.comのどちらで AdSense を申請/運用しているか- リダイレクトで別ドメインに飛んでいないか(
http→https、wwwの有無) - サブドメイン運用(
app./www./blog.)の場合、ads.txtを置くべきホスト名を取り違えていないか
2) ステータスコードとリダイレクトを確定する
- 404: 置けていない(または別パスで配信している)
- 403: WAF/アクセス制限/Basic認証/国別ブロックなどで弾いている
- 5xx: サーバー/Worker/ルーティングが壊れている
- 3xx: 301/302で最終的に200へ到達しているか(ループや不正なLocationがあると失敗しやすい)
3) CDN/Worker/フレームワークの “ルーティング優先度” を疑う
次のようなケースがあると、ファイルを置いても ads.txt が別のレスポンスに置き換わります。
/ads.txtをアプリのルート(SSR/Edge/Worker)が奪っている- catch-all ルートが
ads.txtにも反応している - Cloudflare Workers / Pages Functions が
/ads.txtを上書きしている
できるだけ “静的に 200 で返す” 形に寄せます。
よくある実装パターン(Next.js/静的ホスティング)
- Next.js:
public/ads.txtを置く(ビルド後にそのまま/ads.txtで配信される) - Cloudflare: Workerで書き換えるより、静的ファイルとして配信できる形が優先
再発防止(最小の監視)
- 変更後に
ads.txtだけは毎回確認する(robots.txt/sitemap.xmlと同じ扱い) - ドメイン統合(www有無)やリダイレクトを触るときは、
ads.txtの到達性も同時に見る
SiteOpsでできること
複数サイトを運用していると、ads.txt の事故は “いつの間にか片方のドメインだけ壊れていた” になりがちです。SiteOpsでは、サイト別に最初に見る指標と異常検知を固定して、復旧までの手戻りを減らします。
- まずは ダッシュボード で、収益に影響が出ているサイトから優先して見直せます。
この記事を書いた人
川原
SiteOps編集チームの公開窓口として、検索、アクセス、収益データをもとにした運営判断の知見をまとめています。
関連記事
次にやること
複数サイトの検索、アクセス、収益データをまとめて見直すなら、SiteOpsのダッシュボードでサイト別に確認できます。
料金を見る相談したい / お問い合わせ