昔のWordPressブログに書いていた記事を、少しずつこのAstroブログへ戻しています。
元のブログは https://hirojinblog.work/ です。ただ、このブログは一度消えました。原因はGCPの支払い忘れです。WordPress本体もDBも画像も、サーバー側に置いたままにしていたので、環境が消えた時点で記事もまとめて失いました。
最初はバックアップから戻せないか探しましたが、残っていたものは古すぎて、今回戻したかった記事は入っていませんでした。そこで使ったのがWayback Machineに残っていたアーカイブHTMLです。
この記事では、消えたWordPressブログの記事をWayback Machineからどう拾い、今のAstroブログ用にMarkdownへ直したのかをまとめます。昔のブログをなくしてしまった人でも、公開済みの記事ならまだ探せる場合があります。
GCP上のWordPressブログが消えた経緯
昔のブログはWordPressで動かしていました。
最初はレンタルサーバーで運営していて、その後GCP上にWordPress環境を作って移行しました。GCPを触ってみたかったことと、サーバー周りの勉強になると思ったことが理由です。
移行した時点では、サーバーを自分で触れることに満足していました。ただ、運用の意識は足りていませんでした。
GCPの支払いを忘れたまま放置してしまい、気づいたときにはWordPress環境ごと消えていました。記事本文、DB、アップロードした画像、テーマの設定、細かく直していた部分まで、まとめて見えなくなりました。

「サーバー上にあるから大丈夫」と思っていたわけではありませんが、結果としてサーバーに依存しすぎていました。支払い通知を見落としたことも含めて、自分の管理不足です。
バックアップでは復元できなかった
最初に探したのはバックアップです。
古いバックアップはいくつか残っていました。まったく何もないよりは良かったのですが、問題は中身です。
確認してみると、今回戻したかった記事は入っていませんでした。バックアップの時期が古く、消える前に書いていた記事までは含まれていなかったからです。
この時点で、WordPress環境をそのまま復元する方向はいったん諦めました。欲しかったのはサーバー環境そのものというより、記事本文、タイトル、description、公開日、画像、タグやカテゴリです。
バックアップは「取ったことがある」だけでは安心できません。必要な時点のデータが残っていて、実際に戻せる形になっていることが大事だと、ここで痛感しました。
Wayback Machineで昔の記事URLを探した
次に見たのがWayback Machineです。
Wayback Machineは、過去のWebページを保存しているインターネットアーカイブのサービスです。サイトが消えていても、保存された時点のページを見られることがあります。
対象にしたのは、だいたいこのあたりです。
https://hirojinblog.work/*昔のURLが保存されていれば、当時のHTMLが残っている可能性があります。WordPressの管理画面やDBに戻れるわけではありませんが、公開ページのHTMLが残っていれば、本文を再利用できる場合があります。
実際に探してみると、全部ではないものの、いくつかの記事ページは残っていました。たとえば、GASフォームの記事、Anacondaのプロキシ設定、GCP移行、iPad活用、イヤホン系の記事などです。

今回の復旧で本命になったのは、バックアップではなくWayback MachineのアーカイブHTMLでした。
保存したHTMLは、手元では D:\blog_back_up\wayback_html にまとめていました。記事ごとにHTMLを残しておくと、あとでブラウザで見返せますし、必要になればHTMLから本文だけ抜き出せます。
この段階で大事だったのは、いきなり整えようとしないことでした。まずは残っているHTMLを保存する。本文の整形や画像整理はその後です。
アーカイブHTMLをMarkdownに直した
復旧作業は地道でした。
Wayback Machineで見つけた記事ページを開き、HTMLを保存します。そこからタイトル、description、公開日、本文、画像パス、タグやカテゴリらしき情報を拾いました。
そのうえで、今のAstroブログに合わせてMarkdownとして整え直しました。

単にコピーして貼るだけでは、あまりきれいには戻りません。
昔の記事は、今読むと情報が古かったり、文章の温度感が現在のブログと合わなかったりします。リンク切れもありますし、画像の場所もWordPress時代の構成とは変わっています。
そのため、記事ごとに次のような点を見直しました。
- frontmatterを今のブログ形式に合わせる
- タイトルとdescriptionを残せる範囲で整える
- 公開日と更新日を拾う
- 画像を
public/images/blog/に置く - 古すぎる表現や明らかなリンク切れを直す
- 今のカテゴリやタグに寄せる
このブログでは、記事は src/content/blog/ に置いています。画像は主に public/images/blog/ に置いています。
Markdownファイルとして戻しておけば、今後はGitで履歴を追えます。サーバーが変わっても、少なくとも記事ファイルは手元に残ります。
RSSやサイトマップも手がかりになる
今回の本文復旧の主役は、Wayback Machineに残っていた記事HTMLでした。ただ、昔の記事URLやタイトルを探す手がかりとして、RSSやサイトマップが役に立つこともあります。
記事URLの一覧がどこかに残っていれば、Wayback Machineで探す範囲を絞れます。タイトルだけでも分かれば、手元のメモや画像フォルダと照合しやすくなります。
本文そのものが残っていなくても、URLやタイトルが残っているだけで復旧の手がかりになります。「何を探せばいいか分からない」状態を避けるためにも、まずはURLの痕跡を集めるのが大事でした。
反省点
今回いちばん反省したのは、記事データをサーバーだけに置きすぎていたことです。
WordPressは便利です。ただ、管理画面から記事を書き、画像もアップロードし、DBもサーバー側にある状態だと、バックアップが弱いときに自分の文章が手元に残りません。
今後は、少なくとも次の点は意識します。
- 記事はMarkdownとして手元に置く
- Gitで履歴を残す
- 画像もローカルとリポジトリ側で管理する
- 定期的に戻せる形のバックアップを取る
- 支払い通知を確認する
特に最後の支払い通知は、地味ですが大事です。技術的な対策をしていても、運用を放置すればサービスは止まります。
まとめ
ブログが消えると、最初は焦ります。バックアップが古いと分かった時点で、もう戻せないと思ってしまうかもしれません。
それでも、公開していた記事なら、どこかに痕跡が残っていることがあります。バックアップが古くても、Wayback Machineに記事HTMLが残っている場合があります。RSSやサイトマップから、昔の記事URLやタイトルを拾えることもあります。
もちろん、全部戻るとは限りません。
それでも、記事本文、タイトル、公開日、画像の一部くらいなら拾えることがあります。そこから今のブログに合わせて整え直せば、大事な記事をもう一度読める形にできます。
意外となんとかなる。まずはアーカイブとかを探してみよう。