WordPressサイトをサブドメインからメインドメインへ移行する方法
ジョン・ターナー
ジョン・ターナー
数週間かけてstaging.yourdomain.comのようなサブドメインでWordPressサイトを構築してきました。いよいよ待ち望みながらも恐れていた瞬間が訪れます——すべてをメインドメインへ移行する時です。
何かが壊れたら?画像が消えたりリンクが機能しなくなったら?サイトがダウンして、どう直せばいいかわからなくなったら?
これらは正当な懸念です。確固たる計画がない場合に何が起きうるか、私は見てきました。
しかし適切な方法を用いれば、このプロセスは驚くほど単純明快です。開発者である必要はありません。データベーステーブルを手動で編集したり、複雑なSQLクエリと格闘したりする必要もありません。
この記事では、サブドメインからメインドメインへサイトを移行する全プロセスを解説します。完了時には、サイトはメインドメイン上で完全に機能し、訪問者を受け入れる準備が整った状態で公開されます。
以下はその要点である:
- Duplicatorプラグインを使用して、サブドメインサイトの完全なバックアップを作成してください
- バックアップファイルをメインドメインの空のルートディレクトリにアップロードしてください
- インストーラーを実行して、すべてのURLとデータベース参照を自動的に更新します
- サブドメインに301リダイレクトを設定し、SEOを維持するとともに訪問者を誘導する
- 全体のプロセスは30分から60分かかり、コーディングの知識は一切必要ありません
目次
サブドメインからメインドメインへサイトを移行する理由とは?
技術的な手順に入る前に、そもそもなぜこれを行うのかについて話しましょう。
公開
ほとんどの場合、WordPress開発者やサイト所有者はまずサブドメイン上にサイトを構築します。これは、本番サイトに影響を与えることなく、実験やプラグインのテスト、デザインの微調整を行うための安全な環境です。
すべてが完璧に見えるようになったら、その作業を実際の訪問者が目にするメインドメインへ移行する時です。
ステージング環境の staging.yoursite.com を本サイト用に移行する準備が整っているかもしれません。あるいは、メインドメインが「近日公開」ページを表示している間に、temp.yoursite.com上ですべてを構築した可能性もあります。
いずれにせよ、目的は同じです:構築したものを活用し、それをウェブサイトの顔にするのです。
ブランディング
時には、移行は稼働開始のためではなく、すべてを一つの屋根の下に集めるために行われる。
例えば、blog.yoursite.com でブログを運営しているとします。ブランディングの観点から、yoursite.com/blogに移動することで、より一貫性のある体験を提供できます。
訪問者はアドレスバーに一貫したドメイン名を確認でき、SEOの観点では、コンテンツの権威性を複数のサブドメインに分散させるのではなく、単一のドメイン下に集約できます。
これは多くの人が認識している以上に重要です。検索エンジンはサブドメインを別個のエンティティとして扱うため、実質的に一つの主要ドメインを強化するのではなく、二つの異なる場所でSEO価値を構築していることになります。
再編成
おそらく、あなたは異なる目的のために複数のサブドメインから始めたのでしょう——ストア用、ナレッジベース用、カスタマーサポート用などです。
時間の経過とともに、複数のWordPressインストールを管理するのは煩雑になります。プラグインの更新は3か所で行う必要があります。セキュリティパッチは個別に適用しなければなりません。ユーザーアカウントは同期されません。
メインドメイン(yoursite.com)の下にサブディレクトリ(yoursite.com/shop、yoursite.com/help)を設けて全てを移行することで、ウェブ上の存在感を全体的に簡素化できます。すべての管理を一箇所で済ませられるようになります。
WordPressサイトをサブドメインからメインドメインへ移行する方法
さて、実践的な部分、つまり実際の移行プロセスに移りましょう。
この方法をご説明します。私が実際に使っている方法だからです。シンプルで再現性があり、何より毎回確実に機能します。
秘訣は、複雑な部分を自動的に処理するためにDuplicatorを使用することです。サブドメインサイトの完全なバックアップを作成し、メインドメインに移動させます。そうすれば、プラグインがデータベースの更新やURL置換をすべて処理してくれます。これらは通常、慎重な手動編集を必要とする作業です。
サブドメインからメインドメインへウェブサイトを移行する方法は以下の通りです:
- ステップ1: サブドメイン上のウェブサイトをバックアップするDuplicatorをインストールし、サイトの完全なバックアップを作成します。アーカイブファイルとinstaller.phpファイルの両方をダウンロードしてください。
- ステップ2: バックアップをメインドメインにアップロード:メインドメインのルートディレクトリを空にし、Duplicatorのファイルを両方アップロードします。その後、新しいデータベース認証情報でインストーラーを実行します。
- ステップ3: URL設定の確認:wp-config.phpに正しいデータベース情報が含まれていることを確認し、ハードコードされたサブドメイン参照がないかチェックしてください。
- ステップ4: 移行後のテスト: WordPress管理画面にログインし、インストーラーファイルを削除、パーマリンクを再生成し、サイトの全機能をテストする
- ステップ5: リダイレクトの設定: サブドメインの.htaccessファイルに301リダイレクトコードを追加し、訪問者を恒久的に転送してSEO価値を維持します
ステップ1: サブドメイン上のウェブサイトをバックアップする
まず第一に、バックアップが必要です。
どれだけ自信があろうと、この移行がどれほど単純に見えようと、必ずバックアップから始めなさい。予期せぬ事態が起きた時の保険となるのです。
手動で行うことも可能です。サーバーにFTP接続し、WordPressのファイルをすべてダウンロードし、phpMyAdminでデータベースをエクスポートし、何も見落とさないことを祈るしかありません。
しかし、この方法は面倒で、驚くほど失敗しやすい。フォルダを一つでも見落とすか、間違ったデータベーステーブルをエクスポートするだけで、何時間もトラブルシューティングに追われることになる。
ここでDuplicatorが非常に役立ちます。これはバックアッププラグインであり、このチュートリアルの後半でサイトの移行にも役立ちます。
WordPressダッシュボードからDuplicatorプラグインをインストールしてください(この時点ではまだサブドメイン上にいます)。有効化後、Duplicator » バックアップに移動し、「新規追加」をクリックします。

