WordPressからAstro+Cloudflare Workersへ移行した記録

貝柱です!

このブログ、ついにWordPressをやめました!

今まではレンタルサーバー上でWordPressを動かしていたのですが、ブログ全体を静的サイトへ移行してみました。

記事を書く場所だけでなく、サーバーや更新方法までまとめて変更することになったので、なかなか大掛かりな引っ越しでしたね…!

新しい技術スタック

現在の構成は、ざっくり書くとこんな感じです。

  • Astro
  • GitHub
  • Cloudflare Workers Static Assets
  • Codex

記事やページはAstroでHTMLとして生成し、ソースコードはGitHubのprivateリポジトリで管理しています。

masterブランチへ変更をpushすると、GitHub Actionsでビルドやサイト監査などの検査が走ります。検査済みの内容は、Wranglerを使ってCloudflare Workersへ配備しています。

WordPressの管理画面ではなく、記事ファイルやサイトの部品を更新していく形になりました。構成が分かりやすくなったのはかなり良いですね!

過去の記事とURLはそのまま

移行で一番気になったのが、過去の記事をどうするかでした。

このブログにはWordPress時代の記事がかなり残っています。本文だけ移せても、URLが変わって検索結果や外部リンクが切れたら困ります。

そのため今回は、記事本文、公開日、カテゴリー、画像、URLをできるだけそのまま維持しました。

たとえば、/game/2026/04/30/979/のような昔の記事URLも変更していません。

canonical、OGP、RSS、サイトマップなどもAstroのビルド時に生成しています。WordPressではなくなりましたが、読者や検索エンジンから見た記事の住所は変えない方針です。

動的だった部分はビルド時に生成

カテゴリー、アーカイブ、関連記事などは、WordPressではデータベースから動的に表示されていました。

現在は記事データをもとに、サイトを公開するタイミングでまとめて生成しています。

記事を1件追加すれば、トップページ、カテゴリー、年月別一覧、関連記事、RSS、サイトマップも自動で更新されます。HTMLの一覧を1ページずつ手で直す必要はありません。

Amazonのアフィリエイトリンクも、商品情報APIに依存しない静的なカードへ変更しました。価格や在庫はAmazon側で確認してもらう形ですが、APIの状態に左右されずリンクを残せます。

ヘッダー画像も作り直しました

移行に合わせて、ブログの見た目も少しずつ作り直しています。

ヘッダーには、これまでXへ投稿したイラストを使用しました。PCでは複数のキャラクターを横一列に並べ、スマホでは画面幅に合わせて3人を大きく表示しています。

タイトル部分も「貝柱日記」用に調整し、キャラクターの顔が途中で切れないよう、画像ごとにトリミング位置を変えました。

自分のイラストを使ってブログ全体の雰囲気を作れるのは楽しいですね!

今後の更新もCodex中心で

記事の追加やサイトの修正は、Codexへ依頼しながら進められるようにしています。

記事作成、画像の配置、ビルド確認、GitHubへのpush、WranglerによるCloudflareへの配備まで、一連の流れで進められるようになりました。

まだ新しい運用を始めたばかりなので、細かい表示や更新方法はこれからも改善していく予定です。

とはいえ、長年使ってきたWordPressから無事に引っ越せたのはかなり大きい!

静的サイト、思っていたより面白いですね〜。

今日はこのへんで。それではまた。

イラスト

赤い髪のキャラクターがオレンジ色のソファに座っているイラスト

Xに投稿していたイラストです。