Movable Type のエントリー削除でHTMLファイルも自動的に削除する

Movable Type のエントリー削除でHTMLファイルも自動的に削除する

Posted at October 30,2006 12:30 AM
Tag:[Entry, MovableType]

Movable Type で一旦公開したエントリーを削除した場合、対象のエントリー・アーカイブはデータベースから削除され、メインページやカテゴリー・アーカイブ/月別アーカイブに表示された記事、さらに各ページに貼られた対象エントリーへのリンクもすべて消滅しますが、Movable Type を普通にインストールしたままの状態では、エントリーを公開した時点で生成されるHTMLファイルは残ってしまいます。

したがって、対象となるエントリーの公開→削除のタイミングによっては検索ロボットにクロールされてしまい、削除したはずのエントリーが検索エンジン経由で他の方に閲覧されてしまう可能性があります。*1

これは公開したエントリーを「非公開」に変更した場合や出力ファイル名を変更した場合も同様です。

このような事態を回避したい場合、これまではFTPツール等を利用して手動で残ってしまったHTMLファイルを削除する必要がありましたが、3.3 からはオプション機能として、

  • エントリー削除
  • 「公開」から「非公開」への変更
  • ファイル名変更

の各操作と同時に、該当のHTMLファイルも Movable Type が自動的に削除してくれるようになりました。

参考サイトは下記です。ありがとうございました。

MovableTypeで行こう!Movable Type 3.3-jaにアップデートしました
MovableType備忘録ブログを上手に運用する

1.設定方法

Movable Type をインストールしたディレクトリにある、mt-config.cgi に下記の1行を追加します。

DeleteFilesAtRebuild 1

さらに具体的に説明すると、サーバにアップロードしている mt-config.cgi をダウンロードして、任意のエディタで開き、リスト1のように青色の行を追加し(こういう場合のお作法として、追加した行の行末には改行をいれておきましょう)、ファイルを保存後、mt-config.cgi を元の場所に再度アップロードします。

リスト1 mt-config.cgi への設定例

##          Movable Type configuration file                   ##
##                                                            ##
## This file defines system-wide settings for Movable Type    ##
## In total, there are over a hundred options, but only those ##
## critical for everyone are listed below.                    ##
##                                                            ##
## Information on all others can be found at:                 ##
## http://www.sixapart.jp/movabletype/manual/config
 
################################################################
##################### REQUIRED SETTINGS ########################
################################################################
 
# The CGIPath is the URL to your Movable Type directory
CGIPath    http://www.example.com/cgi-bin/mt/
 
# The StaticWebPath is the URL to your mt-static directory
# Note: Check the installation documentation to find out 
# whether this is required for your environment.  If it is not,
# simply remove it or comment out the line by prepending a "#".
StaticWebPath    http://www.example.com/mt-static
 
#================ DATABASE SETTINGS ==================
#   REMOVE all sections below that refer to databases 
#   other than the one you will be using.
 
##### SQLITE #####
ObjectDriver DBI::sqlite
Database /path/to/sqlite/database/file
 
DeleteFilesAtRebuild 1

2.各操作におけるファイル削除・リンク変更等の振る舞いについて

デフォルトテンプレートを元に、

  • エントリー削除
  • 「公開」から「非公開」への変更
  • エントリー編集画面の「出力ファイル名」を変更
  • 管理画面の「アーカイブマッピング」欄の「出力ファイル名」を変更

の各操作について、

A.対象エントリーに対応するHTMLファイル削除
B.対象エントリーの前後エントリーに設定された(対象エントリーの)リンクの削除または変更
C.カテゴリー・アーカイブ/日付アーカイブの(対象エントリーの)記事の削除または変更
D.メインページの(対象エントリーの)記事・リンクの削除または変更

が、それぞれどのようになるか実験してみました(3つのエントリーを「公開」で保存し、中間のエントリーを操作)。
実験結果は表1の通りです。

表1 各操作におけるHTMLファイル削除および他の変更状況
操作ABCD
エントリー削除 削除 要再構築 要再構築 要再構築
「非公開」へ変更 削除 *2 要再構築 削除 削除
出力ファイル名変更
(エントリー編集画面)
削除 変更 変更 変更
出力ファイル名変更
(管理画面)
非削除 要再構築 要再構築 要再構築

ご覧の通り、HTMLファイル自体はどの操作でも概ね削除されます。他のページに残存したリンクは一部再構築が必要なようです。


*1:「ダイナミックパブリッシング」を利用している場合、このような事象は発生しません。
*2:エントリー一覧画面右上にあるプルダウンメニューの「非公開にする」の操作ではファイルは削除されませんでした。

関連記事
トラックバックURL


トラックバック

Movable Type: エントリーを削除した時、HTML も削除する from Bowz::Notebook
Movable Type 3.3 からの機能みたいだが、エントリーを削除した時、静的生成されていた HTML をサーバから削除する事ができるみたい。 設定... [続きを読む]

Tracked on March 19, 2007 11:53 AM

CMSと静的ファイル管理に関する考察。 from Junnama Online (Mirror)
MTでサイト制作をしている時に「ゴミ」が出来てしまう件について調べているうちに... [続きを読む]

Tracked on April 26, 2007 10:01 PM

mt-config.cgiに一行追加するだけで不要ファイルが削除できる from ホームページ運営中の青年の覚書ブログ
MovableType3.3にて構築を進めていく上でアーカイブマッピングの変更や... [続きを読む]

Tracked on November 9, 2008 2:00 PM
コメント

へぇ…知らんかった。

[1] Posted by Border. : October 30, 2006 9:35 AM

>Border.さん
こんばんはー。
この機能は見落としてました。
3.33にアップグレードしたら設定しようかと。(笑)

[2] Posted by yujiro : October 30, 2006 11:36 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)