AdSenseの承認手続きが完了して、しばらくした後にAdSense管理画面に「広告クローラのエラーが生じており、収益の損失が発生する可能性があります。」と表示されていました。
広告クローラのエラー
「広告クローラのエラーが生じており、収益の損失が発生する可能性があります。」と表示されていました。
右上に「操作」のリンクがありますので、クリックします。すると、「URL の問題: ページが見つからない」と表示されます。「&preview=true」のページがエラーになっています。
元々AdSense申請の時にheadタグ内に貼り付けたコードを、承認手続き後にページ単位の広告で使用していました。
プレビュー画面でも広告が有効になっていたことが原因です。
対策
プレビューに広告を付ける必要はないので、広告が付かないようにします。また、404ページやお問い合わせ、プライバシーポリシーにも広告は不要ですので、この機会に外しました。
対策した翌日にはエラーが消えていました。
対策例
function my_javascript() { if ( !is_preview() ) { $output = '<script ...></script><script>...</script>'; // AdSenseのコード echo $output; } } add_action( 'wp_head', 'my_javascript' );
プレビュー
プレビューに広告が不要な場合はこちらで判定します。
is_preview()
管理バー
プレビュー時に広告を表示しない方法もありますが、管理バーが表示されている時に非表示にすることも出来ます。ログイン中の広告の誤クリックも防げます。
is_admin_bar_showing()
404
404に広告が不要な場合はこちらで判定します。
is_404()
固定ページ
固定ページもプライバシーポリシーなど広告が不要なページがある場合はこちらで判定します。
is_page( $page ) is_page( 'about' ) is_page( array( 1, 2, 3 ) )
個別投稿ページ
個別投稿ページも広告が不要なページがある場合はこちらで判定します。
is_single( $post ) is_single( 'Title' ) is_single( array( 1, 2, 3 ) )
※ 投稿ID・投稿タイトル・投稿名の区別なし