Movable Typeでmeta descriptionを設定する
MTにブログをお引越ししたのはよいですが、metaタグのdescriptionを初期設定しておらず、「サイト内の全部のページが同じdescriptionだよ」と、Googleウェブマスターツールに怒られてしまいました。
そこで、ヘッダー類のテンプレートを変更して、description要素を設定します。
descriptionの実装方針
以下のような方針で実装します。
・ブログ記事の場合は、「概要」欄に入力されたデータを表示。「概要」欄にデータがない場合、ブログ記事の文章を任意の文字数で切り取ってdescriptionに埋め込み
・カテゴリーアーカイブの場合は「カテゴリの説明」に書かれているデータを表示。
・年月別アーカイブでは、「ブログ名:○年○月アーカイブ」とデータを表示
こんな感じです。
処理としては以下のようになります。
1・htmlを再構築する際に、各アーカイブごとに「description」に埋め込む変数を取得
2・共通使用されているhtmlヘッダーのパーツに、1で取得したdescriptionデータを代入
3・各アーカイブごとに、descriptionを書き分けて出力
descriptionの変数化
descriptionの値を変数化します。ここでは「excerpt」という名前にします。次に、各アーカイブテンプレートの1行目に、以下のような設定を行います。
ブログ記事アーカイブの処理:
<mt:setvarblockname="excerpt"><$mt:entryexcerpt$></mt:setvarblock>
カテゴリ別ブログ記事リストの処理:
<mt:setvarblockname="excerpt"><$mt:categorydescription$></mt:setvarblock>
月別ブログ記事リストの処理:
<mt:setvarblockname="excerpt"><$mt:blogname$>:<$mt:ArchiveTitle$>アーカイブ</mt:setvarblock>
次に、テンプレートモジュールのhtmlヘッダーのタグを下記のように記述
<meta name="description" content="<$mt:var name="excerpt"$>" />
こうやって再構築すると、各ブログ記事、カテゴリ別ブログ記事リスト、月別ブログ記事リスト、それぞれに適切なdescriptionが付与されます。
ブログ記事の場合、「概要」欄に記述された概要文がdescription要素として反映されます。もし「概要」欄に何も入力されていなかった場合、MTタグのデフォルトの機能により、ブログ記事本文の文章を任意の文字数で区切って反映してくれます。
カテゴリ別ブログ記事リストの場合、カテゴリで設定した「説明」の文章が、description要素として反映されます。
月別ブログ記事リストの場合、ブログ名:○○年○○月アーカイブ というdescriptinが、各年月別アーカイブファイルに反映されます。
概念としては、上図のようになります。
descriptionの設定が終わったら、次はkeywordsです。
keywordsの設定はやや複雑になるため、次回以降2,3回に分けて記述します。
コメントする