MovabeleTypeで再構築を高速化

WordPressユーザーには、「再構築なにそれ?」と問われてしまう。MovableTypeの機能。

MovableTypeは、あらかじめHTMLファイルを用意していて、訪れた訪問者は、作成済みのファイルを閲覧し、WordPressは、そのたびにPHPによってファイルを生成するという違いがあります。
MobableTypeは、基本的にファイルが出来てしまえば、あとはできたものを見せるだけなので、大量の記事があっても表示速度に影響が少ないという利点がありますが、ファイルを作る作業→「再構築」がエントリーが増えると、途方も無い時間がかかる様になります。
じゃあ途方もなく掛かる再構築は、どんだけ重要なのかと考えてみると、去年や一昨年の特に変更していない(つまり更新擦る必要のない記事)をせっせと上書き保存することに費やしているのが、処理時間の大半だと考えてよさそうです。
実際に大量の記事があるサイトの大半の記事をこの再構築から外す作業を行ったので、記事に残します。

MySQLが操作できる人はこちらの方がいいかも
MovableTypeの場合に記事を再構築から外す方法は、【公開状態】を【公開】から【未公開】に変更すると、再構築する際に対象から外されます。

でも、普通【ブログ記事の編集】画面で【公開】から【未公開】に切り替えて保存してしまうと、記事自体のファイルも削除されてしまいます。
そこで、非公開にする前にアーカイブファイルと、ブログの一覧ファイルをFTPソフトなどでバックアップしておきます。

バックアップが完了したら、再編集することはないだろう古い記事を選んで【未公開】にします。
【未公開】にすると、記事ファイルが削除されますので、なくなったファイルをバックアップから再アップロードすれば記事として残すことができます。
テ ンプレート【カテゴリ別ブログ記事リスト】や【月別ブログ記事リスト】などブログ記事と連動して変更されるコンテンツも同様に記事も変更されてしまいます ので、バックアップのHTMLファイルと再構築後のファイルとを見比べながら、テンプレートに直接のリンクタグなどを追加して保存、再構築をしておきま す。
こうすると、以降の再構築では、【未公開】になった記事はMovableType側はなかったものとして扱いますので、再構築のタスクが減り時間短縮になります。

データベース(Mysql)を直接修正できる人は、もっと手っ取り早い方法が在ります。

MySQLでMovableTypeを運用されている場合にはもっと簡単に対処することができます。
(この方法では、再構築済みのHTMLファイルをバックアップしておく必要はありませんが、安全のためにバックアップは取っておいてくださいね。)
ブログ記事は、テーブル”mt_entry”で、フィールド”entry_status” ’2’が【公開】’1’が【未公開】になります。なので、sql文を直接叩いて変更するという方法があります。
他に必要な項目は、ブログID(複数ある場合には要確認です。一つならばID=1でしょう)いつの記事より前のものを再構築から外すのか決めておきます。
で、決まったら、MySQLのコンソールから、アップデート文を打ちます。
UPDATE `mt_entry`  set `entry_status` = ‘1’ where  `entry_blog_id` = ‘1’ and `entry_class` = ‘entry’ and `entry_created_on` < ‘2010-04-01 00:00:00’
(この場合には、2010年4月1日以前のブログ記事でブログIDが1の記事を未公開に変更する。ということになります。)

実際にMovableTypeの管理画面で確認すると【未公開】に変更されています。
再構築をする前に、テンプレート【カテゴリ別ブログ記事リスト】や【月別ブログ記事リスト】などブログ記事と連動して変更されるコンテンツに、未公開にした部分のHTMLデータを追加しておけば、作業は完了です。

コメント

タイトルとURLをコピーしました