タグアーカイブ ads.txt

ads.txtが消えた時の復旧手順とプラグイン更新後の対処法

ads.txtが消えた時の復旧手順とプラグイン更新後の対処法

Ads.txt管理プラグインをバージョン2.0.29に更新した後、設定では有効になっているのにads.txtが消えて復元できない場合、プラグインの仮想配信が更新によって止まっていることが主な原因だ。設定の再保存、キャッシュの削除、物理ファイルの作成という順に確認すれば、ほとんどのケースで復旧できる。

なぜプラグイン更新後にads.txtが消えるのか

なぜプラグイン更新後にads.txtが消えるのか

ads.txtは広告配信の透明性を保つためのテキストファイルで、ドメインのルートに置く。Google AdSenseや広告配信プラットフォームがこのファイルを読み取り、認証済みの広告販売元かどうかを確認する。ファイル自体は数行のテキストだが、広告収益に直結するため、消えたまま放置すると広告配信の承認に影響が出る。

多くのads.txt管理プラグインは「仮想配信」と呼ばれる仕組みを採用している。物理的なファイルをサーバーに置くのではなく、WordPressのURLルーティング機能を使って /ads.txtへのアクセスを横取りし、データベースに保存した内容をその場で返す方式だ。この仕組みは便利だが、プラグイン更新時にURLルーティングの設定(リライトルール)が更新後のコードと整合しなくなることがある。その結果、設定画面では有効と表示されていても、実際の配信処理が動いていない状態に陥る。

もう1つの原因はキャッシュだ。更新前に /ads.txtが一時的に404エラーや空の応答を返した場合、その古いエラー応答がサイトキャッシュやCDNに残ってしまう。設定を直しても、キャッシュが期限切れになるまでエラーが返り続けるため、「復元しても直らない」ように見える。

ads.txtが正しく配信されているか確認する

ads.txtが正しく配信されているか確認する

まずは実際に /ads.txtが配信されているか、ブラウザで直接確認する。確認にはシークレットウィンドウ(プライベートブラウジング)を使う。通常のブラウザウィンドウではローカルキャッシュの影響で古い結果が表示されるため、配信状況を正確に判断できない。

確認するURLは、自サイトのドメインの直後に /ads.txtを付けたものだ。たとえば https://example.com/ads.txt という形になる。このexample.comの部分を自分のドメインに置き換えてアクセスする。

Before更新直後の /ads.txt
404 Not Foundまたは 白紙ページが表示される
↓
After設定再保存とキャッシュ削除後
ads.txtの内容が正しく表示される

正しく配信されている場合は、設定した広告販売元の行がテキストで表示される。404エラーや白紙ページが出る場合は、仮想配信が止まっているか、キャッシュが古い応答を返している。

仮想ads.txtを復旧させる方法

仮想ads.txtを復旧させる方法

配信が止まっていることを確認したら、以下の順番で復旧作業を進める。最初の設定再保存だけで直ることが多いが、キャッシュ削除まで進めると確実だ。

STEP 1 /ads.txtにブラウザでアクセスして配信状況を確認
↓
STEP 2 ads.txt管理プラグインの設定画面を開き再保存
↓
STEP 3 サイトキャッシュとCDNキャッシュを全て削除
↓
STEP 4 FTPで物理ads.txtをドキュメントルートに作成

STEP 2で直ればそれ以上の作業は不要だ。直らなければSTEP 3、それでもだめならSTEP 4に進む。

プラグイン設定を再保存する

ads.txt管理プラグインの設定画面を開き、内容を確認した上で保存ボタンを押す。設定を変更していなくても、保存操作を行うことでプラグイン内部の配信フックが再登録される。保存後、数分待ってからシークレットウィンドウで /ads.txtに再度アクセスし、復旧したか確認する。

パーマリンク設定を再保存する

プラグインの再保存で直らない場合は、WordPressの「設定」→「パーマリンク」を開き、何も変更せずに「変更を保存」を押す。これによりデータベースに保存されているリライトルールが再構築される。ads.txt管理プラグインは独自のリライトルールを使うことが多いため、この再構築で仮想配信が復活することがある。

サイトキャッシュとCDNキャッシュを削除する

キャッシュ系プラグインを利用している場合は、その管理画面から全キャッシュを削除する。CDNを利用している場合は、CDN側の管理画面からキャッシュのパージも実施する。キャッシュを削除したら、シークレットウィンドウで /ads.txtを再確認する。キャッシュが原因だった場合は、この時点で正しい内容が表示される。

物理ads.txtをFTPで作成する手順

物理ads.txtをFTPで作成する手順

仮想配信がどうしても復旧しない場合は、物理的なads.txtファイルをサーバーのドキュメントルートに直接作成する方法がある。FTPソフトがあれば数分で完了する。

ads.txtの基本フォーマット

