wgetコマンドでCMSサイトを静的html化

CMSのサイトをもう更新しない，でもアーカイブとして残したいという場合CMSの機能は必要なくなります．メンテナンスコストやセキュリティの面からも動的じゃなく静的にしたほうが良いです．
ということでwgetコマンドを使って静的html化を試してみました．

$ wget --mirror --page-requisites --html-extension --convert-links http://example.com/

基本的にこれだけでOKでした．

–mirror

サイトのミラーに適したオプションです．再帰的な取得などを行います．次のオプションと同等です．-r -N -l inf --no-remove-listing

–page-requisites

ページに必要な画像やスタイルシートなどのコンテンツも取得します．

–html-extension

取得したhtmlコンテンツの拡張子を.htmlに変換します．

–convert-links

取得したコンテンツをダンロードしたコンテンツを参照するように書き換えます．例えばfoor/doc.htmlから/bar/img.gifを参照している場合 doc.html のリンクを../bar/img.gifと書き換えます．

http://example.com/

取得したいsiteのurlです．

入手したアーカイブは静的htmlなので適当な場所に置いてアクセスすればOK．確認時は旧siteのコンテンツを見に行ったりしないように確認するマシンのhostsに以下のような細工をしました．

$ grep example.com /etc/hosts
127.0.0.1 example.com

大丈夫そうでしたが，検索ボックスはCMSの機能を使っているので動かなくなりました．検索ボックス自体を消してしまってもいいと思うのですが，今回はDuckDuckGoのものに変更してみました．これについては次のエントリにて．

DuckDuckGoの検索ボックスを利用する – matoken's meme

今回試したCMSはImpress Pageです．参考にしたsiteではWordPressをアーカイブしていました．他のCMSでも応用が効きそうです．

参考URL

Archiving a (WordPress) website with wget – D’Arcy Norman dot net