TOSAKAFUNK

Loading...

WPからmicroCMSへのコンテンツ移行。「気合でコピペ」という「労働」を最後に終わらせるための現実的な戦略

WPからmicroCMSへのコンテンツ移行。「気合でコピペ」という「労働」を最後に終わらせるための現実的な戦略 のビジュアル

WordPressからmicroCMSへの移行で最大の難関が「コンテンツ移行」。数百件の記事を前に「気合でコピペ」しかないと諦めていませんか?
本記事では、手動移行の非効率さと完全自動化の難しさを解説し、「8割の自動化」と「2割の戦略的手動移行」を組み合わせる現実的な戦略をご紹介します。

  • 移行の課題手動コピペは品質低下を招き、完全自動化はコストが見合わないことが多い。
  • 移行戦略移行対象を棚卸し、「型」が決まった8割のコンテンツをスクリプトで自動移行する。
  • スクリプト活用WordPress API(WPGraphQL等)からデータを取得し、microCMS APIへ投入するスクリプトが鍵。
  • 残りの2割自動化しにくい複雑なレイアウトのみを「戦略的」に手動で対応し、移行を完了させる。

WordPressからmicroCMSへの移行を決断した皆さま、おめでとうございます。しかし、その決断の先に、最も厄介な作業が待ち構えていることにお気づきかもしれません。

それは、**「既存コンテンツの移行」**です。

何百、何千と蓄積された記事を前に、「これを全部、気合でコピペするしかないのか…」と絶望している担当者の方も少なくないでしょう。

本記事では、その「気合でコピペ」という非生産的な「労働」を、今回限りで終わらせるための、現実的な移行戦略について解説します。

コンテンツ移行の前に立ちはだかる「気合でコピペ」という名の壁

コンテンツ移行の手段を考えると、大きく分けて「すべて手動」か「すべて自動」かの二択を想像しがちです。しかし、どちらも大きな落とし穴があります。

なぜ「愚直な手動コピペ」を選んではいけないのか?

「気合でコピペ」は、一見シンプルですが、最も危険な選択肢です。

  • 品質の低下: 担当者のスキルや集中力によって、書式が崩れたり、画像が抜け漏れたりします。
  • リンク切れの多発: 記事内の内部リンクや外部リンクの修正漏れが必ず発生します。
  • 膨大な検証コスト: 移行した全記事が正しく表示・機能しているかを確認する作業は、移行作業そのものよりも時間がかかることさえあります。
  • 担当者の疲弊: 何より、この「労働」は担当者のモチベーションを著しく低下させます。

「完全自動化」の幻想と、コストの現実

では、すべてをスクリプトで自動化すればよいのでしょうか。それもまた現実的ではありません。

長年運用されたWordPressは、独自のカスタムフィールド(ACF等)や、Gutenbergのカスタムブロック、特定のプラグインが生成するショートコードなどで「魔改造」されていることがほとんどです。

これらすべてを完璧にパース(解析)し、microCMSの新しいスキーマにマッピングする**「完璧な移行スクリプト」**を開発するコストは、移行プロジェクト全体の予算を圧迫するほど高額になりがちです。

「労働」を最小化するmicroCMS移行戦略の全体像

私たちが推奨するのは、「愚直な手動」でも「完璧な自動化」でもない、**「8割の自動化と2割の戦略的手動移行」**というハイブリッドなアプローチです。

ステップ1:移行対象の「棚卸し」と「仕分け」

まず、既存の全コンテンツをリストアップし、以下の3つに仕分けします。

  1. 移行する(必須): ビジネス上、またSEO上、必ず必要なコンテンツ。
  2. 移行しない(廃棄): 情報が古すぎる、アクセスが全くないなど、廃棄すべきコンテンツ。
  3. 要確認(アーカイブ): 移行はしないが、データとしては残しておきたいコンテンツ。

この時点で「移行しない」と決断するだけで、移行対象は大幅に削減できます。

ステップ2:「型」が決まっているコンテンツ(8割)を定義する

次に、「移行する」と決めたコンテンツの中で、構成がパターン化されているものを見つけます。

  • 「タイトル」「本文(クラシックエディタ)」「アイキャッチ画像」「カテゴリ」「タグ」だけで構成されるシンプルなブログ記事
  • 「商品名」「価格」「説明文」といったカスタムフィールドで構成される商品紹介ページ

これらが、移行対象の「8割」を占めるはずです。この**「型」**こそが、自動化のターゲットです。

ステップ3:「型」をスクリプトで自動移行する

ステップ2で定義した「型」に基づき、移行スクリプトを作成します。WordPressからデータを取得し、microCMSのAPIスキーマに合わせてデータを投入(POST)します。 (具体的な方法は後述します)

ステップ4:「型」から外れるコンテンツ(2割)を戦略的に手動移行する

