Home > インターネット > MT3.3のエントリー・タグ機能実装

MT3.3のエントリー・タグ機能実装

エントリー・タグ機能を実装してみた

MT3.3にアップグレードしてから二週間あまり。MT3.3の新機能として追加された"タグ"という概念。せっかく苦労してアップグレードしたので、とりあえず実装してみました。まぁ前からやりたかった事もあったので、それもついでに。

タグとは

タグとは、エントリーにつけるジャンル分けのための語句(ラベル)です。Movable Type では記事をカテゴリごとに分けることができますが、さらにタグを使うことで、エントリーごとに細かくジャンル分けしたり、ウェブログ全体の記事から関連のあるエントリーを簡単に見つけることができるようになります。(※すべてのページで使用可)

エントリー・タグを活用すると以下のような表示が可能です。

  • ・特定のブログ内のエントリー・タグの一覧表示
  • ・タグ・クラウドを使ったエントリー・タグの一覧表示
  • ・エントリーで入力されたエントリー・タグの一覧表示
  • ・特定のエントリー・タグが入力されたことの確認
  • ・特定のエントリー・タグが入力されたエントリーの一覧表示

その他詳しい詳細については、Movable Type 3.3 エントリー・タグ詳説がとても参考になるので、そちらをご覧になられた方がよいと思います。

タグって閲覧者にはどう見えるの?

「タグ」って言われても、いまいちピンとこないでしょうけど、基本的にはサイト内検索をしているのと同じ感覚。運用者側が任意で各エントリーに付与したタグに基づく、エントリーが表示されるような仕組みで、どちらかと言えばカテゴリと似た感じでしょうか。

事実、タグ名称を表示させてタグ用のリンクを追加すると、「mt-search.cgi」の生成するページが表示されます。

という事で勘の良い方はもうお気づきでしょうが、パラメータを含んだ動的なURLを吐いて、エントリーの一覧ページが表示されるという仕組みです。実装面でもちょっと調べれば、ここまでは特に難しくないです。

Apacheモジュール mod_rewrite

どうせ「mt-search.cgi」で動的ながらURLが新規に生成出来るのなら、せっかくだしSEO対策をやってみるかと考えて、「mod_rewrite」も実装してみました。

「mod_rewrite」とは、ルールベースの 書き換えエンジンを使い、要求された URL を適宜書き換えます。 サポートするルールの数、および各ルールを適用する際のルール条件 の数に制限はなく、本当にフレキシブルでかつパワフルな URL 操作 メカニズムを提供します。この URL 操作に先立ち、次のようにいろいろな 評価を行なうことができます。たとえばサーバ変数、環境変数、HTTP ヘッダ、 タイムスタンプ、さらに外部データベースの検索結果までを評価の対象として、 各種のフォーマットを使った粒度の高い URL マッチングを実現できます。

この「mod_rewrite」を使って、パラメータを含んだURLを静的なURLに置換し、検索エンジンに認識させてやろうという目論みです。

という訳で、結構苦労しましたがタグ機能と「mod_rewrite」を組み合わせた実装方法は以下の通りです。

mt-search.cgiを使ったタグ別ページの標準URLは、
<mt-search.cgi?tag=KEYWORD&blog_id=BLOGID>
となるので、このURLを以下のように置換しました。

<http://rakish.org/typer/tag/KEYWORD>

以下の内容を「.htaccess」ファイルに記述してブログのルートディレクトリに置きます。

RewriteEngine On
RewriteRule ^tag/(.*)$ cgi/mt/mt-search.cgi?tag=$1&blog_id=IDナンバー

※最後の"IDナンバー"はブログによって異なります。

こうすれば、例えば
置換後URL>にアクセスすれば、<置換前URL>と同じ結果を得る事が出来ます。

静的化したエントリー・タグURL MT上での設置方法

ここまではいいとして、ではどのようにこの置換後のURLを動的に生成してテンプレートにリンクとして出力するかですが、これは以下の通り。
エントリー・タグの名称を生成する<$MTTagName$>を記述しアンカータグで囲み、"href="の部分に<$MTBlogURL$>tag/KEYWORD としてみました。これで、KEYWORDの前までは固定の文字列で、KEYWORD部分だけが可変になり、動的に置換後のURLを生成する事が出来ました。

これでエントリー・タグ別のページを検索エンジンにインデックスさせる事が出来るかな。しばらく様子を見てみましょう。

コメントとトラックバック

Home > インターネット > MT3.3のエントリー・タグ機能実装

Search
JBIS Search
Ads
Amazon
Friend Links
MM-GCT
Feeds

Return to page top