2026年9月27日
2026年9月27日
WordPressのユーザー移行(旧サイトから新サイトへ)方法
はじめに
WordPressサイトを新規構築する際や、既存のサイトから新しいサーバーへ移行する際に、ユーザー情報の連携は重要なステップとなります。この記事では、旧サイトと新サイト間でユーザー情報を安全かつ効率的に移行するための手順について解説します。
症状・背景
- サイトの再構築やサーバー変更
- スキーマの更新やプラグインアップデートによるデータ整合性問題
- 複数サイト間でのユーザー情報統合
- バックエンドシステムからのユーザー情報の同期
手順・設定方法
ステップ1: WordPressデータベースのバックアップを取得する
# まず、MySQL/MariaDBに接続します。
mysql -u ユーザ名 -p
# データベースを選択します。
use 旧サイトデータベース名;
# 次に、ユーザー情報テーブル(wp_users)とその関連テーブル(wp_usermeta)をエクスポートします。
mysqldump --no-create-info -u ユーザ名 -p 旧サイトデータベース名 wp_users > users.sql
mysqldump --no-create-info -u ユーザ名 -p 旧サイトデータベース名 wp_usermeta > usermeta.sql
ステップ2: 新しいWordPressインストールでユーザー情報をインポートする
# MySQL/MariaDBに接続します。
mysql -u ユーザ名 -p
# 新しいデータベースを選択します。
use 新サイトデータベース名;
# 旧サイトからエクスポートしたユーザー情報テーブルをインポートします。
source users.sql
# 関連のユーザーメタ情報をインポートします。
source usermeta.sql
ステップ3: ユーザーIDの再マッピング(必要に応じて)
# 旧サイトと新サイト間でユーザーIDがずれている場合、新しいユーザーIDに対応するエントリを更新します。
UPDATE 新サイトデータベース名.wp_usermeta SET user_id = 新しいユーザーID WHERE meta_key IN ('wp_capabilities', 'wp_user_level') AND user_id = 元のユーザーID;
# パスワードハッシュが異なる場合、適切なハッシュに変換する必要があります。通常は自動で更新されるため手動での操作が必要ありません。
ステップ4: 機能と権限を確認し調整する
# 新サイト内でユーザーのロールと機能を確認します。
SELECT * FROM wp_users, wp_usermeta WHERE wp_users.ID = wp_usermeta.user_id AND meta_key LIKE 'wp_capabilities';
# 必要に応じてユーザーの権限やアクセスレベルを調整します。
UPDATE wp_users SET user_email='新しいメールアドレス', user_login='新しいログイン名' WHERE ID=ユーザーID;
注意事項
- データベースバックアップは移行前の必ず取得してください
- インポート時にデータ型の変換やバージョン間での互換性を確認する
- パスワードハッシュが異なる場合、適切なハッシュアルゴリズムを使用して更新すること
- 新しいサイトでユーザー情報の整合性を確実にチェック
まとめ
1. データベースバックアップ: 移行前のデータベースバックアップは移行作業の失敗時や問題発生時の復旧に必要です。
2. SQLインポートとエクスポート: MySQL/MariaDBコマンドを使用して、必要なユーザー情報テーブルを新サイトへ安全かつ効率的にインポートします。
3. IDマッピングの調整: 旧サイトと新サイト間でユーザーIDがずれている場合、適切な再マッピングを行うことで整合性を保つことができます。
4. 権限確認: 移行後はユーザーのロールやアクセスレベルを確認し、必要に応じて調整します。
関連記事: