データ整形・DB移行
サイトの引っ越しでいちばん手間がかかるのは、中身の移動です。
SQLとスクリプトで、記事や画像を漏れなく新しいCMSへ移します。
Strength
進め方と強み
データベースから直接取り出します
WordPressのwp_postsやwp_postmetaから、SQLで記事・カテゴリ・タグ・カスタムフィールドを取り出します。
管理画面からの書き出しでは漏れてしまう情報も、そのまま移せます。
移行先に合わせて整えます
本文に残った古いショートコードや不要なHTML、画像のパスを、移行先で正しく表示される形に置き換えます。
文字化けや改行の崩れもここで直します。
APIで一括投入、手作業はしません
microCMSのAPIへ投入するスクリプトを書き、数千件の記事もまとめて移します。
何度でもやり直せるので、本番の切り替え直前に最新の記事まで取り込めます。
URLの対応表まで作ります
旧URLと新URLの対応表を作り、301リダイレクトの設定に使います。
外部からのリンクや検索順位を引き継ぐための大切な作業です。
たとえば、公開中の記事とカテゴリを取り出すSQL
実際の作業では、カスタムフィールドや画像の情報もあわせて取り出し、移行先の項目に合わせて変換します。
ネットショップの商品を移す場合は、商品データ移行をご覧ください。
SELECT p.ID, p.post_title, p.post_date, p.post_content,
GROUP_CONCAT(t.name) AS categories
FROM wp_posts p
LEFT JOIN wp_term_relationships r ON r.object_id = p.ID
LEFT JOIN wp_term_taxonomy tt ON tt.term_taxonomy_id = r.term_taxonomy_id
AND tt.taxonomy = 'category'
LEFT JOIN wp_terms t ON t.term_id = tt.term_id
WHERE p.post_type = 'post' AND p.post_status = 'publish'
GROUP BY p.ID;Scope
対応している内容
取り出し
- WordPressのDB(MySQL)
- CSV・Excel
- 公開中のページ
- 他CMSのエクスポートデータ
整形
- HTML・ショートコードの置き換え
- 画像の再アップロードとパス変更
- カテゴリ・タグの付け替え
- 重複・不要データの削除
投入と確認
- microCMS APIへの一括投入
- WordPressへのインポート
- 件数・内容の突き合わせ
- リダイレクト用の対応表
使用する技術
- SQL / MySQL
- Node.js
- PHP
- microCMS API
- WP-CLI
- CSV