MovableTypeSEO強化 タイトル・META情報を動的に生成

感想おまちしてます!

SEO(Search Engine Optimization)とは検索エンジン最適化という意味だ。
昔、こんな面白い記事があった。
「Googleでの表示ランキングが下がり売り上げ現象」というものだ。
Googleなどの検索エンジンは、人間の手作業でページを調べるわけではない。
効率よくページを巡回し、キーワードを集めて、検索結果ページに反映させている。
このアルゴリズム(ロジック)に適したページを作ることにより、
検索エンジンで高順位を獲得し、ユーザビュー数を増やそうというのがSEO対策というものだ。
MobavleTypeはフリーで使えながらも、コンテンツ構造をうまく生成してくれる。
デフォルトで十分なSEO対策となっているが、ちょこっと改造してよりよいSEO対策を考えてみた。


titleタグはとても重要である。htmlの世界では「本の背表紙」のようなものだ。
背表紙から内容がわからない本を、手にとって読んでみようと思ったりは誰しも思わないだろう。
しかし、SEOの世界では注意しなければならない点がある。それは
「背表紙の長さは全角20文字(Googleの場合)」というルールがあるからだ。
確かに、背表紙に100文字書いてある本を、今までにみたことがない。
今回は、このページのMobavleTypeのインデックステンプレートに以下のような記述をしてみた。

<meta name="Description" content="<$MTBlogName$>
<MTEntries lastn="7"> <$MTEntryTitle$></MTEntries>" />
<meta name="keywords" content="<$MTBlogName$><MTEntries lastn="7">,<$MTEntryTitle$>
</MTEntries>" />
<title>世界 daipresents!! <$MTBlogName$></title>

これによってタイトル、META情報をどうてきに生成できる。
INDEXページでは7日分のエントリを表示しているため7日分の見出しをkeywordに出力。
タイトルにはBlogの名前を載せるだけにしておいた。これは見出しに余計な文字をつけると、
お気に入りに入れてくれた人が困るからだ。
上記記述で以下のようなHTMLが生成される。

<meta name="Description" content="賢者の贈り物
MovableType カテゴリ・月別アーカイブをINDEX表示する ロボコン 第77回米アカデミー賞
三国駅 パッチギ! 横浜日劇 関内MGA、ヨコハマシネソサ、
ヨコハマジャック&ベティ閉館 サツキとメイの家" />
<meta name="keywords" content="
賢者の贈り物,ロボコン,第77回米アカデミー賞,三国駅,パッチギ,サツキとメイの家・・・省略
" />
<title>世界 daipresents!! 賢者の贈り物</title>

さらに、カテゴリ表示ではカテゴリ名をタイトルに追加する。
METAタグにはカテゴリのエントリタイトルを30件表示するようにした。
(30というのはページング処理による表示件数が30件だからだ)

<meta name="Description" content="<$MTBlogName$>
<MTEntries lastn="30"> <$MTEntryTitle$>
</MTEntries>" />
<meta name="keywords" content="<$MTBlogName$>
<MTEntries lastn="30">,<$MTEntryTitle$>
</MTEntries>" />
<title><$MTBlogName$> アーカイブ – <$MTCategoryDescription$></title>

個別アーカイブではその記事のタイトルを表示する。

<meta name="Description" content="<$MTBlogName$>
<$MTEntryTitle$>" />
<meta name="keywords" content="<$MTEntryTitle$>" />
<title>世界 daipresents!! <$MTBlogName encode_html="1"$> – <$MTEntryTitle$></title>

keywordに30件記述するというのは邪道になるのかもしれないが、
そのページは30件のエントリINDEXページなのだから、意味のないkeywordの羅列ではない。
また、MTBlogDescriptionにその日のエントリ内容(<$MTEntryBody$>)を
encode_htmlでタグを変換し、trim_toで文字カットして表示。。。とも考えたが、
私の作るエントリでは、頭でimgタグを記述しているため、やめてタイトルだけにした。
ちなみにencode_htmlは今日発見した。(というかそういう属性をつけれることを忘れていた・・・。)
MovableTypeはよくできているので、そういうのあるにきまっているよな?!!
trim_toとencode_htmlを利用して、Googleの検索結果のように、
カテゴリでエントリをサマリーを表示する方法を考えてみる価値はあるようだ。
(imgタグはCSSで隠すしかないかな?)
しばらくはSEO対策について勉強してみようと思う。