Google AdSenseのads.txtが「不明」―/ads.txtが404の状態で何を確認するか
AdSense申請中のbringain.comでads.txtが「不明」と表示されたため、ステータスの説明と/ads.txtの実表示を確認。404のままでも審査中に何をする必要があるのか、Google公式情報と照らして確認します。

Google AdSenseへゆまラボを申請した記事では、サイト所有権をmetaタグで確認し、審査をリクエストしたところまで進めた。
その時点でads.txtはまだ追加していない。
数日後にAdSenseのサイト一覧を確認すると、bringain.comの承認状況は「準備中」のまま、ads.txtのステータスには「不明」と表示されていた。申請中にこの表示を見ると、審査へ影響するのか少し気になる。

ads.txtがないこと自体は分かっている。
ただ、「不明」が審査上の問題なのか、今すぐファイルを追加する必要があるのかは画面だけでは判断しにくい。
今回は設定を変える前に、AdSense側の表示、実際の/ads.txt、Google公式ヘルプの説明を確認した。
承認状況とads.txtのステータスは別に表示されている#
最初に見たのは、サイト一覧の列そのもの。
画面では、
承認状況
→ 準備中
ads.txt のステータス
→ 不明
と別の列になっている。
Google AdSenseの公式ヘルプでも、サイトの状態は「サイトの承認ステータス」と「ads.txtのステータス」に分けて説明されている。
そのため、今回表示されている「準備中」と「不明」を一つのエラーとして扱う必要はない。
「準備中」はサイト審査側の状態で、ads.txtは広告枠を販売できる事業者を宣言するための別の仕組みになる。
申請時の所有権確認についても、ゆまラボではads.txtではなくmetaタグを使って確認済みになっている。
「不明」のヘルプを開くと4つの状態が表示された#
ads.txtの横にあるヘルプを開くと、次の4状態が表示された。

画面上の説明は次の内容になっている。
| 状態 | 画面上の意味 |
|---|---|
| 見つかりませんでした | 前回のクロール時にads.txtが見つからなかった |
| 承認済み | サイトのパブリッシャーIDがads.txt内で見つかった |
| 未承認 | パブリッシャーIDが見つからず、AdSenseで広告を表示できない |
| 該当なし | ads.txt内にパブリッシャーIDを置く必要がない |
Googleの公式ヘルプにも同じ4種類が掲載されている。
ここで気になったのは、サイト一覧に表示されている「不明」が、この4種類のどれにもそのまま一致していないこと。
少なくとも、現在の「不明」を「未承認」と読み替える根拠はない。
未承認は、ファイル自体は見つかったものの、その中に自分のパブリッシャーIDがない状態として説明されている。一方、今のゆまラボにはそもそもads.txtを作っていない。
bringain.com/ads.txtを直接開くと404ページになった#
次にブラウザから直接、
https://bringain.com/ads.txt
を開いた。
ゆまラボのカスタム404ページが表示された。

この404ページは、第25回 ゆまラボ専用の404ページを作るで追加したもの。
つまり、今回の確認時点ではルートにads.txtは存在していない。
AdSenseの表示だけを見て推測するのではなく、ブラウザから実際のURLを開いても同じ状態を確認できた。
ads.txtが404でも、それだけで審査失敗とは判断できない#
Googleのads.txtガイドでは、ads.txtの利用について「必須ではないが、強く推奨」と説明されている。
ads.txtは、サイトの広告枠を販売できる事業者をサイト運営者自身が宣言するためのファイルになる。偽の広告在庫を識別しやすくし、認めていない販売者から広告枠を扱われることを防ぐ目的がある。
一方、AdSenseのサイト審査は別に存在する。
Googleのサイト管理ヘルプでは、サイト所有権の確認方法として、AdSenseコード、ads.txt、metaタグが案内されている。ゆまラボはこのうちmetaタグで所有権確認を完了している。
そのため、
/ads.txt が404
↓
AdSenseのサイト審査も失敗する
とは判断しないことにした。
ads.txt自体が必須ではない以上、ファイルがないという一点だけで、審査をやり直したりサイトを削除して再登録したりする理由にはならない。
現時点では承認状況の「準備中」をそのまま待つ。
広告を表示する段階ではads.txtを追加する予定#
今すぐ追加しないことと、今後も使わないことは別になる。
Googleはads.txtを強く推奨している。さらに、ステータスが「未承認」になった場合は、パブリッシャーIDがファイル内に見つからず、広告リクエストが拒否される状態になる。
ゆまラボはAdSenseで広告を表示する予定なので、審査が終わって広告設定へ進む段階ではads.txtを追加する。
GoogleのガイドにあるAdSense用の行は、次の形式になる。
google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0
pub-XXXXXXXXXXXXXXXXの部分には、AdSense画面に表示される自分のパブリッシャーIDをそのまま使う。
サンプルのIDを置いてはいけない。
Astroならpublic/ads.txtでルートへ出せる#
ゆまラボはAstroで作っている。
Astro公式ドキュメントでは、public/に置いたファイルはビルド処理をせず、そのまま最終出力へコピーされる。
そのため、今後追加するときは、構成としては次の形が分かりやすい。
public/
└─ ads.txt
中身にはAdSenseからコピーした正式な行を入れる。
公開後は、
https://bringain.com/ads.txt
をブラウザで開き、404ではなくテキストがそのまま表示されることを確認する。
Googleのヘルプでも、ブラウザから/ads.txtを開いてファイルが表示されるか確認する手順が案内されている。
ただし、これはまだ実施していない。
今回確認したのは「不明」と404の状態までで、public/ads.txtの追加は審査結果後の作業として残す。
設定は変えず審査を待つ#
今回確認できた状態をまとめる。
AdSenseの承認状況
→ 準備中
ads.txtのステータス
→ 不明
https://bringain.com/ads.txt
→ カスタム404ページを表示
Google公式
→ ads.txtは必須ではないが強く推奨
この状態で、ads.txtがないことだけを理由に申請をやり直す作業はしない。
サイト審査はそのまま待ち、承認後に広告を表示する段階でads.txtを追加する。
追加するときは、AdSenseから自分のパブリッシャーIDをコピーし、Astroのpublic/ads.txtとして公開する。そのあとブラウザ表示とAdSense側のステータスを確認する。