ads.txtの各行は、認証済み広告販売元のドメイン、販売元ID、関係性、認証IDをカンマ区切りで書く。Google AdSenseの場合の例は次のとおりだ。

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0

pub-0000000000000000の部分は自分のAdSense発行元IDに置き換える。認証IDのf08c47fec0942fa0はAdSenseの公式ドキュメントに記載されている固定値だ。他の広告ネットワークを利用している場合は、各ネットワークの管理画面でads.txt用の行を確認してそのまま記載する。

FTPでドキュメントルートにアップロードする

FTPソフトでサーバーに接続し、public_htmlまたはhttpdocsなどのドキュメントルートディレクトリにファイル名ads.txtでアップロードする。文字コードはUTF-8、改行コードはLFを選ぶ。ファイルのアクセス権は644で問題ない。アップロード後、シークレットウィンドウで /ads.txtにアクセスして内容が表示されるか確認する。

プラグインと物理ファイルの優先関係

ads.txt管理プラグインが有効な状態では、仮想配信が物理ファイルより優先されることが多い。物理ファイルをアップロードしても、プラグインの仮想配信が働いていると内容が上書きされてしまう。物理ファイルを利用する場合は、プラグインを無効化するか、物理ファイルと同じ内容をプラグイン設定にも反映させておく。二重管理を避けるため、どちらか一方に統一するのが安全だ。

それでも直らない場合の切り分け手順

それでも直らない場合の切り分け手順

ここまでの手順で復旧しない場合は、プラグイン同士の競合や更新自体の不具合を疑う。順番に切り分けていく。

全プラグインを無効化して切り分ける

一時的にads.txt管理プラグイン以外の全プラグインを無効化し、標準テーマに切り替える。その状態で /ads.txtにアクセスして、復旧するか確認する。復旧した場合は、1つずつプラグインを有効化して、どのプラグインが競合しているかを特定する。競合相手が特定できたら、そのプラグインの設定を調整するか、代替プラグインを検討する。

旧バージョンに戻す

競合ではなく更新自体が原因の場合は、プラグインを旧バージョンに戻すのが確実だ。プラグイン公式リポジトリから旧バージョンのzipファイルをダウンロードし、FTPで現在のプラグインディレクトリを上書きする。またはWP Rollback系のプラグインを使うと、管理画面から数クリックで旧バージョンに戻せる。戻した後は設定を再保存し、/ads.txtが正しく配信されるか確認する。

プラグイン公式サポートに問い合わせる

それでも解決しない場合は、プラグインの公式サポートに問い合わせる。症状(バージョン2.0.29への更新後にads.txtが消えた)、環境(WordPressバージョン、PHPバージョン)、/ads.txtにアクセスした際のHTTPステータスコードを伝えると、回答が早い。更新直後に発生したことを明確に伝えれば、既知の不具合として認識されている場合に対処法を案内してもらえる。

よくある質問

ads.txtがなくても広告配信にすぐ影響は出るのか

ads.txtは広告配信の承認プロセスで定期的に確認される。ファイルが消えた直後に即座に広告が止まるとは限らないが、Googleなどの広告プラットフォームが再クロールした際に不承認や警告の対象になる可能性がある。早めに復旧させるのが安全だ。

仮想ads.txtと物理ads.txtはどちらが優先されるのか

一般的にはプラグインによる仮想配信が優先される。物理ファイルを置いても、プラグインが有効な間は仮想配信が /ads.txtへのアクセスを横取りするため、物理ファイルの内容は反映されない。物理ファイルを使うなら、プラグインを無効化するか設定を統一する必要がある。

プラグインを無効化するとads.txtはどうなるのか

プラグインを無効化すると仮想配信も停止する。物理ファイルが存在しない場合は /ads.txtが404エラーになる。物理ファイルを別途作成している場合は、その内容が配信されるようになる。

旧バージョンに戻すと設定したads.txtの内容は失われるのか

ads.txtの設定内容は通常データベースに保存されているため、旧バージョンに戻しても設定は残る。ただしプラグインによっては更新時に設定形式を変更することがある。念のため、戻す前に設定内容をメモしておくと安心だ。

キャッシュ削除をしても直らない場合は何を試すのか

次に試すのは物理ads.txtの作成だ。それでも直らない場合は、全プラグインの無効化による切り分け、旧バージョンへの巻き戻し、プラグイン公式サポートへの問い合わせという順で進める。

この記事のポイント

  • プラグイン更新で仮想ads.txtの配信が止まることがある
  • 設定の再保存は最初に試すべき復旧作業
  • パーマリンク設定の再保存でリライトルールを再構築できる
  • キャッシュ削除はサイト側とCDN側の両方を確認する
  • 物理ads.txtはFTP経由でいつでも作成できる
  • 直らなければ旧バージョンへの巻き戻しも有効