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
と書き換えます.
- 取得したコンテンツをダンロードしたコンテンツを参照するように書き換えます.例えば
-
- 取得したいsiteのurlです.
入手したアーカイブは静的htmlなので適当な場所に置いてアクセスすればOK.確認時は旧siteのコンテンツを見に行ったりしないように確認するマシンのhostsに以下のような細工をしました.
$ grep example.com /etc/hosts
127.0.0.1 example.com
大丈夫そうでしたが,検索ボックスはCMSの機能を使っているので動かなくなりました.検索ボックス自体を消してしまってもいいと思うのですが,今回はDuckDuckGoのものに変更してみました.これについては次のエントリにて.
今回試したCMSはImpress Page
です.参考にしたsiteではWordPressをアーカイブしていました.他のCMSでも応用が効きそうです.
参考URL