アーカイブページごとにSEOを考えた最適なキーワードを自動設定する方法

Posted by
ぴろり
Posted at
2008/03/29 09:55
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
MovableType カテゴリ

  を考えた場合,ページの meta ヘッダには,そのページ内容を表す概要文(description)やキーワード(keywords)を設定することが重要とされています。 によって生成される各アーカイブページの概要文については,MTBlogDescriptionMTCategoryDescriptionntryExcerptを適宜使いわけることで問題ありません。一方,昨年の記事でも書いたのですが,特に日別(週別・月別・年別)アーカイブやカテゴリアーカイブでのキーワードについては,これという解決方法が見えていませんでした。しかし, 4 から強化された変数タグを利用して,これらアーカイブのキーワードをもう少し賢く設定できるようにしてみました。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する

各アーカイブの概要文とキーワード

  で生成できる各種アーカイブごとに,meta ヘッダの概要文(description)とキーワード(keywords)に設定されると最適と思われる タグをまとめると以下のようになります。

各アーカイブの概要文とキーワード
アーカイブの種類概要文
(description)
キーワード
(keywords)
インデックス(トップページ) <$MTBlogDescription$> 手作業で
インデックス(その他) <$MTBlogDescription$>
【B】無理に設定する必要なし
【B】無理に設定する必要なし
個別記事 <$ntryExcerpt$>
<$ntryBody trim_to="N"$>
<$ntryKeywords$>
<ntryTags>
ウェブページ <$MTPageExcerpt$>
<$MTPageBody trim_to="N"$>
<$MTPageKeywords$>
<MTPageTags>
カテゴリ別 <$MTCategoryDescription$> <MTCategoryCustomFields>を利用
【A】自動的に設定
日/週/月/年別 【B】無理に設定する必要なし 【A】自動的に設定
ユーザ別 <MTAuthorCustomFields>を利用
【B】無理に設定する必要なし
<MTAuthorCustomFields>を利用
【A】自動的に設定

 一部のアーカイブページではカスタムフィールドを利用することで適切な値を個々に用意して利用することができます。しかし ではカスタムフィールドを利用できませんから,何かしら他の方法を考える必要があります。

最適なキーワードを自動的に設定する

 先の表で"【A】自動的に設定"となっている部分がこの記事の本題(笑) カテゴリアーカイブや日/週/月/年別アーカイブの meta ヘッダのキーワード(keywords)には,そのアーカイブページに集約されている記事で利用されているタグを利用頻度が高いものから順に設定するのが最適と考えられます。例えば MovableType カテゴリのアーカイブページに集約されている記事を例に挙げると,それぞれの記事で に関係したタグ( カテゴリアーカイブだと ,,,コード,,hack,,,,tips)が必然的に多く使われるわけですから,これらの記事で頻出するタグはそのアーカイブページを代表するキーワードと考えるのが自然です。
 幸い 4 からは,変数関係のタグが強化されており,特にハッシュや配列が扱えるようになりました。これらのタグと変数を利用して,アーカイブページ内の頻出タグを抽出することが簡単に行えます。

 の原型はハッシュ変数を使って最近のタグ一覧表示 - Movable Type 備忘録からです。最頻出タグを抽出するのにハッシュを用いるは素晴らしい。
 やっていることは(多分)同じハズですが,(全てのエントリでループ)×(エントリ内のタグでループ)の二重ループ構造で大量のタグの構築処理が発生するので,ループ内のタグは極力少なくする方向で書き換えさせて頂きました。元のでは,一回目の変数への代入処理を MTIf で分岐されていましたが,ここでは最初にハッシュの実体化を済ませておいて,ループ内では単純にタグをカウントだけするようにしてみました。MTIgnore は解説のためのコードなので本番では削除してください。

 ntries の使える状況であれば,インデックスやカテゴリアーカイブ,日別アーカイブ,ユーザ別アーカイブなどの様々なページにおいて,そのアーカイブページを代表するタグを抽出して meta タグのキーワードとすることが可能です。全てのアーカイブページに仕方無しに同じキーワードを設定するよりも, 上の効果は期待できるものと考えられます。

このサイトでは MT標準のタグ機能を使っていないのですが,的には同じ仕組みでキーワードを自動設定しています。例えばカテゴリアーカイブページのソースを見ると,ページ毎に異なるキーワードが設定されているのがご覧になれます。

概要文(description)はどうしようか?

 最後に"【B】無理に設定する必要なし"とされた meta ヘッダの概要文(description) についてですが,これはまだ明快な答えが見えていません。しかし description については,特に文章である必要はないようなので,そのアーカイブのエントリのタイトルを並べておくだけでも十分に思えます。なぜなら,エンジンによる結果表示ページにおいて,description の内容が snippet として表示されることになるわけですが,もしかするとそこにユーザが求める内容に近い記事タイトルが表示される可能性は否定できないからです。
 インデックスアーカイブページについては,どのページにおいても MTBlogDescription が無難に使えそうですが,やはり個々のインデックスページ毎に概要文のようなものが設定できると嬉しいですねぇ… あ,これってもしかしてネタ?


この記事を読んだ人はこんな記事も読んでいます ?

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 (必須/公開)
 (必須/非公開)
 
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 ? を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。