ストレージ設定で「ローカル」を選択すると、バックアップをすぐにダウンロードできます。安全な場所に追加のバックアップを保存したい場合は、クラウドストレージ(Duplicator Cloudをお勧めします)を選択することも可能です。

次に、フルサイトバックアッププリセットを選択し、[次へ]をクリックします。

プラグインがサイトをスキャンします。続行するには「バックアップを作成」をクリックしてください。

現在、Duplicatorはサブドメイン上の全データを2つのファイルにまとめます:
- アーカイブファイル:WordPressの全ファイルとデータを含む.zipファイル
- インストーラー.phpファイル:メインドメイン上で全てのファイルを解凍しインストールするスクリプト
両方のファイルをコンピュータにダウンロードしてください。これでサブドメインサイトの完全なスナップショットが取得できました。

ステップ2: バックアップをメインドメインにアップロードする
次に、それらの2つのバックアップファイルをメインドメインのサーバーにアップロードする必要があります。
FTPまたはcPanelを使用して、メインドメインのルートディレクトリに移動します。これは通常、ホストによってpublic_htmlまたは wwwと呼ばれます。
cPanelをご利用の場合、ファイルマネージャーが最も手っ取り早い方法です。FTPを好む場合は、FileZillaが完璧に機能します。
重要な点はここです:このディレクトリは空である必要があります。
以前のインストールやプレースホルダーサイトから古いWordPressファイルが残っている場合は、それらを削除してください。Duplicatorは正常に動作するためにクリーンな状態が必要です。
ディレクトリが空になったら、Duplicatorのバックアップファイルを両方ともアップロードしてください。

ブラウザを開き、yourdomain.com/installer.phpにアクセスしてください(「yourdomain.com」を実際のメインドメインに置き換えてください)。
これにより、複製ツールのインストーラーがすぐに開きます。

次にデータベース情報の入力画面が表示されます。ここで必要なのは、メインドメイン上に新しく作成した空のデータベースの認証情報です。サブドメインのデータベースを使用しようとしないでください。新しい認証情報が必要です。

データベースの認証情報をインストーラーのフォームに入力してください。下部にある「検証」をクリックしてください。
Duplicatorは直ちに互換性チェックを実行します。サーバー設定を確認し、PHPバージョンやファイル権限など、すべてが適切に構成されていることを確認します。

利用規約と通知に同意し、インストールを続行してください。
ポップアップウィンドウでインストールを確認してください。

