AdSenseコードを貼り付けるだけのはずが…WordPressとCloudflareの罠にハマった話

ブログを始めてしばらく経ち、いよいよGoogle AdSenseに挑戦することにしました。「コードをコピーして貼り付けるだけ」と思っていたのですが、そんなに甘くはありませんでした。今回はその奮闘記をまとめます。


AdSenseコードの設置方法を調べる

まず、Google AdSenseの管理画面からコードを取得しました。このコードをWordPressに設置する方法はいくつかあります。

・テーマのfunctions.phpに追加する
・header.phpに直接貼り付ける
・プラグインを使う

私はSANGOテーマを使っているのですが、テーマファイルを直接編集しようとすると「テーマを直接編集するとサイトが破損する恐れがあります」という警告が表示されました。そこでプラグインを使う方法を選択しました。


「Insert Headers and Footers」プラグインを導入

プラグインの新規追加から「Insert Headers and Footers」をインストールして有効化しました。設定画面の「ヘッダー内スクリプト」欄にAdSenseコードを貼り付けて保存しようとしたところ…

サイトにアクセスできなくなりました。


Cloudflareがブロックしていた

私はValue DomainでCloudflareにサイトを向けているのですが、CloudflareのWAF(Web Application Firewall)がAdSenseコードをXSS攻撃と誤判定してブロックしていたのです。

Cloudflareの管理画面でセキュリティイベントを確認すると、以下のようなログが残っていました。

・ルール:XSS, HTML Injection – Script Tag
・パス:/wordpress/wp-admin/options.php

つまり、WordPressの設定を保存しようとしたときに、scriptタグを含むコードがXSS攻撃と判定されてブロックされていたのです。


CloudflareのWAFにスキップルールを追加

この問題を解決するために、CloudflareのWAFに「WordPress管理画面へのアクセスはセキュリティチェックをスキップする」というカスタムルールを追加しました。

セキュリティ → セキュリティルール → ルールを作成 → カスタムルール

設定内容は以下の通りです。

・ルール名:WordPress Admin Skip WAF
・条件:(http.request.uri.path contains “/wp-admin”)
・アクション:スキップ → すべての管理ルール

このルールを追加することで、WordPressの管理画面での操作がWAFにブロックされなくなりました。


SANGOの広告設定を活用する

実はSANGOテーマには広告設定の専用画面があることに気づきました。

SANGO設定 → 広告設定 → Google AdSense → scriptタグ

ここにAdSenseコードを入力して保存するだけでヘッダーに自動出力されます。「Insert Headers and Footers」プラグインは不要だったため削除しました。


AdSenseの審査申請でもつまずく

コードの設置が完了したので、AdSense管理画面で「確認をリクエスト」を押したところ…

「お客様のサイトは確認できませんでした」

というエラーが表示されました。GoogleのクローラーがCloudflareにブロックされている可能性があったため、以下の対処をしました。

① Googlebotを許可するカスタムルールを追加

Cloudflareのセキュリティルールに以下を追加しました。

・条件:(http.user_agent contains “Googlebot”) or (http.user_agent contains “AdsBot-Google”)
・アクション:スキップ → すべての管理ルール

② Cloudflare管理ルールセットに例外ルールを追加

管理ルールセットの「例外ルールを作成する」から同様の条件でGooglebotを例外として設定しました。

③ ads.txtを設置

AdSenseの審査に必要なads.txtファイルを設置するため、「Ads.txt Manager」プラグインをインストールして以下を追加しました。

google.com, pub-9106280925767149, DIRECT, f08c47fec0942fa0


現在の状況

現時点ではAdSenseの審査ステータスは「要審査」です。コードの設置・ads.txtの設置・Cloudflareの設定はすべて完了しているので、あとはGoogleの審査を待つのみです。

Cloudflare環境でAdSenseを導入しようとしている方の参考になれば幸いです。


【今回使用したプラグイン・ツール】
・Ads.txt Manager
・Cloudflare(Proプラン)
・SANGOテーマ
・Google Search Console
・Google AdSense

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA