Advent Calendar の季節、皆様いかがお過ごしでしょうか。
デジタルキューブグループのAdvent Calendar 2023 の1日目は、2年連続で楽しい楽しいマイグレーションのお話です。
Headless 界隈がにわかに盛り上がっているここ最近、波に乗り遅れてはいけないというミーハー心がうずいたので急いでデータの移行の手順を書いた次第です。あんまり難しいことはやっていません。
Table of Contents
この記事で取り扱うもの
- 一般的な WordPress からコンテンツのデータのみをエクスポートする方法
- Shifter Headless にデータをインポートする方法
取り扱わないもの
- 各フレームワークと Shifter Headless のインテグレーション方法
- Netlify や Cloudflare Workers, Azure Web App 等へのデプロイ方法
用意するもの
- 一般的な WordPress (ここでは Local by Flywheel を使います)
- All-in-One WP Migration プラグインまたは WordPress 標準のエクスポート 機能 (WXR: WordPress eXtended RSS)
- Shifter Headless
- サインアップしてね
WordPress からデータをエクスポートします
WordPress にログインします

データをエクスポートします
A. WordPress標準のエクスポート 機能 (WXR: WordPress eXtended RSS) を使う場合
1. [ツール] → [エクスポート]をクリックします

2. [エクスポートする内容を選択]は、[すべてのコンテンツ]を選択します

3. エクスポートファイルをダウンロードをクリックして XML ファイルをダウンロードします
B. All-in-One WP Migration を使う場合
1. WordPressのダッシュボードにログイン後、All-in-One WP Migration プラグインをインストールし、有効化をします
2. [Tool]→ [Export] へ進みます
3. 以下のチェックボックスにチェックを入れます。 (spam comments と post revisions は任意)
テーマとプラグインは Headless 環境には不要なのでチェックを入れてエクスポートファイルから除外します。
今回インポートするデータはコンテンツのみのため、ユーザのデータも不要です。対象のテーブルにもチェックを入れてエクスポートファイルから除外します
- Do not export spam comments
- Do not export post revisions
- Do not export themes (files)
- Do not export inactive themes (files)
- Do not export must-use plugins (files)
- Do not export plugins (files)
- Do not export inactive plugins (files)
- Do not include the selected database tables
4. Do not include the selected database tables にチェックを入れると、どのテーブルを除外するかを選択するポップアップが出ます。
ここでは wp_users
とwp_usermeta
にチェックを入れて [Done] をクリックします。Headless 二セットアップされたユーザ情報を上書きしないためです。

5. [EXPORT TO] から [FILE] をクリックして.wpress
をダウンロードします。

Shifter Headless にデータをインポートします
Shiffter Headless のサイトを作成・起動してログインをします

WordPress にデータをインポートします
A. WordPress標準のエクスポート 機能 (WXR: WordPress eXtended RSS) を使う場合
1.[Tools] → [Import] へ進みます
2. プラグインページで WordPress Importe rを有効化します

3. Tools → WordPress の Run Importerをクリックします

4. [Choose File] から、ダウンロードした WXR ファイルをアップロードし、インポートします

5. Assign Authors が表示された場合、ユーザを作成するか Admin を選択します。
また、画像がダウンロード可能な場合、 [Download and Imoprt file Attachments] にチェックを入れるとダウンロードします。

6. «All done. Have fun!»のメッセージが表示されたらインポート完了です。
コンテンツや画像などがインポートされたかを投稿一覧やメディアライブラリで確認しましょう。
B. All-in-One WP Migration を使う場合
1. All-in-One WP Migration プラグインを有効化します。
インポートするファイルのサイズが大きい場合は Unlimited Extension も有効化します。

2. All-in-One WP Migration → Importに進み、インポートするファイルをドラッグ&ドロップするか、 [IMPORT FROM] のボタンをクリックして選択します。

4. [PROCEED] をクリックして処理を続行します

5. インポートが完了しました。

6. Shifter ダッシュボードに戻り、再度ログインをします。

[WordPress データベースを更新] の表示が出たらクリックしてデータベースのアップグレードします。
再ログイン後、コンテンツや画像などがインポートされたかを投稿一覧やメディアライブラリで確認しましょう。
インポート作業の完了
あとは必要なプラグインを有効化し、お好みのフレームワークなどと連携させ、コンテンツの表示が出るかを確認します。