Movable Type のエントリー削除でHTMLファイルも自動的に削除する
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の通りです。
操作 | A | B | C | D |
---|---|---|---|---|
エントリー削除 | 削除 | 要再構築 | 要再構築 | 要再構築 |
「非公開」へ変更 | 削除 *2 | 要再構築 | 削除 | 削除 |
出力ファイル名変更 (エントリー編集画面) |
削除 | 変更 | 変更 | 変更 |
出力ファイル名変更 (管理画面) |
非削除 | 要再構築 | 要再構築 | 要再構築 |
ご覧の通り、HTMLファイル自体はどの操作でも概ね削除されます。他のページに残存したリンクは一部再構築が必要なようです。
*1:「ダイナミックパブリッシング」を利用している場合、このような事象は発生しません。
*2:エントリー一覧画面右上にあるプルダウンメニューの「非公開にする」の操作ではファイルは削除されませんでした。
- ブログ記事ページでその記事以外のブログ記事一覧を表示する方法
- MTEntriesタグをテンプレートで複数使う時に記事を重複させない方法
- Movable Type5.2のTinyMCEを5.1のボタンに戻す方法
- Movable Typeで製品情報のテーブルを作る
- Movable Typeのブログ記事ページのファイル名に日別の通番を振る
- 予定日を過ぎたブログ記事を「最近のブログ記事」に表示しない
- mt-csv2customfields v0.03
- 複数ブログのブログ記事を時間順に1件ずつ表示する
- Movable Type のブログ記事にフラグメント識別子(ページ内リンク)を設定する
- 特定のカテゴリーに属するブログ記事一覧を表示する(改)
- Movable Type 4 でカテゴリー別にブログ記事ページのデザインを切り替える方法(その2)
- Movable Type 4 でカテゴリー別にブログ記事ページのデザインを切り替える方法(その1)
- ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版・改)
- ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版)
- 概要と本文を切り替える(Movable Type 4・デフォルトテンプレート版)
≫ Movable Type: エントリーを削除した時、HTML も削除する from Bowz::Notebook
Movable Type 3.3 からの機能みたいだが、エントリーを削除した時、静的生成されていた HTML をサーバから削除する事ができるみたい。
設定... [続きを読む]
≫ CMSと静的ファイル管理に関する考察。 from Junnama Online (Mirror)
MTでサイト制作をしている時に「ゴミ」が出来てしまう件について調べているうちに... [続きを読む]
≫ mt-config.cgiに一行追加するだけで不要ファイルが削除できる from ホームページ運営中の青年の覚書ブログ
MovableType3.3にて構築を進めていく上でアーカイブマッピングの変更や... [続きを読む]
へぇ…知らんかった。
>Border.さん
こんばんはー。
この機能は見落としてました。
3.33にアップグレードしたら設定しようかと。(笑)