インストーラーはすべてのファイルを抽出し、更新されたURLでデータベースをインポートし、メインドメインにWordPressを設定します。
成功メッセージが表示されたら、サイトは移動されました。

ステップ3: URL設定が正しいことを確認する
移行作業において、Duplicatorは自動的に古いサブドメインURLと新しいメインドメインURLを検出します。データベース全体に対して完全な検索と置換を実行し、古いサブドメインへの参照を新しいドメインに更新します。
これには画像のパス、内部リンク、プラグインの設定、テーマの設定など、新しいドメインを指す必要があるすべての要素が含まれます。
これを手動で行うには、慎重なSQLクエリを実行し、何も壊さないことを祈る必要があります。Duplicatorなら数秒で処理します。
ただし、wp-config.phpファイルは再度確認しておくべきです。
これはWordPressのメイン設定ファイルであり、データベース接続やサイト設定に関する重要な情報が含まれています。Duplicatorがほとんどの作業を処理しますが、すべてが正しく見えることを確認する価値があります。
メインドメインのルートディレクトリ(インストーラーファイルをアップロードした場所)に移動し、wp-config.phpを開きます。cPanelのファイルマネージャーまたはFTPクライアントから行うことができます。
以下の行を探してください:
define('DB_NAME', 'database_name');
define('DB_USER', 'database_user');
define('DB_PASSWORD', 'database_password');
define('DB_HOST', 'localhost');
これらがメインドメイン用に作成した新しいデータベース認証情報と一致していることを確認してください。
Duplicatorのインストールプロセス中に正しく入力していれば、既に適切に設定されているはずです。しかし、何か問題があった場合や修正が必要な場合は、ここで設定を行います。
また、古いサブドメインURLへのハードコードされた参照がないか確認してください。ファイル内で「subdomain.yourdomain.com」を含む行を探してください。
ほとんどの場合、Duplicatorはこれらを自動的に更新しますが、カスタム設定や手動で追加されたコードがまれに見落とされることがあります。
古いサブドメインの参照を見つけたら、新しいメインドメインのURLに置き換えてください。
変更を加えた場合はファイルを保存してください。
もう一点確認すべき点:一部のWordPress設定には、以下のような特定のドメイン定義が含まれている場合があります:
define('WP_HOME', 'http://subdomain.yourdomain.com');
define('WP_SITEURL', 'http://subdomain.yourdomain.com');
メインドメインを反映するように更新してください。
ステップ4: 移行後のテスト
まだ祝うのは早いです。すべてが正常に動作することを確認する必要があります。
yourdomain.com/wp-adminにアクセスし、サブドメインで使用していたのと同じユーザー名とパスワードを使用してください。認証情報は変更されません。変更されるのはドメインのみです。
Duplicatorが起動したら、クリーンアップのプロンプトが表示されます。この手順をスキップしないでください。
ルートディレクトリに放置されているインストーラーファイルはセキュリティリスクです。それらを発見した者は、サイトを再インストールしたり機密情報にアクセスしたりする可能性があります。

ボタンをクリックしてインストールファイルを削除してください。Duplicatorが自動的に削除します。
次に、パーマリンクを再生成してください。
WordPressダッシュボードの「設定」>「固定リンク」に移動してください。何も変更せずに、ページ下部の「変更を保存」をクリックしてください。

