先日作ったHTMLヘッダーの内容を、ちょっといじって全てのページで表示できるようにしてみます。そうする事により「モジュール」の一つとして扱えるようになるので、後々管理が楽になると思います。
まず、HTMLヘッダー自体が、各ページによってどう違うようにならなければいけないのか。基本的に違いが必要なのはタイトルとメタ情報です。タイトルだけでいうと、トップページではブログのタイトル。カテゴリーページではカテゴリータイトル&ブログタイトル、記事のページでは記事タイトル&ブログタイトル。というように各ページでタイトルの表示を変える必要があると思います。
絶対に必要な変更という訳ではありませんが、SEOなどの要素にもなるかと思われますので、やっておいて損は無いでしょう。
まず、HTMLヘッダー自体が、各ページによってどう違うようにならなければいけないのか。基本的に違いが必要なのはタイトルとメタ情報です。タイトルだけでいうと、トップページではブログのタイトル。カテゴリーページではカテゴリータイトル&ブログタイトル、記事のページでは記事タイトル&ブログタイトル。というように各ページでタイトルの表示を変える必要があると思います。
絶対に必要な変更という訳ではありませんが、SEOなどの要素にもなるかと思われますので、やっておいて損は無いでしょう。
メインページ
まずはメインページのコードです。<mt:if name="main_index">
<title><$mt:BlogName encode_html="1"$></title>
<mt:if>で、「main_index」のページの時は、タイトルは<$mt:BlogName encode_html="1"$>と表示するという内容です。<title><$mt:BlogName encode_html="1"$></title>
記事/ウェブページ
次は記事やウェブページのコードです。<mt:Else name="feedback_template">
<meta name="keywords" content="<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>" />
<meta name="description" content="<$mt:EntryExcerpt$>" />
<title><$mt:EntryTitle$> - <$mt:BlogName$></title>
<mt:EntryPrevious>
<link rel="prev" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryPrevious>
<mt:EntryNext>
<link rel="next" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryNext>
<$mt:EntryTrackbackData$>
</mt:Else>
<mt:Else>で、<mt:if>で指定していた「main_index」のページでは無く、「feedback_template」のページの際は、metaのkeywordsの部分に、記事につけたタグを出力、descriptionの部分に記事の概要を出力。さらにタイトルには「記事タイトル - ブログタイトル」と表示するという内容です。<meta name="keywords" content="<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>" />
<meta name="description" content="<$mt:EntryExcerpt$>" />
<title><$mt:EntryTitle$> - <$mt:BlogName$></title>
<mt:EntryPrevious>
<link rel="prev" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryPrevious>
<mt:EntryNext>
<link rel="next" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryNext>
<$mt:EntryTrackbackData$>
</mt:Else>
アーカイブページ
次はカテゴリーや月別などのアーカイブページのコードです。<mt:Else name="archive_listing">
<title><$mt:ArchiveTitle$> - <$mt:BlogName$></title>
<mt:ArchivePrevious>
<link rel="prev" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchivePrevious>
<mt:ArchiveNext>
<link rel="next" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchiveNext>
</mt:Else>
<mt:Else>で、<mt:if>で指定していた「main_index」のページでは無く、「archive_listing」のページの際は、タイトルは「アーカイブタイトル - ブログタイトル」と表示するという内容です。<title><$mt:ArchiveTitle$> - <$mt:BlogName$></title>
<mt:ArchivePrevious>
<link rel="prev" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchivePrevious>
<mt:ArchiveNext>
<link rel="next" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchiveNext>
</mt:Else>
その他のページ
次はその他のページ用のコードです。<mt:Else>
<title><$mt:BlogName$></title>
</mt:Else>
<mt:Else>で、メインページでも記事ページでもアーカイブページでも無いページの際は、<$mt:BlogName$>で出力した「ブログタイトル」と表示するという内容です。<title><$mt:BlogName$></title>
</mt:Else>
各ページ共用HTMLヘッダー
最後に各ページ共用を目的として作ったHTMLヘッダーは以下のようになります。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<$mt:DefaultLanguage$>" lang="<$mt:DefaultLanguage$>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$mt:PublishCharset$>" />
<meta name="generator" content="<$mt:ProductName version="1"$>" />
<link rel="stylesheet" href="<$mt:Link template="styles"$>" type="text/css" />
<link rel="alternate" type="application/atom+xml" title="最新の記事" href="<$mt:Link template="feed_recent"$>" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$mt:Link template="rsd"$>" />
<link rel="start" href="<$mt:BlogURL$>" title="Home" />
<script type="text/javascript" src="<$mt:Link template="javascript"$>"></script>
<!-- メインページ -->
<mt:if name="main_index">
<title><$mt:BlogName encode_html="1"$></title>
<!-- 記事/ウェブページ -->
<mt:Else name="feedback_template">
<meta name="keywords" content="<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>" />
<meta name="description" content="<$mt:EntryExcerpt$>" />
<title><$mt:EntryTitle$> - <$mt:BlogName$></title>
<mt:EntryPrevious>
<link rel="prev" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryPrevious>
<mt:EntryNext>
<link rel="next" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryNext>
<$mt:EntryTrackbackData$>
</mt:Else>
<!-- アーカイブページ -->
<mt:Else name="archive_listing">
<title><$mt:ArchiveTitle$> - <$mt:BlogName$></title>
<mt:ArchivePrevious>
<link rel="prev" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchivePrevious>
<mt:ArchiveNext>
<link rel="next" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchiveNext>
</mt:Else>
<!-- その他 -->
<mt:Else>
<title><$mt:BlogName$></title>
</mt:Else>
</mt:if>
</head>
今回は前回作ったHTMLヘッダーのタイトル部分に<mt:if>から</mt:if>で、各ページに対応した内容を表示するようにしたという事になります。メインページでも記事ページでもアーカイブページでも使用できるモジュールとしてのHTMLヘッダー作りは完了です。"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<$mt:DefaultLanguage$>" lang="<$mt:DefaultLanguage$>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$mt:PublishCharset$>" />
<meta name="generator" content="<$mt:ProductName version="1"$>" />
<link rel="stylesheet" href="<$mt:Link template="styles"$>" type="text/css" />
<link rel="alternate" type="application/atom+xml" title="最新の記事" href="<$mt:Link template="feed_recent"$>" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$mt:Link template="rsd"$>" />
<link rel="start" href="<$mt:BlogURL$>" title="Home" />
<script type="text/javascript" src="<$mt:Link template="javascript"$>"></script>
<!-- メインページ -->
<mt:if name="main_index">
<title><$mt:BlogName encode_html="1"$></title>
<!-- 記事/ウェブページ -->
<mt:Else name="feedback_template">
<meta name="keywords" content="<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>" />
<meta name="description" content="<$mt:EntryExcerpt$>" />
<title><$mt:EntryTitle$> - <$mt:BlogName$></title>
<mt:EntryPrevious>
<link rel="prev" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryPrevious>
<mt:EntryNext>
<link rel="next" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
</mt:EntryNext>
<$mt:EntryTrackbackData$>
</mt:Else>
<!-- アーカイブページ -->
<mt:Else name="archive_listing">
<title><$mt:ArchiveTitle$> - <$mt:BlogName$></title>
<mt:ArchivePrevious>
<link rel="prev" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchivePrevious>
<mt:ArchiveNext>
<link rel="next" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
</mt:ArchiveNext>
</mt:Else>
<!-- その他 -->
<mt:Else>
<title><$mt:BlogName$></title>
</mt:Else>
</mt:if>
</head>

コメントする