Movable Typeでmetaタグのdescriptionを設定する方法

Movable Typeではウェブサイト(ブログ)やカテゴリ、ウェブページ、ブログ記事にそれぞれ概要(説明)を設定できるのに、metaタグのdescription(<meta name="description" content="…">)にはデフォルトで反映されませんので、テンプレートタグで実装する方法です。

入力項目とmetaタグに反映される内容

ウェブサイトおよび各ブログのトップ
全般設定の「ウェブサイト(ブログ)設定」の「説明」※1
ブログ記事
各ブログ記事の「概要」。概要に記述がないときは、ブログ記事の本文を、「投稿設定」→「概要の文字数」で指定した文字数だけ先頭から表示。
ウェブページ
各ウェブページの「概要」。なければ※1
カテゴリアーカイブ
各カテゴリの「説明」。なければ※1
上記以外
※1

※いずれも設定していない場合は表示されません。

テンプレートタグ

<mt:SetVarBlock name="meta_description">
<mt:Ignore>ブログ記事の場合</mt:Ignore>
<mt:if name="entry_archive">
<mt:If tag="EntryExcerpt">
<$mt:EntryExcerpt convert_breaks="0"$>
<mt:Else>
<$mt:BlogDescription$>
</mt:If>
<mt:Ignore>ウェブページの場合</mt:Ignore>
<mt:ElseIf name="page_archive">
<mt:If tag="PageExcerpt"><$mt:PageExcerpt no_generate="1" convert_breaks="0" setvar="page_excerpt"$></mt:If>
<mt:If name="page_excerpt" ne="">
<$mt:Var name="page_excerpt"$>
<mt:Else>
<$mt:BlogDescription$>
</mt:If>
<mt:Ignore>カテゴリーアーカイブの場合</mt:Ignore>
<mt:ElseIf name="category_archive">
<mt:If tag="CategoryDescription">
<$mt:CategoryDescription$>
<mt:Else>
<$mt:BlogDescription$>
</mt:If>
<mt:Ignore>その他</mt:Ignore>
<mt:Else>
<$mt:BlogDescription$>
</mt:If>
</mt:SetVarBlock>
<mt:SetVarBlock name="meta_description"><$mt:Var name="meta_description" strip_linefeeds="1" trim="1" remove_html="1" encode_html="1" strip="" $></mt:SetVarBlock>
<mt:If name="meta_description" ne=""><meta name="description" content="<$mt:Var name="meta_description"$>"></mt:If>

<$mt:BlogDescription$>はウェブサイトでは<$mt:WebsiteDescription$>と同義です。

上記コードをテンプレートモジュールとして登録し、必要な部分で<$mt:Include module="モジュール名"$>すればOK。