これによりリライトルールが再生成され、投稿やページでの404エラーが防止されます。わずか2秒で完了し、後でイライラするトラブルシューティング作業から解放されます。
訪問者のようにサイトを閲覧してください。
メニューをクリックして確認してください。いくつかのブログ記事を開いてください。画像が読み込まれていることを確認してください。コンタクトフォームがある場合はテストしてください。サブドメイン時と同じ見た目と機能であることを確認してください。
何かおかしいと感じたら——プラグインが正しく動作していないとか、カスタム設定がおかしいとか——その時点で気づくべきです。
ステップ5: リダイレクトの設定
メインドメインでサイトが公開されていますが、あと1つの手順が残っています。
サブドメインをブックマークした人や検索エンジン経由で発見した人は、引き続きsubdomain.yourdomain.com にアクセスしようとします。
検索エンジンは、古いサブドメインのURLをまだインデックスしている可能性があります。コンテンツが恒久的に移動したことを、ブラウザと検索エンジンの両方に通知する必要があります。
それが301リダイレクトの役割です。
サブドメインのサーバー(メインドメインではない)の.htaccessファイルにリダイレクトコードを追加する必要があります。
このコードを追加してください:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^yoursubdomain\.example\.com$ [NC]
RewriteRule ^(.*)$ "http://example.com/$1" [R=301,L]
</IfModule>
「yoursubdomain.example.com」をあなたのサブドメインに、「example.com」をあなたのメインドメインに置き換えてください。
ファイルを保存する。
誰かがsubdomain.yourdomain.com/about にアクセスすると、自動的にyourdomain.com/about にリダイレクトされます。検索エンジンは 301 ステータスコードを認識し、コンテンツが恒久的に移動したことを理解します。これにより、SEO 価値が新しい URL に引き継がれます。
このリダイレクトは、無期限にそのままにしておくべきです。有効なままにしておくことにデメリットはありません。
よくある質問 (FAQ)
cPanelでサブドメインをメインドメインに移動するにはどうすればよいですか?
Duplicatorでサブドメインサイトのバックアップを作成し、両方のバックアップファイルをダウンロードします。cPanelのファイルマネージャーを使用して、これらをメインドメインのルートディレクトリにアップロードします。cPanelでメインドメイン用の新しいデータベースを作成します。新しいブラウザウィンドウでyourdomain.com/installer.phpにアクセスし、Duplicatorのインストール手順に従います。
DuplicatorはWordPress固有の移行作業を処理し、cPanelは必要なホスティング環境ツールを提供します。
WordPressサイトを新しいドメインに移行するにはどうすればよいですか?
サブドメインからメインドメインへ、全く異なるドメイン間、あるいは異なるホスティングプロバイダー間での移行であっても、手順は全く同じです。Duplicatorを使用して元のサイトをバックアップし、これらのファイルをダウンロードして、新しいルートディレクトリにアップロードします。Duplicatorの検索と置換機能は、あらゆるドメイン変更に対応します。
WordPressサイトを移行するのに最適な無料プラグインは何ですか?
Duplicatorには無料版があり、無料でサイトを移行できます。数百万のアクティブインストール数を誇り、標準的な移行に必要な機能をすべて備えています。Duplicator Proのより使いやすいドラッグ&ドロップ方式の移行機能が必要な場合のみ、アップグレードを検討してください。
サブドメインはSEOに悪影響を及ぼすのか?
それ自体は悪いものではありませんが、SEOの権威を分散させてしまいます。Googleなどの検索エンジンはサブドメインをメインドメインとは別の存在として扱います。blog.yoursite.comにコンテンツを公開すると、yoursite.comではなくそのサブドメインのバックリンクと権威を構築することになります。 すべてのコンテンツをメインドメイン(ルートディレクトリまたはサブディレクトリ:yoursite.com/blogなど)に移行することで、権威を単一ドメインに集約できます。これにより、長期的に見てSEO効果が向上する傾向があります。
サブドメインをメインドメインにリダイレクトするにはどうすればよいですか?
サブドメインの.htaccessファイルで301リダイレクトを設定してください。このリダイレクトにより、検索エンジンやブラウザに対してコンテンツが新しい場所へ恒久的に移動したことを通知します。設定はメインドメインではなく、サブドメインのサーバー上で行ってください。古いリンクやブックマークが引き続き機能するよう、リダイレクトは永続的に有効にしておく必要があります。
サイトが公開されました―さて、次は?
やったね!
あなたのWordPressサイトは、サブドメインからメインドメインへの移行を、コンテンツの破損や喪失、手動でのファイル移動に伴う煩わしさなしに完了しました。
これはプロの開発者がクライアントサイトを公開する際に用いるのと同じプロセスです。あなたが今行った技術的な移行作業は、誰かに依頼すれば数百ドルかかる作業でした。
Duplicatorは、データベースの検索と置換、ファイル抽出、URL更新といった複雑な作業を自動化することでこれを可能にしました。
将来的にさらに多くの移行作業が必要になった場合や、複数のWordPressサイトを管理している場合は、Duplicator Proの導入を検討するとよいでしょう。Pro版では、スケジュールされたバックアップ、クラウドストレージとの連携(Duplicator Cloud、Google Drive、Dropbox、Amazon S3)、大規模サイトへの対応といった機能が追加されます。
特に、サイトを定期的に移行する代理店や開発者、あるいはクライアント向けに堅牢なバックアップ手順を維持する必要がある方々に有用です。
ここにいる間、私はあなたがこれらの他のWordPressリソースを気に入ると思います: