[MT覚書]meta descriptionとkeywordをテンプレート毎に表示を変える
こちらのサイトを参考にmeta descriptionとkeywordを
モジュールテンプレートに分岐仕様でまとめました。
★MT5 METAタグ(keywords/description)について考える:+Chip(プラスチップ)
★MT5 テンプレートモジュールの共有化について考えてみた2:+Chip(プラスチップ)
◎インデックステンプレート:メインテンプレート(main_index)
◎インデックステンプレート:アーカイブインデックス(archive_index)
◎インデックステンプレート:カスタムテンプレート(これには予約変数がないので自分で変数をつくる)
◎アーカイブテンプレート:ブログ記事(entry_archive)
◎アーカイブテンプレート:カテゴリ別ブログ記事リスト(category_archive)
◎アーカイブテンプレート:月別ブログ記事リスト(datebased_only_archive)
◎ウェブページ(page_archive)
◎システムテンプレート(system_template)
自分のは上ほど、細かい分岐は必要なかったので、
以下のタグを記述を組み合わせればよさそうです。
トップページ(メインページ)やアーカイブページ関連
●ブログの「設定」→「全般」で設定した「サイトの説明」を表示する記述
<meta name="description" content="<$MTBlogDescription encode_html="1"$>" />
●キーワードの直接記述
<meta name="keywords" content="キーワード1,キーワード2,キーワード3" />
記事ページ関連
●ブログ記事投稿画面のキーワードに入力したものをkeywordsに表示する記述
<meta name="keywords" content="<$MTEntryKeywords$>" />
●ブログ記事投稿画面の概要に入力したものをDescriptionに表示する記述
<meta name="Description" content="<$MTEntryExcerpt$>" />
●ブログ記事投稿画面の本文の頭80字をDescriptionに表示する記述
<meta name="Description" content="<$MTEntryBody words="80" encode_html="1" strip_linefeeds="1"$>" />
ウェブページ関連
●ウェブページ投稿画面のキーワードに入力したものをKeywordsに表示する記述
<meta name="keywords" content="<$MTPageKeywords$>" />
●ウェブページ投稿画面の概要に入力したものをDescriptionに表示する記述
<meta name="Description" content="<$MTPageExcerpt$>" />
まず、どういう風な表示にしたいか書き出す。
先にどういう風に表示するかをまとめておいた方が、
分岐を組むときに混乱しなくてよい感じでした。
●トップページ
description:「設定」→「全般」で設定した「サイトの説明」
keyword:固定のキーワード
●アーカイブページ
description:「設定」→「全般」で設定した「サイトの説明」
keyword:固定のキーワード●ウェブページ
description:投稿画面で入力した「概要」
keyword:投稿画面で入力した「キーワード」●ブログ記事
description:文章の最初の80字
keyword:投稿画面で入力した「キーワード」
等。
上を基にすると以下のような記述になります。
分岐の例
<mt:If name="main_index"> <!-- トップページ --> <meta name="description" content="<$MTBlogDescription encode_html="1"$>" /> <meta name="keywords" content="キーワード1,キーワード2,キーワード3," /> <mt:ElseIf name="archive_index"> <!-- アーカイブ(記事一覧)ページ --> <meta name="description" content="<$MTBlogDescription encode_html="1"$>" /> <meta name="keywords" content="キーワード1,キーワード2,キーワード3," /> <mt:ElseIf name="entry_archive"> <!-- 記事ページ --> <meta name="Description" content="<$MTEntryBody words="80" encode_html="1" strip_linefeeds="1"$>" /> <meta name="keywords" content="<$MTEntryKeywords$>" /> <mt:ElseIf name="page_archive"> <!-- ウェブページ --> <meta name="Description" content="<$MTPageExcerpt$>" /> <meta name="keywords" content="<$MTPageKeywords$>" /> <mt:ElseIf name="category_archive"> <!-- カテゴリ別ブログ記事リスト --> <meta name="description" content="<$MTBlogDescription encode_html="1"$>" /> <meta name="keywords" content="キーワード1,キーワード2,キーワード3," /> <mt:ElseIf name="datebased_only_archive"> <!-- 月別ブログ記事リスト --> <meta name="description" content="<$MTBlogDescription encode_html="1"$>" /> <meta name="keywords" content="キーワード1,キーワード2,キーワード3," /> <mt:Else> <!-- 上記以外 --> <meta name="description" content="<$MTBlogDescription encode_html="1"$>" /> <meta name="keywords" content="キーワード1,キーワード2,キーワード3," /> </mt:If>
上にコメントアウト入れとくと、確認するときに一目でわかってよかったですw
おまけ:vicnaテンプレートで消した記述
vicnaには最初から結構考えられてる記述が
各テンプレートに入っているのですが、通常のブログの仕様向けなので、
今回ははずしました。下以外にもあると思います。
●vicnaブログ記事テンプレートから削除
<MTEntryExcerpt no_generate="1" remove_html="1" ltrim="1" setvar="entry_description" /> <MTUnless name="entry_description"><MTEntryExcerpt remove_html="1" ltrim="1" setvar="entry_description" /></MTUnless> <MTIf name="entry_description"> <meta name="description" content="<$MTVar name="entry_description"$>" /> <MTElse> <meta name="description" content="このページは、<$MTEntryAuthorDisplayName$>が<$mt:EntryDate format="%x %X"$>に書いた記事です。" /> </MTIf> <MTEntryKeywords remove_html="1" setvar="entry_keywords" /> <MTSetVarBlock name="entry_keywords" append="1"><MTIf name="entry_keywords">,</MTIf><MTEntryTags glue=","><$MTTagName encode_html="1"$></MTEntryTags></MTSetVarBlock> <MTIf name="entry_keywords"> <meta name="keywords" content="<$MTVar name="entry_keywords"$>" /> </MTIf>
●vicnaメインページテンプレートから削除
<MTIf tag="BlogDescription"> <meta name="description" content="<$MTBlogDescription encode_html="1"$>" /> </MTIf>
<MTIf tag="BlogDescription"> <meta name="description" content="<$MTBlogDescription encode_html="1"$>" /> </MTIf> <MTSetVarBlock name="main_keywords"><MTTags top="10" glue=","><$MTTagName encode_html="1"$></MTTags></MTSetVarBlock> <MTIf name="main_keywords"> <meta name="keywords" content="<MTAuthors><MTIf tag="AuthorEntryCount"><$MTAuthorDisplayName$>,</MTIf></MTAuthors><$MTVar name="main_keywords"$>" /> </MTIf>
一括修正のために~グローバルテンプレートの利用~
20101020追記
複数のブログで構成されてる場合、
一括で直せるように、こんな方法もとってみました。
ご参考まで。
1. グローバルテンプレートにメタというテンプレートモジュールを作成
2. 各々のテンプレートの当該部分に以下を挿入
<$MTInclude module="メタ"$>
修正が必要になった場合は、『メタ』テンプレートだけ直せばよい。
ディスカッション
コメント一覧
まだ、コメントがありません