MT4で簡易的なLPO対策を実現するモジュール

2008.08.19

画像 - MT4で簡易的なLPO対策を実現するモジュール

簡易的な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といいます。

検索エンジンなどを経由してきたユーザが最初に見るウェブページをランディングページと呼びます。

ユーザが目的のページを探す場合、メニューやサイト内検索機能などが充実していない場合、ユーザは目的のページを探し出すことを諦めて他のサイトへと遷移してしまう行動が多く見られる。 そのため、他のサイトへと遷移させないように、ランディングページから目的のページへと簡単に遷移出来るように最適化することを言う。

ランディングページ最適化 – Wikipedia

LPO – どんないいことがあるのか

LPO対策をするとユーザーが欲しい情報を見つけやすくなるため、サイトの滞在時間が長くなり、直帰率が下がります。対費用対効果を改善する働きがあります。

このサイトでもやってますが、直帰率が70%から60%前後になりました。

LPO – 具体的にどんなことをするの?

それぞれの訪問者の違いに合わせてランディングページを動的に変更します。

ちゃんとやるとそれなりに費用がかかります。今回は、検索キーワードを利用した簡易的なものを作成しました。

このサイトで実装しているLPOモジュール

Googleで2ch firefox3を検索してこのサイトの記事をクリックすると、下のランディングページが出ます。

個別エントリのみで検索エンジン以外のユーザーには普通のページが出ます。

これはWordpressですが、MTでも同じような画面が出るようにします。

LPOモジュール [ SearchKeyword ]

検索エンジンからのアクセス(リファラ)が無いと本サーバーでテスト出来ない為、ローカル環境のみでテストしているので、とりあえずアルファ版とします。間違い・お気付きの点があればフィードバックお願いします。

関連記事を表示するプラグイン

関連記事表示部分は既存のプラグインを利用させて頂きました。

あらかじめこちらのプラグインをインストールしておく。

テンプレートモジュール : 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関連リンク

photo
基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)
大藤 幹
毎日コミュニケーションズ 2008-09-20
おすすめ平均 star
starテンプレートの構造がよくわかります。
starMovable Type 4.2を使ったオリジナルスタイル開発者必見

by G-Tools , 2009/02/04

photo
Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。
おすすめ平均 star
star内容量と値段のバランス
starこういう本を、本当に待っていた!!
star制作サイドに立った内容だ。
star制作意欲をかきたてられる
starプロとしてMovableTypeを使いこなすために

by G-Tools , 2009/02/04

Recommend!

PHPによるWebアプリケーションスーパーサンプル 第2版 PHPによるWebアプリケーションスーパーサンプル活用編 第2版 jQueryで作る Ajaxアプリケーション CakePHPガイドブック CakePHP ポケットリファレンス

TrackBack URL
このエントリのリンクを作成

Trackback + Pingback:5

広報ブログ

トラックバック from 2008/08/21

第2回Movable Type Developer Conferenceを開催

シックス・アパートの高橋です。 8月19日、東京・丸ビルカンファレンススクエア…

links for 2008-08-24 « 個人的な雑記

ピンバック from 2008/08/25

[...] MT4で簡易的なLPO対策を実現するモジュール – delab (tags: lpo mt) [...]

検索エンジンを有効利用するWEBサイト構築 - 1000 speakers発表資料 - delab

ピンバック from 2008/11/23

[...] マクドナルドLPO導入リニューアルの際は、MT4でLPO対策を実現するモジュール [...]

wordpressで簡易的なLPO対策を実現するプラグイン - delab

ピンバック from 2009/02/02

[...] MT4で簡易的なLPO対策を実現するモジュール – delab [...]

MTでLPO対策ができるモジュールを導入してみた | チバのブログ

ピンバック from 2009/07/23

[...] 方法が全く思いつかなかったんですが、ネットをはいかいしている途中でMT4で簡易的なLPO対策を実現するモジュール(delab)というとてもステキな記事を見つけました。検索エンジンを経 [...]

Comments: 6

/315 showBOO 08-10-05 (日) 13:26

showBOO

参考にさせていただきました。
ただ、上記のタグでは関連するエントリーが大量に出てしまいますので、以下のように変更させていただきました。

<a href=”">

/316 showBOO 08-10-05 (日) 13:29

showBOO

すみません、タグが反映されなかったのでももう一度コメント致します。

<ul>
<MTRelatedEntries>
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTRelatedEntries>
</ul>

/317 sato 08-10-14 (火) 10:11

sato

ご指摘ありがとうございます。
MTの動作環境無いので検証いただき助かりました。

/1840 中村 09-05-11 (月) 16:51

中村

貴重な方法を開示くださってありがとうございます。
一応、TagSupplementals プラグインをインストールし、php化済みのブログにおいて、上記のテンプレートモジュール、およびこのモジュールをエントリー・アーカイブテンプレートに組み込んで再構築しました。

しかし、何も表示されません。
・このブログには、キーワード欄は設定していますが、タグ欄にはまだ何も設定していません。
・TagSupplementals プラグインは、タグの設定をしないと期待する結果は表示しないのでしょうか?(キーワードだけではダメなのでしょうか?)

/1841 中村 09-05-11 (月) 17:14

中村

追加情報です。

エントリーを直接表示(サイトからリンクを辿った場合)は、先にお伝えしたように何も表示されませんでした(当然かな?)が、
検索エンジン経由で表示したら、

??綽???????,?????<?ゃ???ョ?関連の記事が見つかりました

と文字化けした状態で表示されていました。

実は、当方のブログは、EUC-JPです。ブログがEUC-JPでは、結果は期待できないのでしょうか?

/1842 中村 09-05-13 (水) 16:41

中村

SearchKeywordというテンプレートにおいて、
define(”CHARACTERSET”,”UTF-8″);
のところをEUC-JPに変更し、

echo ”, $key, ‘関連の記事が見つかりました’;
のh3タグの内部を削除し、英語のセンテンスだけにして、
とりあえず目的は達成できました。

Comment Form

スタイル指定用の一部の HTMLタグが使用できます。