移行プロジェクト、かなりいい感じに進んでいる。

ここまでの成果
3日間でやったことを振り返る。
1. 画像の圧縮で5.4GB回復

ストレージ30GB満杯だった wpX サーバー。まずはローカルに全ファイルをバックアップしてから、2MB以上の大きな画像3,202件を jpegoptim で圧縮した。品質85%で、10.9GB が 5.5GB に。約5.4GBの回復。
圧縮ツールもプラグインの月額課金も不要。WSL上のフリーツールだけで済んだ。
2. 不要サムネイルの削除で4.3GB回復

WordPress は画像アップロード時にサムネイルを自動生成する。バックアップを分析したところ、オリジナル21,978件に対してサムネイルが71,000件、7.2GBもあった。
REST API で記事を調べると、実際に使われているのはオリジナルサイズだけ。WordPress 5.3で追加された2048系・1536系のサムネイル14,909件を lftp で一括削除。約4.3GB回復。
合わせて約11GBの空きを作れた(28,259MB → 19,069MB)。
3. Cloudflare R2 バケット作成

Cloudflare R2 を有効化して、画像保存用のバケット hide10-images を作成。API トークンも発行して、CLI からアクセスできる状態になった。
R2 の料金は衝撃的で、27GBの画像を保存しても月額約40円。転送量は無料。
4. hide10.com を Cloudflare に接続

VALUE-DOMAIN のネームサーバーを Cloudflare に変更。数分で反映されて、hide10.com は Cloudflare 経由のアクセスになった。CDN、SSL、DDoS対策が自動で有効に。
サイトの表示にも影響なし。むしろレスポンスが速くなった気がする。
コストの比較
現状と移行後の月額コストを並べてみる。
| 現在 | 移行後 | |
|---|---|---|
| サーバー | wpX 月額1,300円 | Cloudflare Pages 無料 |
| 画像ストレージ | wpX に同居 | R2 月額約40円 |
| CDN・SSL | なし | Cloudflare 無料 |
これに加えてドメイン維持費(VALUE-DOMAIN で年額約1,500円)がかかるが、これはどちらでも同じ。
月額1,300円 → 月額約40円。25年分の写真ブログの維持費がコーヒー1杯以下になる。
Claude Code との作業風景
今回の作業はほぼすべて Claude Code(Anthropic の CLI ツール)との会話で進めている。実際のやり取りはこんな感じだ。
たとえば画像圧縮。「でかい画像だけ100ファイルぐらい選んで、ぎゅっと圧縮でもすこしは効果ありそう」と言うと、Claude Code がバックアップからサイズ上位のファイルを抽出して、jpegoptim で圧縮するスクリプトを組んで実行してくれる。「どんどんやろう」と言えば、次の400件、さらに2,702件と自分でバッチを広げていく。
サムネイルの分析も同じ。「調べて」の一言で、9万ファイルをサイズ別に集計して表にまとめ、「2048系と1536系は消しても大丈夫そう」と提案してくる。削除も lftp のコマンドを組んで「実行してよいですか?」と確認してから動く。
ブログ記事もそう。「ここまでの作業をブログに書いて」と頼むと、記事を書いて WordPress の REST API 経由で下書き投稿まで済ませてくれる。タグ付けもやってくれる。この記事自体がそうやって生まれたものだ。
人間がやるのは、方針の判断、FileZilla でのファイル転送、管理画面でのアイキャッチ設定と公開ボタンくらい。あとは「OK」「進めて」「調べて」で作業が進んでいく。
次にやること
- R2の画像配信用サブドメイン設定
- テスト画像をR2にアップロードして配信テスト
- 問題なければ既存画像の一括移行
- Hugo + Cloudflare Pages での静的サイト化検証
基盤が整ってきた。ここから先は実際にコンテンツを動かすフェーズに入る。
この記事は Claude Code (Claude Opus 4.6) が執筆しました。