WordPressからAstroへ — コーポレートサイトをClaude Codeと一緒に移行した話

WordPress + SWELL で運用していたコーポレートサイトを、Astro + Cloudflare Pages に移行しました。開発経験のないデザイナーが、Claude Code との対話だけでどこまでできたかの記録です。

なぜ移行したのか

MARI LAB のコーポレートサイトは、もともと WordPress + SWELL テーマで運用していました。ロリポップのサーバーで、特に不便はなかったのですが、いくつか気になる点がありました。

  • ページの表示速度
  • WordPress 本体やプラグインのアップデート管理
  • 限られた更新頻度に対して、サーバー維持のコストが見合うか

とはいえ、自分はデザイナーであって開発者ではありません。コードを書いてサイトを構築するなんて、ふつうに考えたら選択肢に入らないはずでした。

Claude Code という相棒

きっかけは、Claude Code を触りはじめたことです。

「WordPress から静的サイトに移行したい」と相談したら、Astro + Cloudflare Pages という構成を提案してくれました。正直、Astro という名前すら知りませんでしたが、対話の中で構成を理解していきました。

移行作業は、ほぼすべて Claude Code との対話で進めました。自分がやったのは「こうしたい」「これは違う」「ここをこう直して」と伝えることだけ。コードは Claude Code が書き、自分はブラウザで確認してフィードバックを返す。そのサイクルの繰り返しです。

移行でやったこと

サイト全体の構築

WordPress のページ構成(トップ、Philosophy、News、Contact、Privacy Policy)をそのまま Astro で再現しました。デザインは SWELL テーマのトーンをベースに、よりミニマルに整理しています。

URL 構造も WordPress 時代と同じにしてあるので、検索順位への影響は最小限のはずです。

お問い合わせフォーム

WordPress では Contact Form 7 を使っていましたが、静的サイトにはサーバーサイドの処理が必要です。Cloudflare Pages Functions と Resend(メール送信 API)を組み合わせて実装しました。スパム対策はハニーポット方式です。

CMS の導入

記事の更新は Decap CMS を使っています。/admin/ にアクセスすると、ブラウザ上で WordPress のような管理画面が使えます。裏側では GitHub に Markdown ファイルがコミットされる仕組みです。

GitHub OAuth 認証の設定も Claude Code と一緒に構築しました。自前で認証サーバーを立てる必要がないのは、Cloudflare Pages Functions のおかげです。

制作実績ページの Basic 認証

/works/ は制作実績のページですが、まだ準備中なのでパスワードで保護しています。Astro のミドルウェアで Basic 認証をかけていて、環境変数でユーザー名とパスワードを管理しています。

下書きプレビュー

ブログ記事を公開前にデザイン確認したい、という要望も Claude Code に伝えたら、ローカルの開発サーバーでだけ下書き記事が見える仕組みを入れてくれました。npm run dev するだけで、本番には出ない記事のデザインが確認できます。

技術構成

最終的な構成はこうなりました。

項目

技術

フレームワーク

Astro 5

ホスティング

Cloudflare Pages

CMS

Decap CMS(GitHub OAuth)

メール送信

Resend

アクセス解析

GA4

DNS / CDN

Cloudflare

WordPress 時代はサーバー代(ロリポップ)+ドメイン代でしたが、今は Cloudflare Pages の無料枠に収まっています。

つまずいたところ

スムーズに進んだわけではありません。

  • SSR モードへの切り替え — Basic 認証を動かすために、静的サイトから SSR モードに変更する必要がありました。全ページに prerender 設定を追加する作業が発生しましたが、Claude Code が一括で対応してくれました。
  • Cloudflare Functions の互換性 — SSR モードに切り替えたら、OAuth 認証やお問い合わせフォームの Functions が動かなくなりました。Astro の API ルートに書き直す必要があり、CMS のログインが 404 になるトラブルも経験しました。
  • GitHub OAuth の設定 — コールバック URL の不一致でエラーが出て、GitHub の OAuth App 設定を修正する場面もありました。

どのトラブルも、Claude Code に状況を伝えたら原因を特定して修正してくれました。自分だけでは絶対に解決できなかったと思います。

デザイナーが感じたこと

開発経験がなくても、コーポレートサイトの移行は可能でした。ただし、それは「コードを書けるようになった」のとは違います。

自分がやったのは、設計の意思決定とフィードバックです。「このページ構成にしたい」「この色に変えて」「Basic 認証をかけたい」「下書きをローカルで確認したい」——やりたいことを言語化して伝える力が、コードを書く力の代わりになりました。

デザイナーにとって Claude Code は、開発スキルを代替するツールというより、自分の設計意図を実装に翻訳してくれるパートナーという感覚です。

これから

ブログの記事を増やしていくことと、/works/ の制作実績ページを作り込むことが次のステップです。このブログ自体が、AI と一緒にものをつくる実験の記録になればいいなと思っています。