Pocket

WordPressはMySQLというデータベースでサイトのさまざまな情報を管理していますが、別のドメインへシステムを移転させるには、基本的なサイトURLの登録情報の他、パーマリンクと呼ばれる各投稿記事のURLに埋め込まれたドメイン名を新ドメイン名へ置換する必要があります。

例えば以下の図は、WordPressのデータベースの一部を視覚化したものです。
サイトURLやパーマリンクは、下図のように保存されています。

20170212-1

WordPressは1記事ごとに記事のURLをデータベースに保存する仕組みになっています。数百、数千といった記事を置換するにはphpMyAdminなどのウェブブラウザからデータベースの操作ができる専用ツールを使うと便利です。

そこで今回は、データベースの操作に不慣れな方でもphpMyAdminからドメイン名を一発置換し、旧ドメインで使っていたWordPressのデータベースを新ドメインで使えるようにする方法をご紹介したいと思います。

作業の流れ

  1. phpMyAdminにアクセスをする。
  2. データベースのバックアップをする。
  3. ドメイン名の置換用SQL文を作成する。
  4. 各データベースのテーブルからドメイン名の置換を実行する。

phpMyAdminとは?

phpMyAdminはMySQLのデータベースをウェブブラウザから操作でき、専門的なSQL文を作成することなくデータの追加や参照ができる管理ツールです。
PHPとMySQLが使えるレンタルサーバーであれば標準で利用できます。

phpMyAdminのアクセス方法については、お使いのホスティングサーバーのサポートマニュアルをご参照下さい。

・ロリポップ
・ヘテムル
・さくらインターネット
・カゴヤ
・エックスサーバー

phpMyAdminからドメイン名を置換してみよう

STEP1 phpMyAdminにログインする

20170212-1-3

ユーザ名・パスワードを入力、「実行」をクリックしてログインします。
※レンタルサーバーによってログイン方法が異なりますので、各サーバーのサポートマニュアルをご確認ください。

20170212-1-2

WordPressをインストールすると、MySQLには以下11個のテーブルが作成されます。
その中でも★印のマークがついたテーブルがドメイン名を含む置換対象のテーブルです。

wp_commentmeta
wp_comments
wp_links
wp_options  サイトURLを含む基本情報が多く格納されています。
wp_postmeta  カスタムフィールド値などが多く格納されています。
wp_posts  投稿記事のタイトルや本文、ページURLなどが格納されています。
wp_termmeta
wp_terms
wp_term_relationships
wp_term_taxonomy
wp_usermeta

※別途プラグインを導入している場合など、仕様によってはプラグイン独自のテーブルが作成されることもあります。


STEP2 データベースのバックアップ

万が一書き換え等が失敗した時のために、必ずデータベースのバックアップファイルを作成してください。

タブメニューから「エクスポート」を開き、「実行」をクリックします。

20170212-1-4

何かしらのトラブルでデータベースを元に戻さなくてはいけない時は、タブメニューの「インポート」を開き、上記で作成したバックアップファイルから元の状態にリストア(復元)することができます。

20170212-1-8


STEP3 ドメイン名の置換用SQL文の作成

以下のコードは、WordPressで使っているデータベースから「旧ドメイン→新ドメイン」へ文字列を変換するコードです。
「旧ドメイン」「新ドメイン」の箇所を書き換えてSQL文を作ります。

上記SQL文は次のSTEPで使いますので、メモ帳などのテキストエディタへコピーして編集をしておきます。


STEP4 データベースのテーブルからドメイン名の置換を実行

タブメニューから「SQL」を開きます。
STEP3で作成したSQL文をテキストエリアに貼付けて「実行」をクリックします。

以下の図は「hogehoge.com(旧ドメイン)」から「new_hogehoge.jp(新ドメイン)」に書き換えた場合の例です。

20170212-1-5

書き換えが完了すると、以下の図が表示され赤枠のように書き換えが行われた行数を目視で確認することができます。

20170212-1-6

念のため、wp_postsやwp_optionsテーブルを開いて置換後のドメイン名を確認しておきます。

画面左側のwp_postsやwp_optionsをクリック。

20170212-1-9

20170212-1-7

もしドメイン名が意図したも内容に置換できていなかった場合は、STEP3のSQL文に誤りがある可能性があります。
その場合は、STEP3のSQL文を見直してSTEP4を再実行するか、STEP2のバックアップファイルからデータベースの復元後、STEP3から再度置換を行ってください。

置換後のデータベースを新ドメインでお使いになる場合は、以下の手順でデータベースの復元を行います。

  1. 旧サーバーのphpMyAdminでSTEP2のバックアップファイルを作成する。
  2. 新ドメインでデータベースを作成する。※作成方法についてはお使いのレンタルサーバーサポートマニュアルをご参照下さい。
  3. 新ドメインのphpMyAdminへログインする。
  4. 新ドメインのphpMyAdminからSTEP2で作成したバックアップファイルをインポートする。
 

スタッフ募集のお知らせ

株式会社それからデザインでは現在、エンジニア・プログラマー、デザイナー、ディレクターを募集しています。自社サービスやクライアント企業のブランディングに関わるモノづくりの現場であなたの経験を活かしてみませんか?
ご興味のある方は、下記より募集要項をご覧ください。

生きるように働く人の仕事探しサイト「日本仕事百貨」に、当社のSE・プログラマー募集の記事が掲載されました。是非ご覧ください。