
簡易的なLPO対策として使えるモジュールです。
このサイト(WordPress)で実装しているものを参考にしてMT用に作りました。
8月19日のMovable Type Developer ConferenceのLightning Talksのネタとして作成しています。
Movable Type Developer Conference終了
とーっても気軽な感じでLightning Talksに応募したんですが、MT関連の錚々たる方々ばかりで場違い感だしてました(笑)。
あまり大勢の前で話す機会がないので、マイクの前に立ったら頭真っ白→話の中身飛ばす→5分の話が4分で終わった(;^ω^)という結果になりました。
また機会があればリベンジしたいです!
MTの勉強になるお話をたくさん聞かせて頂き、ちょうどMTの案件もかかえていますので、これから色々作っていこうと思っています。
話の内容は下よりまとめてありますので御覧下さい。
今回「MT4で簡単なLPO対策のためのプラグイン」というタイトルで発表させて頂くつもりでしたが、
- MTは業務でちょっとだけ
- perlは初めてだ
- 何日か勉強したけど1週間でMTでperlとPHPでプラグイン作るのは無理かも
- でも簡単に実装できるものにしたい
なのでプラグイン化は今回断念して、テンプレートモジュールを作りました。
今までMTは業務でカスタムフィールドを使った案件があった位で、あまり深いところまで付き合ったことがなかったので、今回の制作で色々調べてみて勉強になりました。
特にMT4になってからはカスタマイズも簡単になってきていると感じました。今回間に合わなかったのですが、PHPでMTタグを使う方法も簡単だったので、そのうち何か作ろうと思います。
LPOとは
ランディングページ最適化=LPOといいます。
検索エンジンなどを経由してきたユーザが最初に見るウェブページをランディングページと呼びます。
ユーザが目的のページを探す場合、メニューやサイト内検索機能などが充実していない場合、ユーザは目的のページを探し出すことを諦めて他のサイトへと遷移してしまう行動が多く見られる。 そのため、他のサイトへと遷移させないように、ランディングページから目的のページへと簡単に遷移出来るように最適化することを言う。
LPO – どんないいことがあるのか
LPO対策をするとユーザーが欲しい情報を見つけやすくなるため、サイトの滞在時間が長くなり、直帰率が下がります。対費用対効果を改善する働きがあります。
このサイトでもやってますが、直帰率が70%から60%前後になりました。
LPO – 具体的にどんなことをするの?
それぞれの訪問者の違いに合わせてランディングページを動的に変更します。
ちゃんとやるとそれなりに費用がかかります。今回は、検索キーワードを利用した簡易的なものを作成しました。
このサイトで実装しているLPOモジュール
Googleで2ch firefox3を検索してこのサイトの記事をクリックすると、下のランディングページが出ます。
個別エントリのみで検索エンジン以外のユーザーには普通のページが出ます。
これはWordpressですが、MTでも同じような画面が出るようにします。
LPOモジュール [ SearchKeyword ]
検索エンジンからのアクセス(リファラ)が無いと本サーバーでテスト出来ない為、ローカル環境のみでテストしているので、とりあえずアルファ版とします。間違い・お気付きの点があればフィードバックお願いします。
関連記事を表示するプラグイン
DownloadableFiles: TagSupplementals-0.10.zip – Ogawa::Code – Trac
関連記事表示部分は既存のプラグインを利用させて頂きました。
あらかじめこちらのプラグインをインストールしておく。
テンプレートモジュール : SearchKeyword
名前はSearchKeywordで保存。
<?php
define("CHARACTERSET","UTF-8");
function keyword($linkurl) {
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($key != ""){
echo '<h3>', $key, '関連の記事が見つかりました</h3>';
?>
<ul>
<MTRelatedEntries lastn="5" offset="0">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTRelatedEntries>
</ul>
<?php }?>
Yahooの文字コードが違っていたようなのでeuc-jpからutf-8へ修正しました。
アーカイブページ > ブログ記事
表示させたい場所に下記を記述
<$mt:Include module="SearchKeyword"$>
Movable Type Developer Conference関連リンク
- kaminogoya’s mtdevcon Bookmarks on Delicious
- Six Apart – 広報ブログ: 第2回Movable Type Developer Conferenceを開催
- 基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)
- 大藤 幹
- 毎日コミュニケーションズ 2008-09-20
- おすすめ平均

テンプレートの構造がよくわかります。
Movable Type 4.2を使ったオリジナルスタイル開発者必見
by G-Tools , 2009/02/04
- おすすめ平均

内容量と値段のバランス
こういう本を、本当に待っていた!!
制作サイドに立った内容だ。
制作意欲をかきたてられる
プロとしてMovableTypeを使いこなすために
by G-Tools , 2009/02/04









Comments: 6
参考にさせていただきました。
ただ、上記のタグでは関連するエントリーが大量に出てしまいますので、以下のように変更させていただきました。
<a href=”">
すみません、タグが反映されなかったのでももう一度コメント致します。
<ul>
<MTRelatedEntries>
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTRelatedEntries>
</ul>
ご指摘ありがとうございます。
MTの動作環境無いので検証いただき助かりました。
貴重な方法を開示くださってありがとうございます。
一応、TagSupplementals プラグインをインストールし、php化済みのブログにおいて、上記のテンプレートモジュール、およびこのモジュールをエントリー・アーカイブテンプレートに組み込んで再構築しました。
しかし、何も表示されません。
・このブログには、キーワード欄は設定していますが、タグ欄にはまだ何も設定していません。
・TagSupplementals プラグインは、タグの設定をしないと期待する結果は表示しないのでしょうか?(キーワードだけではダメなのでしょうか?)
追加情報です。
エントリーを直接表示(サイトからリンクを辿った場合)は、先にお伝えしたように何も表示されませんでした(当然かな?)が、
検索エンジン経由で表示したら、
??綽???????,?????<?ゃ???ョ?関連の記事が見つかりました
と文字化けした状態で表示されていました。
実は、当方のブログは、EUC-JPです。ブログがEUC-JPでは、結果は期待できないのでしょうか?
SearchKeywordというテンプレートにおいて、
define(“CHARACTERSET”,”UTF-8″);
のところをEUC-JPに変更し、
echo ”, $key, ‘関連の記事が見つかりました’;
のh3タグの内部を削除し、英語のセンテンスだけにして、
とりあえず目的は達成できました。