WordPressの投稿データの移行方法

新しいパソコン(ubuntu24.04LTS)にWordPressをインストールしたのでサーバーにあるデータを移行してみました。WordPress環境の構築としては以下の作業を行っています。

  • プラグインのインストール
  • 親テーマ、子テーマの移行
  • 投稿データの移行
  • ウィジェットの設定

プラグインのインストール

プラグインのインストールはダッシュボードのプラグイン「新規プラグインを追加」で行いました。

親テーマと子テーマの移行

親テーマですが、ダッシュボードのテーマ「新しいテーマを追加」で行います。子テーマを移行する前に親テーマの追加をしておきます。

子テーマのほうですが、移行元のサーバーのほうで子テーマのフォルダをzip形式に圧縮をします。テーマはwordpressフォルダから見て、以下の場所にあります。

./wordpress/wp-content/themes

このブログの場合ですが、親テーマは twentyfifteen 、子テーマは twentyfifteen-child です。zip形式に圧縮した子テーマを移行先のパソコンに持ってきます。

移行先のWordPressのダッシュボードの画面から子テーマの追加を行います。「新しいテーマを追加」をクリックします。

「テーマのアップロード」をクリックします。

参照ボタンからzipファイルを選択して「今すぐインストール」をクリックします。

WordPressで親テーマがインストールされているかの確認が行われ、問題なければインストールが完了します。

ダッシュボードのテーマで子テーマを有効化します。なお、テーマの設定は移行されませんので自分で設定をしなおします。

投稿データの移行

移行元のWordPressのダッシュボードでツールのエクスポートを使います。エクスポートする内容を選択では「すべてのコンテンツ」を選びます。「エクスポートファイルをダウンロード」をクリックします。

xml形式のファイルがダウンロードされます。

移行先のWordPressのダッシュボードでツールのインポートを使います。WordPressの「今すぐインストール」をクリックします。

インポーターがインストールされます。「インポーターを実行」をクリックします。

WordPressのインポート画面になります。ダウンロードしたxmlファイルを参照ボタンから選択して「ファイルをアップロードしてインポート」をクリックします。

インポートする投稿者を選択します。「添付ファイルをダウンロードしてインポートする」にはチェックをつけておきます。実行ボタンを押下します。

データのインポートが行われます。

投稿一覧を見てみるとインポートされた投稿データが確認できます。

ウィジェットの設定

ウィジェットの設定は移行されません。移行元のWordPressのバージョンが5.8より前のものでウィジェットを設定した場合、旧ウィジェットの設定に戻すにはプラグインが必要です。Classic Widgets というプラグインを使えば元のウィジェットの設定ができます。

ubuntu24.04LTSにWordPressをインストールしてみた。

ubuntu 24.04 LTS にWordPressをインストールする方法です。ubuntuには Nginx、MySQL8.4、PHP7.4がインストールされています。付属のPHPモジュール(php7.4-fpm、php7.4-mysql)もインストール済みです。今回インストールするWordPressのバージョンは 6.7.2 です。作業はrootユーザーで行います。

WordPressファイルの取得

WordPressのサイトからファイルをダウンロードします。自分でダウンロードしてインストールのほうにあるWordPressをダウンロードをクリックします。

ダウンロードしたファイルは wordpress-6.7.2-ja.zip というファイル名です。

wordpressフォルダの配置

WordPressを配置するディレクトリを決めます。今回は /var/www/html 配下にします。ダウンロードしたファイルを /var/www/html 配下に持っていき解凍をします。

# unzip wordpress-6.7.2-ja.zip

解凍をすると wordpress というフォルダが出来ます。zipファイルは不要なので削除をしておきます。

Nginxの起動ユーザーがwordpressファイルを参照できるように所有者を変更します。Nginxの起動ユーザーは環境により異なると思いますが、僕の場合は www-data としているため www-data に変更します。

# chown -R www-data:www-data wordpress

MySQLの設定

MySQLに接続して、WordPress用のデータベースとユーザーを作成します。MySQLのrootユーザーでログインをしてください。

# mysql -u root -p
Enter password:
 :

MySQLにログインをするとプロンプトが mysql> になります。

WordPress用のデータベースを作成します。データベース名は wordpress です。

mysql> create database wordpress;

WordPress用のユーザーを作成し、パスワードを設定します。ユーザー名は wpuser で、パスワードは wpword です。

mysql> create user 'wpuser' identified by 'wpword';

wpuser がデータベースを操作できるようにします。

mysql> grant all on wordpress.* to 'wpuser';

MySQLの準備は完了ですので、ログアウトします。

mysql> exit
Bye

wp-config.phpの作成

wordpress フォルダ配下に wp-config-sample.php があるので、これをコピーして wp-config.php にリネームをします。

# cp -p wp-config-sample.php wp-config.php

wp-config.php の編集をします。

データベースに関する設定では、データベース名、ユーザー名、パスワードを設定します。MySQLにログインして作成したものです。その他はデフォルトのままでよいです。

認証用ユニークキーの設定では、任意の文字列を設定します。個人利用であれば何でも良いです。

Nignxの設定

NignxからWordPressを操作できるようにNginxのコンフィグファイルに server ディレクティブの設定をします。


server {
    listen       80;
    server_name  localhost;
    root         /var/www/html/wordpress;

    location / {
        index  index.php;
    }

    location ~* \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

fastcgi_pass ディレクティブの設定はそれぞれの環境にあわせてください。Nignxを再起動します。

自動インストールの実施

ブラウザで以下のURLにアクセスします。

http://localhost/wp-admin/install.php

「ようこそ」の画面が表示されます。

必要情報の入力を行います。サイトのタイトル、ユーザー名、パスワード、メールアドレスを入力します。ubuntuがローカルPCである場合は「検索エンジンがサイトをインデックスしないようにする」のチェックはつけておきます。

「WordPressをインストール」をクリックします。インストールが始まり、終了すると「成功しました!」のメッセージが表示されます。

以下のURLからWordPressの管理画面(ダッシュボード)にログインができます。

http://localhost/wp-login.php