自動化のターゲットから外れた、残りの「2割」のコンテンツ。

  • Gutenbergのカスタムブロックを多用した、複雑なランディングページ
  • 特殊なプラグイン(例:表作成プラグイン、FAQプラグイン)で作成されたページ

これらこそが、「気合でコピペ」(=戦略的な手動移行)の対象です。数は少ないため、品質を担保しながら手作業で移行します。

なぜWordPressの「標準エクスポート」では不十分なのか?

WordPressには標準でXMLエクスポート機能がありますが、microCMSへの移行には適していません。

メディア(画像)の課題

標準エクスポートは、画像の「参照情報」は含みますが、画像ファイルそのものを移行先のメディアライブラリ(microCMSの場合はS3など)にアップロードしてはくれません。

カスタムフィールド(ACF等)とGutenbergの壁

標準エクスポートのXMLは、ACFなどで追加したカスタムフィールドのデータを正しく含めないか、非常に扱いにくい形式でしか出力しません。Gutenbergのブロックデータも同様で、HTMLコメントとして埋め込まれた複雑なJSON構造を正しくパースするのは困難です。

実践:「8割」を自動化する移行スクリプトの構成例

「型」が決まった8割のコンテンツは、APIベースで移行するのが最も効率的です。

準備:WordPress側でAPI(WPGraphQL)を準備する

WordPressをAPIサーバー化します。標準のREST APIでも可能ですが、カスタムフィールドなどを柔軟に取得するために**「WPGraphQL」**プラグインの導入を強く推奨します。

WPGraphQLを使えば、移行に必要なデータ(タイトル、本文、カスタムフィールド、カテゴリ、タグ、アイキャッチ画像のURLなど)をGraphQLクエリ一つで効率的に取得できます。

# WPGraphQLのクエリ例
query GetPostsForMigration {
  posts(first: 100) { # ページネーションで全件取得する
    nodes {
      title
      content
      date
      slug
      featuredImage {
        node {
          sourceUrl
        }
      }
      categories {
        nodes {
          name
        }
      }
      # ACFのフィールドなどもここに追加
    }
  }
}

実行:移行スクリプト(Node.js等)でデータをマッピング

次に、Node.jsやPythonなどで、WPGraphQLから取得したデータをmicroCMSのAPI(コンテンツ作成エンドポイント)にPOSTするスクリプトを作成します。

// Node.js (axios) でのmicroCMSへのPOST例 (イメージ)
import axios from 'axios';

// WPGraphQLから取得したデータ (post)
const post = {
  title: "WPから取得したタイトル",
  content: "<p>WPから取得した本文HTML</p>",
  // ... other fields
};

// microCMSのスキーマに合わせてデータをマッピング
const microCMSPayload = {
  title: post.title,
  body: post.content, // microCMSのリッチエディタのフィールド名
  // ...
};

// microCMS APIにPOST
await axios.post(
  'https://YOUR_SERVICE.microcms.io/api/v1/YOUR_ENDPOINT',
  microCMSPayload,
  {
    headers: { 'X-MICROCMS-API-KEY': 'YOUR_API_KEY' },
  }
);

検証:画像リンクと内部リンクの処理

スクリプト処理で最も重要なのがリンクの処理です。

  • 画像: 本文(content)内の<img>タグを正規表現やDOMパーサーで抽出し、sourceUrlをmicroCMSのメディアストレージにアップロードし直し、その新しいURLに置換します。
  • 内部リンク: href属性が自社ドメインを指している<a>タグを見つけ、移行後の新しいパーマリンク構造(例:/blog/SLUG)に置換します。

「残りの2割」=コピペの価値を最大化する

さて、自動化から漏れた「2割」の複雑なコンテンツです。これを「労働」と捉えず、「品質向上のための仕上げ」と捉えましょう。

「手動」だからこそできる、リッチエディタへの最適化

WordPressのGutenbergブロックやショートコードで無理やり実現していたレイアウトを、microCMSの新しいリッチエディタや、フロントエンドで用意されたカスタムコンポーネント(例:microCMSの「繰り返しフィールド」と連携)を使って、よりクリーンでセマンティックな構造に再構築するチャンスです。

移行を「コンテンツ精査」の機会に変える

手動で移行する過程で、「この記事の情報は古くないか?」「このCTAは今も最適か?」と、一つ一つのコンテンツを再評価できます。

「気合でコピペ」は、移行対象を絞り込み、自動化を徹底した上で、最後に残った「本当に重要なコンテンツ」に対してのみ行う、価値ある「手作業」なのです。

「最後の労働」を終わらせるために

WordPressからmicroCMSへの移行は、単なるツールの乗り換えではありません。それは、過去の「負債」を清算し、将来のコンテンツ運用を効率化するための「構造改革」です。

移行スクリプトの作成にはコストがかかりますが、それは数百件のコピペ作業にかかる人件費と、その後の検証コスト、そして担当者のモチベーション低下に比べれば、はるかに安価な「投資」です。