Wordpress から Sanity にコンテンツを移行するための受け皿の準備が完了したので、サンプルとして提供されているマイグレーションのスクリプトを利用していきます。
ここでの手順に関する公式のページは以下のとおりです。
スクリプトの準備
Wordpress から Sanity に移行するためのスクリプトのベースのものが用意されており、基本的にはこのベースのスクリプトを利用すれば普通に移行することが可能です。スクリプトは以下のコマンドを実行すると、コピーされます。
コマンドを実行すると質問が表示されます。
- Option に関しては今回は特に指定しないで Enter
- Minimalistic migration to get you started を選択して実行
コマンドの実行が完了すると、migrations/import-wp/index.ts のファイルが作成されます。

ツールを実行するにあたって、環境で必要となるコンポーネントをインストールします。コマンドは以下のとおりです。
続いてマイグレーションスクリプトが利用するスキーマに関して定義するファイルとして、migrations/import-wp/types.ts のファイルを用意します。
移行元となるサイトの情報を定義するファイルを ./migrations/import-wp/constants.tsconstants.ts として作成します。URL の部分は以前の記事でも取得方法を記載していますので参考にしてください。
今回は以下のようになります。
最後に、./migrations/import-wp/lib/wpDataTypeFetch.ts のファイルを作成して準備が完了となります。
完了した時の migrations にあるフォルダのファイルの構成は以下のようになっています。
- wpDataTypeFetch.ts
- constants.ts
- index.ts
- types.ts
スクリプトのアップデート
上記で用意したスクリプトを実際に動作っせるために、./migrations/import-wp/index.ts のファイルを更新します。更新結果は以下のとおりです。
主な変更点は、以下のとおりです。
- wpDataTypeFetch.ts を読み込んで追加したファイルを有効にしています
- wpDataTypeFetch.ts は constants.ts も読み込んでいます
これで準備が完了です。
スクリプトを実行する
これで準備が完了したため、スクリプトを実行してデータの移行の最初のステップに入ります。
実行すると、ブログの投稿が取得できるかのテストが走ります。

問題なく取得できているので、以下のコマンドを実行して、データのインポートを実行します。
実行をすると、以下のようにデータのインポートを実行するかの確認が表示されるため、ここでは Y で実行を続けます。

スクリプトの実行が終わると、データの移行が完了します。Sanity Studio を起動します。
コンテンツのタイトルのインポートが完了しました。

まとめ
手順に沿って Wordpress のコンテンツと連携できるスクリプトを設定して、Wordpress のコンテンツのタイトルを利用して Sanity にコンテンツを移行することができました。ここまでのコードは以下のブランチで公開しています。
タイトルのみの移行ができたところで、次のステップに進めていきます。
