PHPでMovable Typeの更新を高速化する
Movable Typeでエントリーの追加や更新を行うとトップページやその記事の含まれるカテゴリーや前後のエントリーなど関連性のあるページも自動で更新が行われます。
しかし、最近のエントリー、トラックバック、コメントやカテゴリー別のエントリー一覧などをサイドメニューなどに表示している場合、エントリーの登録だけでは全てのページは更新されないため、ページごとに内容がことなってしまいます。
そのような場合、ページを追加・更新する度に「サイトの再構築」で、全てのページを再構築することで、対応できるのですが、手間や更新速度の面からページが増えてくると厳しいものがあります。
そのような時にPHPを使用すると簡単に解決することができるのです。
簡単に説明すると、サイドメニューなどに表示している「最近のエントリー」や「トラックバック」など全体で表示したい共通の部分を、エントリーの更新処理で、個別のHTMLファイルとして作成します。
ページを表示するときに、PHPの読み込み機能を使って、そのHTMLファイルを読み込んでページの一部として表示することで、常に同じ内容が全てのページで表示されるようになります。
PHPとMovable Typeを組み合わせることで、ページ数が増えてもストレス無く、コンテンツの追加や更新が行えるようになります。
PHPの読み込み機能を使うためのMovable Type設定方法
メニューに表示したい部分、たとえば最新のエントリーリストやトラックバック一覧などをHTMLとして書き出すインデックス・テンプレートを用意します。そして、表示したいアーカイブテンプレートの中で、書き出したHTMLファイルをPHPのインクルードを使用して読み込むことで表示します。
もう少し具体的な例をカテゴリー別のメニューを作成する方法で説明します。
カテゴリー別のメニューを作成するには、アーカイブテンプレートを使用します。
内容は、カテゴリーのエントリーしストを出力するような単純なものです。
その追加したテンプレートを「設定」>「アーカイブの設定」で、カテゴリー別アーカイブと関連付けます。
カテゴリー別メニューの出力ファイル名を
「category_menu_<$MTArchiveCategory dirify="1" $>.inc」として、カテゴリーごとのメニューを別々のHTMLファイルとして書き出します。
カテゴリーごとのメニューを表示するには、個別アーカイブのテンプレートから、PHPのインクルードを使用して読み込むだけです。
<?php include "<MTBlogArchiveURL>category_menu_<$MTEntryCategory$>.inc";?>
カテゴリーアーカイブから読み込むには
<?php include "<MTBlogArchiveURL>category_menu_<$MTArchiveCategory$>.inc";?>
JavaScriptを利用しても同様なことを実現は出来ますが、検索エンジンがJavaScriptを読まないためSEOの面で不利となります。また、ユーザーの環境によってはメニューが表示されなくなるため、あまりお勧めはできません。
これだけで、再構築を行うことなく、エントリーを追加するだけで、全てのページのメニューが更新されます。
注)カテゴリー名に日本語を使用している場合、カテゴリー名の代わりにカテゴリーIDを使用することで対応できますが、カテゴリーアーカイブからMTCategoryIDを直接呼び出せないので、MTCategoryなどのプラグインを使用するとよいでしょう。
インクルードファイルのパス指定に<$MTBlogSitePath$>でローカルパスを指定する方が、サーバーの負荷は軽減できるようです。しかし、アーカイブをサイト・パスとは別に設定している場合には注意が必要です。
「ちょっとテクニカル」の一覧
- MovableTypeのコメントスパム対策
- MovableTypeのバックアップ手順
- かんたん便利なブログをより安全に
- ホームページ作成に使うソフト
- MovableTypeの出力ファイル名(URL)を変更する
- Movable Typeでカテゴリーごとに表示内容を変える
- Movable TypeのSEO対策
- MovableTypeにはPHPがお勧めです
- Google SitemapsをMovableTypeで自動作成
- PHPでMovable Typeの更新を高速化する
- Movable Type 3.2でスパム対策が強化
- テンプレートの編集をホームページ作成ソフトで効率的に
- Movable Typeでカテゴリーの並び順を変更する
- ブログのページに表データを挿入するには
- Movable Type 3.3 に関して(移行の注意点など)
- Movable Typeで海外からのスパムを自動で駆除する
- Movable Typeで携帯サイトに対応
- Sitemapをrobots.txtで検索エンジンに通知
- Movable Type 4 日本語版を発表
- ソーシャルブックマークに登録するためのリンク
- MT4のバグフィックス版
- Movable Type 4.1でカスタムフィールドが標準機能に
- Dreamweaver CS3拡張機能 for Moveble Type 4.1
- 対応する携帯ページをGoogleに正しく認識させる
- MTにお勧めのレンタルサーバー