検索キーワードに応じてページを書き換えるシンプルなLPO
リファラーの取得方法について確認したところで、ごく簡単なLPOのサンプルを紹介しましょう。ここで紹介するのは、あらかじめ決めておいた任意の検索キーワードが含まれていた場合に、キーワードに応じたコンテンツを表示するシンプルなプログラムです。動的にページを生成させるために、今回はPHPを使ってみました。
では、実際のコードを見てみましょう。
<?php
// 文字コードはUTF-8に
define("CHARACTERSET","UTF-8");
function keyword($linkurl) {
// リファラから検索エンジンごとにキーワードをデコードする処理
//もしgoogleからのリファラだったら
if (strpos($linkurl,".google.")) {
$str = eregi_replace(".+q=([^&]+).*","\\1",$linkurl);
$str = urldecode($str);
$str = mb_convert_encoding($str,CHARACTERSET,"UTF-8");
//上記の処理を検索エンジンの数だけ行う
} elseif (strpos($linkurl,".goo.")) {
$str = eregi_replace(".+MT=([^&]+).*","\\1",$linkurl);
$str = urldecode($str);
$str = mb_convert_encoding($str,CHARACTERSET,"EUC-JP");
} elseif (strpos($linkurl,".yahoo.")) {
$str = eregi_replace(".+p=([^&]+).*","\\1",$linkurl);
$str = urldecode($str);
$str = mb_convert_encoding($str,CHARACTERSET,"UTF-8");
} elseif (strpos($linkurl,".msn.")) {
$str = eregi_replace(".+q=([^&]+).*","\\1",$linkurl);
$str = urldecode($str);
$str = mb_convert_encoding($str,CHARACTERSET,"UTF-8");
}
$key = mb_convert_kana($str,"s");
return $key ;
//リファラの取得
$key = keyword($_SERVER['HTTP_REFERER']);
}
//検索キーワードに任意の文字列が含まれていたら
//キーワードに「アパート」が含まれていたら
if(stripos($key, "アパート")){
//「アパート」で検索してきた人に提案する
echo "<h3>" . $key . "をお探しですか?</h3>";
echo '<p><img src=画像:アパート.jpg /></p>';
//キーワードに「中古住宅」が含まれていたら
}elseif(stripos($key, "中古住宅")){
//「中古住宅」で検索してきた人に提案する
echo "<h3>" . $key . "をお探しですか?</h3>";
echo "<p><img src=画像:中古住宅.jpg /></p>";
}
?>
このプログラムでは、以下のような手順でリファラーから検索キーワードを割り出し、コンテンツ部分を生成しています。
- 検索エンジンごとに文字コードが違うので、文字化け防止のために検索キーワードをUTF-8に変換する
- 取得したリファラーから検索エンジン(Google/goo/Yahoo!/msn)ごとに検索キーワードを抽出・デコードする
- 取得した検索キーワードから全角スペースを半角スペースに変換「キーワード1 キーワード2」の形式にする
- リファラーの取得
- 条件分岐で特定の「キーワード」が含まれていたら、それに対応するコンテンツを表示させる
まずはサンプルをベースに、検索キーワードや表示するコンテンツの内容などから書き換えて、LPOの導入を体験してみましょう。
◆
今回は、前回説明した考え方に基づき、LPOを実際に形にするための実装方法を簡単にまとめてみました。紹介した以外にも、アイデア次第でLPOはさまざまな方法を使って実現できます。今回の記事をヒントに、ぜひ試してみてください。
次回は、Movable TypeなどのCMSツールでLPOをより手軽に導入するための方法を紹介します。
ランディングページには何を出すべき?
「LPOを実現するためのプログラムはできた! でも何を出したらいいか分からない」――LPOを取り入れたランディングページには、どのような内容を表示すると効果的でしょうか? 2つの考え方ができます。
- 訪問者のニーズに合致するコンテンツへのリンク
- コンバーション(目標)達成ページに誘導するリンク
1は、ユーザーの目的を達成させるナビゲーションを出す方法です。本文で紹介した不動産情報サイトの例でいえば、「アパート 不動産」で検索してきたユーザーには、「アパートの物件一覧」へのリンク(または物件サムネイルページ)、「アパート」関連のコンテンツまたは人気物件のサムネイルから個別ページへのリンク、などをアピールできれば、ユーザーが次に何を見ればいいのかが分かりやすくなります。
2は、特に見積もりや問い合わせをゴールページとするサイトに有効です。このとき、ランディングページからゴールページに誘導するためのキャッチコピーや説明文などもうまく織り交ぜてアピールします。たとえば、「中古住宅 不動産」で検索したユーザーに「物件を問い合わせる」ページに誘導する場合、「この物件と同じ条件の中古住宅があと3件あります! 詳しくはお問い合わせ下さい」「この地区の中古住宅が出たらすぐにお知らせします! こちらからお申し込み下さい」といったリンクを表示すると効果的でしょう。
いずれの場合も、キーワードの内容に沿った流れで次のページへ誘導するように、ユーザーの導線を作ることが大切です。
sato165(佐藤裕子) プロフィール
Web制作会社に勤務。CMS構築からSEO・マーケティングまで幅広く手がける。ブログ「de-lab」でIT LifeHackやWeb制作、SEO・LPOなどの技術的な話題を提供している。
■もっと勉強したい人のためのオススメBOOK(Amazon.co.jp)