カテゴリーアーカイブと月別アーカイブのページをPHP化してページ分割したところ、再構築時に 「Error 500 Internal Server Error」 が発生する様になりました。CsideNetさんにも協力頂いた結果、CGIの負荷制限に引っ掛かっている様です。負荷を減らす工夫が無いか調べていたところ、ヒビノアワさんが「再構築エラーと戦う」で解決されていました。エントリーのタイトルのみの一覧を表示する方法です。下図は、私のBlogの「マルチメディア」カテゴリーアーカイブを表示したところです。
もともと、カテゴリーアーカイブと月別アーカイブのページで、各エントリーの内容をベタで表示する事自体、あまり有効では無いと考えていたので、タイトルの一覧を表示する方法は非常に合理的です。家頁我廊さんも同様な考えで「カテゴリーアーカイブ」を作られています。
■カテゴリーアーカイブと月別アーカイブはタイトルのみ表示する方法
(1)テンプレートの変更
「メインメニュー」→「テンプレート」で「アーカイブに関連したテンプレート」の「Category Archive」と「Date-Based Archive」に、それぞれ以下のオレンジ部分を変更、追加します。この記述により、60件分のエントリーのタイトルが「[ 日付 時刻 ] エントリーのタイトル[カテゴリー] Co(コメント数) TB(トラックバック数)」の形式で表示されます。
ブルー部分は、カテゴリーアーカイブのテンプレート「Category Archive」では、削除しました。理由は(2)に示します。
<div class="content">
<p>
<MTPaginate>
<MTPaginateContent max_sections="60">
<MTEntries>
<$MTEntryTrackbackData$>
[ <$MTEntryDate$> ] <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>[<MTEntryCategories glue=", "><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></MTEntryCategories>] Co(<$MTEntryCommentCount$>) TB(<$MTEntryTrackbackCount$>)
<br />
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>
<div align="center" class="paginate">
<MTPaginateIfMultiplePages>
<$MTPaginateNavigator style="links" format_all="All pages" place_all="after" separator=" | ">
</MTPaginateIfMultiplePages>
</div>
</MTPaginate>
</p>
</div>
(2)<$MTEntryTrackbackData$>の扱いについて
この記述があると、カテゴリーアーカイブの再構築で、エラーになってしまいました。そのため、「Category Archive」のテンプレートからは削除しました。
この記述があると、ブックマークレット「MTへ投稿」を使用した時、表示中のページへのリンクとタイトルを取り込んだ投稿ぺージが開きますが、開いたウィンドウの上部に、「トラックバックするエントリーを選んでください:」というプルダウン・メニューが表示されます。個別エントリーでは有効な機能と思いますが、アーカイブページでは複数のエントリーから選択する事は通常は無いと思われます。従って、記述を削除しても通常は実害は無いと考えます。
この記述の意味の詳細については、以下のページを参考にして下さい。
・Movable Typeユーザー・マニュアル: トラックバック
・MT hxxks - 概要 ( excerpt ) の重要性