[Astro] WordPressからAstro + Cloudflare Pagesに移行した話

Tech
[Astro] WordPressからAstro + Cloudflare Pagesに移行した話

長らく WordPress で運用していたこのブログを、Astro(静的サイトジェネレーター)+ Cloudflare Pages に移行しました。 やったことが多かったので、まずは全体像をまとめておきます。細かい手順は記事ごとに分けて書いていきます。

なぜ移行したか

  • WordPress は管理・更新・セキュリティ対応が地味に重い(PHP / DB / プラグインのアップデート)
  • 個人の技術ブログで動的機能はほぼ不要。完全静的で十分
  • 記事を Markdown + Git で管理したい
  • サーバー代を抑えたい(Cloudflare Pages は静的配信が無料枠で完結)

構成(技術スタック)

役割採用したもの
サイト生成Astro 6(output: 'static'
スタイルTailwind CSS v4(@tailwindcss/vite)+ Typography
コードハイライトShiki(github-light / github-dark のデュアルテーマ)
全文検索Pagefind(ビルド後にインデックス生成)
ホスティングCloudflare Pages(Git push で自動デプロイ)
記事管理Markdown + Astro Content Collections(glob loader)

記事は src/content/blog/YYYY-MM-DD-slug.md で置き、frontmatter でタイトルやカテゴリを管理する形にしました。

---
title: "記事タイトル"
pubDate: 2026-06-17
category: tech
tags: ["Astro"]
thumbnail: /images/no-image.png
---

本文(Markdown)

移行でやったこと

ざっくり、こんな順番で進めました。

  1. 記事データの移行 — WordPress のエクスポート(WXR)を Markdown に変換
  2. デザインの作り直し — Tailwind CSS v4 でテーマを再構築
  3. 検索の用意 — Pagefind で全文検索を後付け
  4. 旧URLの引き継ぎ — Cloudflare Pages の _redirects で 301 リダイレクト
  5. 収益化 — Google AdSense を再設置

それぞれ別記事に書いていきます。

そのほか、構築まわりで書いたものはこちら。

移行してどうだったか

  • ページ表示が速くなった(静的HTML配信)
  • 記事を手元のエディタ + Git で書けるのが快適
  • DB もプラグイン更新も無いので運用が軽い
  • デプロイは push するだけ

動的機能が要らない個人ブログなら、Astro + Cloudflare Pages はかなり相性が良いと感じました。

Astro, WordPress, Cloudflare Pages