検索エンジンの検索キーワードを取得する

電脳備忘録

試験的にLPOのまねごとをしようと思いついたときのメモです。機能を実装するかどうかはさておき残しておこうと思います。

検索エンジン経由でサイトを訪問してくださった方は、何かしらキーワードを入力していると思います。そこで、検索エンジンに入力したキーワードに対して関連エントリーの一覧を表示させたり、アフェリエイト商品を切り替えたりしてみようと思い立ったわけです。

検索キーワードの取得

PHPJP.com検索サイトからの検索ワードを取得を参照させていただきました。
google.co.jp・bing.com・yahoo.co.jpの各検索エンジンに対応しているみたいなので、国内からのアクセスを想定している場合は問題なさそうですね。

$s_url = $_SERVER['HTTP_REFERER'];
if (stripos($s_url, 'google.co.jp/search') || stripos($s_url, 'bing.com/search')) {
ereg("[?&]q=([^&]+)", $s_url, $s_key_tmp);
} elseif (stripos($s_url, 'search.yahoo.co.jp')) {
ereg("[?&]p=([^&]+)", $s_url, $s_key_tmp);
}
if ($s_key_tmp) {
$s_key = mb_convert_encoding(urldecode($s_key_tmp[1]), 'utf8', 'auto');
echo $s_key;
}

アフェリエイト乙

変数"$s_key"に検索エンジンに入力した検索キーワードが格納されているので、この値でAPIをたたけばよさそうですね。当然キーワードに対して表示する広告がない場合の処理も考える必要があると思います。
キーワードに該当すればあれば関連商品を、キーワードがない、あるいは検索結果がない場合はAdsense広告を表示する。といった処理などを考えています。
ECサイトや企業サイトだと、取得した検索キーワードに応じて関連商品を表示させたり資料請求ページへ遷移させたりとLPO対策が出来そうですね。

広告

ブログの維持費に充てるでございます・・・。