検索エンジン経由のアクセスのみ広告を表示させる方法

検索エンジン経由のアクセスのみ広告を表示させる。という方法が紹介されていたので、それに感動したので訳してメモさせていただきました。

また、リンク先の”10 Killer WordPress Hacks”はかなりお手軽で面白いテクニックが記載されていて非常に役に立ちますよ。

元ネタはこちらです。

10 Killer WordPress Hacks
To Display Ads Only To Search Visitors

利用中のテーマの中の”functions.php”を開いて、適当な場所に以下をコピー

// Display AdSense Ads to Search Engines Visitors Only

function scratch99_fromasearchengine(){
  $ref = $_SERVER['HTTP_REFERER'];
  $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
  foreach ($SE as $source) {
    if (strpos($ref,$source)!==false) return true;
  }
  return false;
}

テンプレート中の広告を表示させたい部分に以下のコードをコピー

if (function_exists('scratch99_fromasearchengine')) {
  if (scratch99_fromasearchengine()) {
    // ここに広告コードをコピーします。
  }
}

とりあえずTOPページに適用してみました。

Google経由でアクセスする場合と、ブラウザのURL欄に直接アドレスを入力した場合で広告の表示・非表示が変化します。

分かりやすいように以下にあなたのリファラーを表示出来るように表示させてみました。

あなたのリファラーは “” です。

※リファラ情報を取得出来なかった場合は、リファラーの値が空白になります。ブラウザに直接URLを入力していたり、リファラを消すアプリケーションを利用している場合などが考えられます。
※ちなみに、この情報は以下のコードで表示しているだけです。

echo $_SERVER['HTTP_REFERER'];

コメントを残す

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