Written by Toshiki

ドメインのみ変更してデータベースは同一のものを使う

Web制作 WordPress

こんにちは、トシキです。
今回はWordPressサイトのデータベースはそのままで、ドメインのみ変更する方法を解説します。

「テスト用のドメインで開発したWordPressサイトを本番用のドメインに変更したい」
「サブドメインからメインドメインに変更したい」

このような悩みにお答えします。
本記事では、サブドメインのWordPressサイトをメインドメインで見れるように変更していきます。

今回のサンプル↓
・メインドメイン(旧サイト):tosshii-portfolio.com
・サブドメイン(新サイト):hoge.tosshii-portfolio.com
変更後↓
・メインドメイン(新サイト):tosshii-portfolio.com

本記事の内容

スポンサードサーチ

【1】ドメインのみ変更してデータベースは同一のものを使う手順

ドメインのみ変更してデータベースは同一のものを使う手順

これから紹介しますが、サーバー上のファイルやデータベースを触る前には、必ずバックアップを取っておきましょう!

1-1. 新旧2つのWordPressファイルをバックアップ

まずはFTPでサーバーに接続し、新旧2つのWordPressファイルをダウンロードしてバックアップを取ります。

WordPressファイル一式をバックアップ

1-2. phpMyAdminでデータベースをバックアップ

データベースのバックアップも取っておきます。
レンタルサーバーの管理画面からphpMyAdminにログインします。

phpMyAdminでデータベースをバックアップ

ユーザー名とパスワードを求められるので、該当のデータベースに設定しているユーザー名とパスワードを入力しましょう。

phpMyAdminでデータベースをバックアップ

※もしわからない場合は、先ほどダウンロードしたWordPressファイルに「wp-config.php」があるのでそこで確認できます↓

phpMyAdminでデータベースをバックアップ

phpMyAdminにログインできたら、「データベース名」→「エクスポート」→「実行」でダウンロードします。

phpMyAdminでデータベースをバックアップ

1-3. サーバーからWordPress(旧サイト)を削除して、その場所にWordPress(新サイト)を移動

public_html直下に旧サイトのWordPress一式があるので削除。
その後、サブドメイン「hoge.tosshii-portfolio」フォルダ直下にある新サイトのWordPress一式をpublic_html直下に移動させ、空になった「hoge.tosshii-portfolio」フォルダは削除します。

1-4. データベース内のドメインを書き換える

ドメインが変わると、データベース内に格納されているドメイン情報を新たに書き換える必要があります。
今回は、「Database Search and Replace Script in PHP」というツールを使って書き換えを行っていきます。
アクセスしたら名前とメールアドレスを入力します。

データベース内のドメインを書き換える

入力後、下にある「Submit to receive your download link」をクリックして送信。

データベース内のドメインを書き換える

入力したメールアドレスにダウンロードリンクが送られてくるので、「here」の部分をクリックしてZIPファイルをダウンロード→解凍します。

データベース内のドメインを書き換える

解凍後のファイル↓

データベース内のドメインを書き換える

解凍したファイルをドメイン直下(public_htmlの中)にアップロードします。

データベース内のドメインを書き換える

https://変更後ドメイン/Search-Replace-DB-master/」にアクセスしましょう。
今回の場合は、
https://tosshii-portfolio.com/Search-Replace-DB-master/」です。
下記の画面が表示されますので、この中でドメイン情報を書き換えていきます。

データベース内のドメインを書き換える

replceの欄に変更前ドメインwithの欄に変更後ドメインを入力。
今回の場合は、サブドメインを検索してメインドメインに書き換えたいので、
replace→hoge.tosshii-portfolio.com
with→tosshii-portfolio.com
を入力します。

ドメインを入力したらデータベース情報も入力。(わからなければ「wp-config.php」で確認)
database name→データベース名
username→ユーザー名
pass→パスワード
host→ホスト名
port→ポート番号(省略可能)

入力後、「Test connection」をクリックすると書き換え該当箇所が確認できます。
「view changes」で詳細が見れますが、全部に目を通すのは大変なので何ヵ所かだけさらっと確認。

データベース内のドメインを書き換える
データベース内のドメインを書き換える

「Search and Replace」をクリックして書き換えを実行します。

データベース内のドメインを書き換える

以下のようなメッセージが表示されるので「OK」。

データベース内のドメインを書き換える

書き換えが済んだら、「Search-Replace-DB-master」は使わないので「delete me」でサーバーから削除します。

データベース内のドメインを書き換える

サーバーを確認して、もし「Search-Replace-DB-master」の空のフォルダが残っていた場合はこれも削除。

データベース内のドメインを書き換える

変更後のメインドメインにアクセスすると、新サイトが表示されるようになります。

1-5. データベースから旧サイトのテーブルを削除

使わなくなったテーブルは削除しましょう。
無理に触らなくても問題ありませんが、データベース内がスッキリします。

データベースから旧サイトのテーブルを削除

上記の画像は接頭辞「wp_」のテーブルを削除するところです。
「hoge_」のテーブルは新サイトの方です。

バックアップしていた新旧2つの「wp-config.php」から「$table_prefix」の記述を探すと、それぞれどの接頭辞が使われているか確認できます。

データベースから旧サイトのテーブルを削除

旧サイトの接頭辞が「wp_」だったのでそれを削除。
接頭辞はWordPressインストール時に、データベース情報の入力画面で決めた文字列です。
初期値は「wp_」になっています。

ひとつのデータベースに複数のWordPressをインストールする際は、2つ目以降は接頭辞が被らないようにする必要があります。
よって初期値の「wp_」をひとつ目のWordPressに使っている場合、2つ目は「wp_」ではない接頭辞にするということです。

【2】終わりに

終わりに

ドメインのみ変更してデータベースは同一のものを使う手順を解説しました。
正直なところ、作成できるデータベースが無制限のサーバーならば、新規で設置してWordPressをインストールした方が手っ取り早いですね。
もし作成できるデータベース数に制限があったり、マルチサイトで運用したい場合などは既存のデータベースを使うことになります。
もう一度流れをまとめると以下の作業を行いました。

  • 新旧2つのWordPressファイルをバックアップ
  • データベースをバックアップ
  • サーバーからWordPress(旧サイト)を削除して、その場所にWordPress(新サイト)を移動
  • データベース内のドメインを書き換える
  • データベース内の旧サイトのテーブルを削除

最後になりますが、基本的にデータベースの情報を知りたい時は「wp-config.phpを確認する」と覚えておくといいですね。

人気記事忍者CODEさんのコーディング案件に挑戦してみた

人気記事WordPressのトップにHTMLページを表示させる方法