- 2008/10/15 17:56
- MovableType | SEO
このシリーズでは、Movable TypeでLPOを実現するにはどんな方法があるか?ということを考察していきます。
改めて、LPOとは、
LPOとは、「Landing Page Optimization」の略で、検索エンジンなどの外部サイトから訪れる人が最初に開く“着地ページ”を最適化すること。もう少し具体的にいえば、検索キーワードによってページの内容を一部を書き換えたり、関連性の高いページへ誘導する方法
です。
前回まではプラグインを使って関連エントリーを表示させる方法を紹介してきましたが、今回はMTタグだけで関連エントリーを表示する方法です。
参考ネタはJunnamaさん運営のブログ「Junnama Online (Mirror)」からです。
今回は、プラグインはなしなので、プラグインのインストール等はありません。
以下を新規でテンプレートモジュールを作成します。
< ?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,"EUC-JP");
} 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 class="lpo-header">[', $key, '] でお探しですか?<br />関連するのエントリーが見つかりました';
?>
<div class="lpo">
<mtentryiftagged>
<mtsetvarblock name="entrytags"><mtentrytags glue=" OR ">< $MTTagName$></mtentrytags></mtsetvarblock>
<mtsetvarblock name="thisid">< $MTEntryID$></mtsetvarblock>
<mtsetvar name="match" value="0">
<mtentries tag="$entrytags" lastn="11">
<mtsetvarblock name="eid"><mtentryid></mtentryid></mtsetvarblock>
<mtsetvarblock name="entryCount"><mtentriescount></mtentriescount></mtsetvarblock>
<mtif name="entryCount" gt="1">
<mtentriesheader>
<ul>
</ul></mtentriesheader>
<mtunless name="__last__">
</mtunless><mtunless name="eid" eq="$thisid">
<li><a href="<mtentryPermalink>"><mtentrytitle></mtentrytitle></a></li>
<mtelse>
<mtsetvar name="match" value="1">
</mtsetvar></mtelse>
</mtunless>
<mtelse>
<mtif name="match">
<li><a href="<mtentryPermalink>"><mtentrytitle></mtentrytitle></a></li>
<mtelse>
<mtif name="__counter__" ne="11">
<li><a href="<mtentryPermalink>"><mtentrytitle></mtentrytitle></a></li>
</mtif>
</mtelse>
</mtif>
</mtelse>
<mtentriesfooter>
</mtentriesfooter>
</mtif>
</mtentries>
</mtsetvar></mtentryiftagged>
</div>
< ?php }?>
そして、ブログ記事アーカイブにインクルードし、再構築します。
< $mt:Include module="LPO"$>
すると、ブログ記事に検索エンジン経由でアクセ視した場合、以下のように表示されます。
(「ガチャピン ぬいぐるみ」で検索した場合です。)
関連記事
- Newer: mod_rewriteの「%2F」問題の解決法
- Older: 「Google 2001」は2001年以外も見える!
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.multiburst.net/sometime-php/2008/10/movable_type_lpo3/trackback/
- Listed below are links to weblogs that reference
- Movable Type で LPOを考えてみる(その3) from Sometime PHP
Additional comments powered by BackType






