ブログ

WordPressを丸ごとコピーして同じサーバ内で同一サイトを作る手順

server

WordPressのサイトをカスタマイズする際、コピーサイトを作り手順を追って変更を加えた上で、変更内容を反映させることが望ましい場合があります。

そのための第一ステップとして、同じサーバ内で同一サイトをコピーして実現する方法となります。
管理している記事数が多く、通常のコピー手段(インポートやエクスポートを使用する方法)でサーバ間の移行や移植ができない場合も本手順が参考になると思います。

なお、この手順ではサーバー内で専用のコマンドが使用できるか、または phpMyAdmin などのデータベース管理ツールが提供されていることが前提となります。

phpMyAdmin などのツールが提供されておらず、直接コピーすることができない場合は、一旦WordPressからデータを書き出し(エクスポート)、新しい環境を構築後に投入(インポート)する通常の手順になりますので、以下は参考にしないようにしてください。

データベースをコピーする

はじめに、データベースの内容を丸ごとコピーし、複製したデータベースを作成します。
WordPress で作成したデータや設定は原則データベース中に保存されています。そのため、コピーを行うにあたり、データベースを丸ごとコピーすることが最も早い手順となります。

サーバーの専用コマンド等でコピーを行うことが可能な場合や、コピー手順が示されている場合はその指示に従ってください。

また、通常レンタルサーバーであれば、「データベース管理ツール」などの名称で管理ツールとして phpMyAdmin が提供されていることがほとんどです。
先にコピー先の新しいデータベースを作成後、phpMyAdmin でコピー元のデータベースを選択し、「操作」メニューから「データベースのコピー先」に作成したコピー先のデータベース名を入力しします。
このとき、「構造とデータ」を選択の上、「コピーの前に CREATE DATABASE する」のチェックは必ず外した状態で実行してください。

データベースのコピー

データベースのコピー

 

データベース内の設定を変更する

データベースをコピーしただけではコピー先の WordPress は正常に稼働しません。設定を変更し参照先を変更するように準備しておきます。

phpMyAdmin を開き、コピー先のデータベースの「options」テーブルを「表示」し、option_nameの欄が「siteurl」と「home」の欄のoption_valueをコピー先のURLにあわせて変更してください。

optionsテーブルから「siteurl」と「home」の値を変更する

optionsテーブルから「siteurl」と「home」の値を変更する

 

SQLを直接実行可能な場合は以下のSQLで実行することでも同様となります。

UPDATE options SET option_value = '新しいトップページのURL' WHERE option_name = 'home';
UPDATE options SET option_value = '新しいWordPressのURL' WHERE option_name = 'siteurl';

※optionsは「wp_options」など、wp-config.php 内の「$table_prefix」で指定されている文字列が options の前に付きます。

ファイルをコピーする

現在稼働中の環境を丸ごとコピーします。
フォルダ(ディレクトリ)ごとコピーする方法は、サーバー上で専用のコマンドが使用できる場合はコマンドにより、ツールが提供されている場合はツールにより手順に沿って行ってください。

これらのツールが提供されていない場合は、一旦丸ごと全てのファイルをダウンロードした上でコピー先にアップロードを行ってください。
その際、wp-contentフォルダなどの書き込み権限が必要なフォルダの権限がコピー元と同じ状態に設定されていることを入念に確認してください。

その他、事前にコピー元のWordPress全体を権限ごと圧縮ファイルにし、コピー先で権限をそのままで展開する方法もあります。
環境に合わせて用意した専用のツールを使用しますので、専門業者にお問い合わせいただくか、ご希望の方は当サイトまでお問い合わせいただければ対応いたします。

wp-config.phpを編集する

コピー先のWordPressでは、接続先のデータベースが変更されていますので、wp-config.php 内の以下の箇所を新しいデータベース設定にあわせて変更します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'database_name_here');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'username_here');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password_here');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

以上でコピー先の環境がコピー元と独立した状態で表示からログインや編集まで可能となります。
この手順を行っただけでは、記事中に指定した画像ファイルなどは変更されませんので注意してください。
あくまでコピーを行い同一内容の WordPress の環境を構築するまでが本稿の目的ですので、記事の内容が綺麗に表示できるところまでは範囲外としています。

記事中の画像ファイルなどのURLを変更する場合は、専用のツールなどを利用して変更を行ってください。

関連記事

WP-Ranking PRO

記事ランキング

ページ上部へ戻る