先日、長年ウェブ管理を任せていただいていたある施設のサイトが、閉館にともなって閉鎖されることになりました。
「ドメインも解約するので、サイトは完全に閉じてほしい」
そう言われたとき、真っ先に頭に浮かんだのは「消してしまうのはもったいない」という気持ちでした。近く積み重ねてきたブログ記事、コンサートの告知、来場してくれた方たちとの記録——それらを、ただ「削除」の一言で終わらせたくなかったんです。
そこで今回、閉鎖の前に「サイトを丸ごとアーカイブしてから閉じる」という作業をやってみました。同じような場面に遭遇するウェブ担当者は意外といるはずなので、今回やったことを整理しておこうと思います。
「バックアップ」と「アーカイブ」は別物
最初に切り分けておきたいのがこれです。
- バックアップ=いざという時に元通り復元するためのもの(データベース・プラグイン・テーマ・画像を1式)
- アーカイブ=WordPressの知識がなくても、誰でもブラウザで開いて「当時のまま眺められる」もの
閉鎖後にもう一度そのサイトを復元して運用する予定はありません。むしろ大事なのは「後から関係者が見返せること」でした。なので今回は、この2つを両方とも作ることにしました。
1. まずは普段どおりのフルバックアップ
いつも使っていたUpdraftPlus(WordPressのバックアッププラグイン)で、データベース・プラグイン・テーマ・アップロードした写真一式を、直接Dropboxに送る形でバックアップを取りました。ここは普段の運用の延長線上なので、迷うところはありませんでした。
2. 本題:サイトを「静的サイト」として保存する
今回一番やってよかったと思うのが、こちらです。wget というコマンドラインツールを使って、公開中のサイトをまるごと巡回保存し、ただのHTML・画像ファイルの集まり(静的サイト)に変換しました。
wget --mirror --convert-links --adjust-extension --page-requisites \
--no-parent -e robots=off --wait=1 \
-o wget-log.txt \
-P ./archive \
https://example.com/
これで何が嬉しいかというと、WordPressもデータベースも、サーバーすら要らなくなるんです。できあがったフォルダの中のindex.htmlをダブルクリックするだけで、画像もリンクも生きたまま、当時のサイトがそのままブラウザに表示されます。バージョンアップの心配も、セキュリティパッチの心配も、もう一切ありません。ファイルとして、ただそこに存在し続けるだけ。
(かなり大きいサイトになっていたので、ターミナルは3時間以上回っていました。)
3. 「取りこぼし」をどう防ぐか
巡回保存で一番怖いのは、リンクをたどりきれずに一部のページが漏れてしまうことです。ページ数が多いサイトほど、この不安は大きくなります。
ここで役に立ったのが、WordPressが自動生成しているsitemap.xmlでした。サイト内のリンクをただ辿らせるのではなく、先にサイトマップから全ページのURLリストを作っておき、それを巡回保存の「入り口」として使う方法です。
curl -s https://example.com/post-sitemap.xml \
| grep -oE '<loc>[^<]+</loc>' | sed -E 's/<\/?loc>//g' > urls.txt
そして保存が終わったあと、実際にログの中に「404 Not Found」が出ていないか、出ていたとしてもそれが本来のページと一致していないかを機械的に確認しました。感覚や目視ではなく、コマンドで淡々と突き合わせる。地味ですが、これが一番安心できるやり方でした。
4. 渡す相手のことを考えた共有方法
保存したアーカイブは、Dropboxの共有フォルダにまとめ、関係者だけが閲覧できる権限で共有しました。ポイントは「編集はできない・閲覧のみ」にしたことと、「Dropbox上でプレビューするより、フォルダごとダウンロードしてローカルでindex.htmlを開いてもらう」ようにお願いしたことです。ブラウザ上のプレビュー機能だと、画像やリンクが崩れて表示されることがあるためです。
おわりに
WordPressで運用してきたサイトを閉じるとき、多くの人は「バックアップを取って終わり」にしてしまいがちです。でも、バックアップは「復元するための保険」であって、「誰かが後で見返すためのもの」ではありません。
今回、静的サイトという形で残すという選択をしたことで、閉館というひとつの区切りに、きちんと「記録」という形を持たせられた気がしています。技術的な作業ではあったのですが、終わり方をぞんざいに扱わずに済んだという点で、自分にとってもすごく意味のある経験になりました。
同じように「長年管理してきたサイトを閉じることになった」という方がいたら、ぜひ参考にしてみてください。
