WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです
What to do when Google Adsense says "There is an ad crawler error and you may lose revenue."

Google Adsenseで「広告クローラのエラーが生じており、収益の損失が発生する可能性があります。 」と表示されるときの対処

公開日: 使い方など

Google Adsenseの管理画面上に、「広告クローラのエラーが生じており、収益の損失が発生する可能性があります。」と表示されてびっくりしたことありませんか??

リンクを辿って該当するページを調べると、それは下書き保存してプレビューした時の投稿。なーーんだ、公開してないからしゃーないね、というのが結論なんですけど、できればそうしたエラーは回避しておきたいもの(特にペナルティ等になることはなさそうと言えばなさそうなので気にすることはないかも・・・と歯切れが悪くなるのがGoogleサービスの怖いところ・・)ですね。

そこでエラーが出ないようにするため、WordPressで投稿プレビュー時にGoogle Adsenseの広告を表示(出力)させない方法を紹介します。実に簡単なことで実現できますので、Google様のサービスでエラーと言われるのはちょっと・・という方は即実践してくださいね。

まずAdsenseの広告コードは

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">

というスクリプトを呼び出すコードと、それぞれの広告タイプのコードに分かれています。つまり上記のスクリプトが呼び出されないようにすれば、広告は表示されないのです。そこで、このコードにのみ「公開されているコンテンツに対しては有効にする」という条件分岐を追加して、下書きのときには広告が動作しないようにするのです。

やり方は簡単、以下のようにコードを置き換えるだけです。

<?php if( get_post_status( $post->ID ) == 'publish'): ?>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
<?php endif; ?>

前後の記述は条件分岐と言って、「投稿が公開されていたら間の内容を出力(処理)する」というもの。当然投稿作成中に表示したプレビューは「下書き」で公開されていませんから、広告が表示されることはなくなるというわけです。

Google Adsenseの広告はページ中で1箇所ではなく複数箇所に設置していることが多いと思いますので、上のコードすべてに条件分岐を追加することになるのですが、このコードはページ中に1箇所あればすべての広告がきちんと動作しますから、この際どこかの広告、またはヘッダーやフッターの中に1回だけ記述してあとは削除しておくとよいでしょう(逆にすべての広告にある上記コードのうち1箇所でも条件分岐が設定されていないとすべての広告が動作してしまいますのでご注意ください)。

ちなみに今回のように公開状態での条件分岐の方法はほかにもあって、例えば「予約投稿のとき」「下書きのとき」「非公開のとき」などによって記述が変わります。興味のある方は

(parudouさんのサイト内ページ)に詳しく書かれていますので参照ください。

  • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
    ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
    ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。

QR Code

このページはモバイル端末でもご覧いただけます

左のQRコードを読み取っていただくと、このページのURLが表示され、簡単にアクセスできます。ぜひモバイル端末でもご覧ください。

WordPressのカスタマイズ・不具合対応などご相談ください

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

【スポンサーリンク】