WordPress→EmDash移行ガイド - WXRインポートからAstroテーマ変換までの実践手順
WordPressからEmDashへの移行を完全解説。WXRエクスポート、EmDash Exporterプラグイン、カスタム投稿タイプ変換、メディア移行、Astroテーマ対応まで実践的なステップを紹介します。
WordPress移行の背景 - セキュリティとパフォーマンスの課題を解決
WordPressは世界の43%以上のWebサイトで利用されていますが、セキュリティ脆弱性、プラグイン依存、パフォーマンス問題が長年の課題です。2026年、CloudflareがリリースしたEmDashは「WordPressの精神的後継者」として、Astro 6.0ベースのサーバーレスアーキテクチャとv8 isolateサンドボックスによる安全性を提供します。既存のWordPressサイトをEmDashに移行することで、サーバー管理の負担を削減し、Cloudflare Workersのグローバルエッジネットワークで高速化し、CPU稼働時間のみの従量課金でコストを最適化できます。この記事では、WordPressからEmDashへの移行手順を実践的に解説します。
ステップ1: WordPressからWXRファイルをエクスポート
移行の最初のステップは、WordPress標準のエクスポート機能を使用してWXR(WordPress eXtended RSS)ファイルを生成することです。WordPress管理画面で「ツール」→「エクスポート」を選択し、「すべてのコンテンツ」を選択してエクスポートします。WXRファイルには投稿、固定ページ、カスタム投稿タイプ、コメント、カテゴリー、タグ、カスタムフィールドのメタデータが含まれます。ただし、WXRはメディアファイル本体(画像・動画)を含まないため、別途ダウンロードが必要です。大規模サイト(1000記事以上)の場合、WP All Exportなどのプラグインを使用して分割エクスポートすることを推奨します。
ステップ2: EmDash Exporterプラグインで最適化されたエクスポート
Cloudflareは公式に「EmDash Exporter」WordPressプラグインを提供しており、これを使用することでより最適化された移行データを生成できます。EmDash Exporterは標準WXRに加えて、ショートコード変換マップ、テーマ設定(ウィジェット、メニュー構造)、カスタムフィールドのスキーマ定義をJSON形式で出力します。WordPressプラグインディレクトリから「EmDash Exporter」をインストールし、「設定」→「EmDash Export」でエクスポート設定を行います。特に、カスタム投稿タイプのフィールドマッピングを事前に定義することで、EmDash側でのスキーマ設定が自動化されます。エクスポート完了後、WXRファイルとJSON設定ファイルの2つがダウンロードされます。
ステップ3: EmDashへのWXRインポート実行
EmDashのローカル環境をnpm create emdash@latestで起動し、管理画面にパスキー認証でログインします。「インポート」メニューから「WordPress WXR」を選択し、先ほどエクスポートしたWXRファイルとJSON設定ファイルをアップロードします。EmDashはWXRを解析し、投稿タイプ、カテゴリー、タグ、カスタムフィールドのマッピングプレビューを表示します。ここで、WordPressのカスタム投稿タイプ(例:portfolio)をEmDashのコレクション名にマッピングし、カスタムフィールド(例:ACF)をEmDashのスキーマフィールドに対応付けます。設定確認後、インポートを実行すると、記事データがCloudflare R2(オブジェクトストレージ)に保存されます。
ステップ4: カスタム投稿タイプとフィールドの変換
WordPressのカスタム投稿タイプ(CPT)とAdvanced Custom Fields(ACF)などのカスタムフィールドは、EmDashのコレクションスキーマに変換する必要があります。EmDash CLIを使用して、emdash schema defineコマンドでスキーマを定義します。例えば、WordPressのportfolio CPTを、EmDashでは{ "name": "portfolio", "fields": [{ "name": "client", "type": "string" }, { "name": "projectDate", "type": "date" }] }のように定義します。フィールドタイプはWordPressのtext、textarea、image、dateなどをEmDashのstring、text、media、dateに対応させます。複雑なリレーションシップ(投稿間の関連)はEmDashのreference型フィールドで再現します。スキーマ定義後、インポートした記事データが新しいスキーマに自動適用されます。
ステップ5: メディアファイルの移行とCloudflare R2アップロード
WXRファイルはメディアファイル本体を含まないため、WordPressのwp-content/uploadsディレクトリから画像・動画を手動でダウンロードします。ダウンロード後、EmDash CLIのemdash media upload ./uploadsコマンドで、ローカルのuploadsフォルダをCloudflare R2にバルクアップロードします。アップロード時、EmDashは画像URLをCloudflare ImagesのURL(例:https://imagedelivery.net/[account]/[id]/public)に自動変換し、記事本文中の旧WordPressメディアURLを新しいURLに置換します。大量ファイル(10GB以上)の場合、Cloudflare Wranglerのwrangler r2 object putコマンドで並列アップロードすることで時間を短縮できます。アップロード完了後、画像がEmDash記事に正しく表示されることを確認します。
ステップ6: WordPressテーマからAstro 6.0テーマへの変換
EmDashのテーマシステムはAstro 6.0ベースであり、WordPressのPHPテーマを直接使用できません。EmDashは「Agent Skills」のWordPressテーマ移行指南機能を提供しており、AIエージェントがPHPテンプレート(header.php、single.php、archive.phpなど)を解析し、対応するAstroコンポーネント(Header.astro、SinglePost.astro、Archive.astroなど)を生成します。例えば、WordPressのthe_title()はAstroでは{post.title}に、get_permalink()は{post.slug}に変換されます。スタイルシート(style.css)はそのままAstroプロジェクトに移植可能ですが、jQuery依存のJavaScriptはAstroのクライアントサイドスクリプト(<script>タグ)またはReact/Vue/Svelteコンポーネントに書き直す必要があります。変換後のテーマはEmDashのthemesディレクトリに配置し、設定で選択します。
移行チェックリスト - 完全移行のための確認項目
移行完了前に以下のチェックリストを確認してください。1)全記事・固定ページが正しくインポートされているか(記事数を比較)、2)カテゴリー・タグの階層構造が保持されているか、3)カスタムフィールドのデータが新しいスキーマに正しくマッピングされているか、4)メディアファイルが全てアップロードされ、記事内で表示されるか、5)内部リンク(記事間リンク)が正しく機能するか、6)コメント機能が必要な場合、EmDashのコメントシステムまたは外部サービス(Disqus、Commento)に移行されているか、7)SEO設定(メタタグ、OGP)がAstroテーマで実装されているか、8)パフォーマンステスト(Lighthouse、WebPageTest)で改善が確認できるか。これらを確認後、本番環境にデプロイします。
株式会社オブライトの移行支援サービス
株式会社オブライトは、WordPressからEmDashへの移行を包括的に支援します。大規模サイト(1000記事以上)のWXRエクスポート最適化、複雑なカスタム投稿タイプのスキーマ設計、EmDash Exporter設定カスタマイズ、メディアファイルの一括移行、WordPressテーマのAstro変換、パフォーマンスチューニング、本番環境へのデプロイまで、ワンストップで対応します。オブライトのWeb開発サービス(https://oflight.co.jp/services/web-development)では、移行後の運用定着支援、カスタムプラグイン開発、AI統合によるコンテンツ自動化もサポートしています。WordPressの運用コストとセキュリティリスクに課題を感じている企業は、ぜひご相談ください。EmDashへの移行で、次世代のサーバーレスCMS運用を実現しましょう。
お気軽にご相談ください
お問い合わせ