4月 192007
MovableTypeは大量のエントリを扱うことを想定して作られていないのか、アーカイブページはすべての該当エントリが一気に表示されます。月別アーカイブなら多くても50程度だろうと思いますが、カテゴリーアーカイブはいくらでも大きくなる訳で、流石に何か対策をしなくちゃならないなと・・・。
ページ分割が出来るというのは他の改造をやっているときに記事を横目で見ていたものの、簡単にはできないのだろうと敬遠していたのですが、実際にやってみると案外簡単でした。
以下のサイトを参考にさせていただきました。
- 小粋空間: カテゴリーアーカイブと月別アーカイブのページ分割
- hxxk.jp – デフォルトの個別エントリーアーカイブから URI を変更する場合の注意点
- 拡張子 .html .htm でPHPを動かす場合には?
こんな感じで作業を進めました。
- MTPaginateを落としてきてpluginディレクトリに入れる
- 分割したいアーカイブページにMTPaginateのタグを仕込む
- MTの[設定]-[公開]のアーカイブ・マッピングを適宜書き換える
- マッピングが変更となった場合には.htaccessファイルを作成し、自動転送するようにしておく
- 拡張子が.htmlでもPHPスクリプトとして動作するように.htaccessに記述を加える
MovableTypeの初期設定の際、アーカイブディレクトリを直下に指定してしまっていて、直下にたくさんのディレクトリが生成されてぐちゃぐちゃになっていたのでそれも修正しました。
また、もともとentry_basenameを使って指定していたエントリーアーカイブファイル名称を投稿時刻だけを用いる様に変更しました。
- エントリー・アーカイブ
<$MTArchiveDate format=”%Y/%m/%d-%H%M”$>.html - 月別アーカイブ
%y/%m/index.html - カテゴリー・アーカイブ
cat_<$MTCategoryID$>.html
.htaccessに追加する記述をインデックステンプレートで生成するための記述も一応。
Redirect permanent <$MTBlogRelativeURL$><$MTEntryDate format="%Y/%m/"$><$MTEntryBasename$>.html <$MTBlogArchiveURL$><$MTEntryDate format="%Y/%m/%d-%H%M"$>.html
拡張子.htmlでPHPを動作させる理由ですが、拡張子phpのファイルを検索エンジンが拾いにくいという問題点からです。この点が気になってphp化させない人は多いようですが、この裏テクを使っている人はあまりいないようです。
まあ・・・自宅鯖なら好き放題出来ますのでこういうところは楽ですね。
とりあえずカテゴリーアーカイブと月別アーカイブをページ分割させてみました。
拡張子.htmlにget変数がくっつく様をどうぞご堪能くださいw
関連する記事:
関連記事はYARPP関連記事プラグインによって表示されています。
最近のコメント