TechNote

とあるエンジニアのただのメモ

これだけは必須!WordPressのサイト引越しの際に必要になった作業まとめ

あまりつまずくことはないだろうとは思ってましたが、WordPressで作成したサイトを移転した際に、独特の必要変更箇所がありつまずきかけたのでメモとして残しておきます。全て出尽くした情報ではありますが自分にとって必要な情報として再構築しておきます。WordPressを触り始めた人、プラグイン等を使わずに移転する人向けの記事になるかと思います。

f:id:kojikoji75:20150731191039j:plain

1.データベースまわり
(1)データベースのエクスポート&インポート
(2)その他必要となる作業(←ここ大事1)
2.環境設定まわり wp-config.phpの編集
3.補足作業(←ここ大事2)


1.データベースまわり

(1)データベースのエクスポート&インポート

当然発生する作業ですね。データベースのテーブル内に、これまでの投稿記事や設定内容など様々なデータが入っているので、これらをphpmyadminなどのデータベース管理ツールを使用して引越しをします。phpmyadminの操作に慣れてない方は下記サイトあたりがシンプルにphpmyadminのインポート&エクスポートだけにしぼって書かれているので見やすいのではないでしょうか。
phpMyAdminの使い方 - エクスポートとインポート、MySQLデータベースのバックアップ - WordPressの使い方 | WP SEOブログ

(2)その他必要となる作業(←ここ大事1)

データベースのテーブルに格納されている情報の一部はドメインに関わるものなので、ドメインが新しく変わる場合はテーブル内の値の更新も必要です。そこで下記のSQLを実行する必要が生じます。この作業により、投稿記事中で旧サイト内を参照しているリンクなども、一括で全部新サイトへ貼り直します。

下記は「http://oldsite.com」から「http://newsite.com」へ変わる場合の例です。

UPDATE wp_options SET option_value = replace(option_value, 'http://oldsite.com/', 'http://newsite.com/') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://oldsite.com/','http://newsite.com/');
UPDATE wp_posts SET post_content = replace(post_content, 'http://oldsite.com/', 'http://newsite.com/');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://oldsite.com/','http://newsite.com/');

上記update作業はここを参考に行いました。websae.net






2.環境設定まわり wp-config.phpの編集

(1)データベース情報の変更

この辺りは当たり前の作業ですね。説明は省略します。
f:id:kojikoji75:20150731193703p:plain

(2)テーブル接頭辞の変更

これも新環境でのテーブル接頭辞に書き換えます。
f:id:kojikoji75:20150731193712p:plain




3.補足作業(←ここ大事2)

だいたい以上でいけそうかなと思いましたが、私の場合はこの作業だけでは正常にページが表示されませんでした。サイトにアクセスすると、

このページにアクセスするための十分なアクセス権がありません。

これはテーブル接頭辞を変更した場合にのみ出ます。テーブルの中にも実は接頭辞にかかわる値を持っていたということです。なのでテーブル接頭辞を変更した場合は、それに伴うテーブルデータの変更が必要で、具体的には下記の作業が必要になります。

たとえばテーブル接頭辞を「wp_」から「wp01_」と変更した場合は下記のようになります。

現状のテーブル名 フィールド名 変更前の値 変更後の値
wp01_options option_name wp_user_roles wp01_user_roles
wp01_usermeta meta_key wp_capabilities wp01_capabilities
wp01_usermeta meta_key wp_user_level wp01_user_level
wp01_usermeta meta_key wp_dashboard_quick_press_last_post_id wp01_dashboard_quick_press_last_post_id
wp01_usermeta meta_key wp_user-settings wp01_user-settings
wp01_usermeta meta_key wp_user-settings-time wp01_user-settings-time

以上、「引っ越し時にテーブルのどこのデータを変更する必要があるか」というのは、WordPressの仕様を知っておかないとわからないことですよね。そして、「ここ大事」と記した2つの部分はどちらもテーブルデータ更新の話だったわけですが、これらがまとめて1つの記事として残されているところを見つけることができなかったので、今回あえてメモとして残した次第でした。

あわせて読みたい

kojikoji75.hatenablog.com
kojikoji75.hatenablog.com
kojikoji75.hatenablog.com


WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)

WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )