1. はじめに
サブドメインにWordPressサイトを作ってから、サーバー内のインストール場所を間違えたことに気づきました。 public_html/sub.domain.com/のような場所にインストールするつもりが、public_html直下に配置されていました。 サーバー内部のディレクトリは変更するけど、外部からアクセスするURLはそのままです。これを移動する場合に、気をつけるべきことはありますか?どのような手順で実行したらいいですか? まずは、どのレンタルサーバーでも共通する考え方、おおまかな手順を教えてください。
レンタルサーバーでWordPressサイトを運用していて、インストール場所を間違えたことに気づきました。サブドメイン用に作ったはずのサイトが、サーバーのルートディレクトリ(public_html直下)にインストールされていた、というケースです。
これを正しい場所に移動したいとき、どのような考え方で対処すればよいのでしょうか。この記事では、サブドメイン用のWordPressサイトを適切な場所に移動する際の基本的な考え方と手順を共有します。
2. サブドメインとドキュメントルートの関係
まず理解しておきたいのが、「サブドメイン」と「ドキュメントルート」の関係です。
サブドメインとは、メインドメインの前に付ける部分のことで、例えば「sub.domain.com」の「sub」の部分です。このサブドメインにアクセスされたとき、どのフォルダの内容を表示するかを決めるのが「ドキュメントルート」という設定です。
2.1. DNSとドキュメントルートの違い
ウェブサイトにアクセスする仕組みを理解するには、DNSとドキュメントルートの違いを知ることが重要です。
DNSの役割:
- ユーザーが「sub.domain.com」とブラウザに入力
- DNSサーバーがこのドメイン名を「123.456.789.012」のようなIPアドレスに変換
- リクエストが該当するサーバーに送られる
これは住所と建物の関係に似ています。「東京都渋谷区〇〇町1-2-3」という住所(ドメイン名)が、実際の建物の場所(IPアドレス)を示すようなものです。DNSはただ「どこに行けばいいか」を教えるだけで、その建物の中でどの部屋に案内するかまでは決めません。
ドキュメントルートの役割:
- リクエストを受け取ったサーバーが「sub.domain.com」というドメインを確認
- サーバー設定で「このドメインなら/public_html/sub.domain.com/フォルダを見せる」と決められている
- そのフォルダ内の内容(通常はindex.phpやindex.html)を表示
これは建物の受付係のようなもので、「この名前のお客様はこの部屋にご案内してください」という指示書に従って案内しているイメージです。
実際の設定は、レンタルサーバーのコントロールパネルで行います。例えば:
- サブドメイン名:「sub」(.domain.comの前の部分)
- ドキュメントルート:「/public_html/sub.domain.com/」(サーバー内の実際のフォルダパス)
このように設定すると、「sub.domain.com」へのアクセスは、サーバー内の「/public_html/sub.domain.com/」フォルダの内容を表示します。
- DNSはインターネット全体の仕組みであり、サーバーまでの道案内役。
- ドキュメントルートはサーバー内部の設定で、フォルダへの案内役です。
両者は全く別のレイヤーで動作しています。この関係を理解すると、WordPressサイトの移動が単純になります。
2.2. WordPressのデータベースとURLの関係
WordPressのデータベースには、サイトのURLとコンテンツへのマッピング情報が保存されています。具体的には:
- サイトのベースURL(wp_optionsテーブルのsiteurlとhomeの値)
- 記事やページ内のリンクや画像のパス
これらは「外部から見えるURL」を基準にしているため、サーバー内部のフォルダ構造が変わっても、外部から見たURLが同じなら、データベースは変更する必要がありません。
WordPressは自分がインストールされている場所を「ルート」として扱います。つまり、WordPressから見ると、ドキュメントルートに設定されたディレクトリが「/」(ルート)として認識されるのです。まるで引っ越しをしても、新しい家が「自分の家」になるようなものです。
3. サブドメインへの移動手順
それでは、具体的な移動手順を見ていきましょう。ここでは、外部からのURLを変えずに、サーバー内のディレクトリだけを変更する場合を想定します。
3.1. 1. バックアップを取る
何よりも先に、現在のサイトのバックアップを取りましょう。ファイルとデータベースの両方をバックアップしておくと安心です。これは万が一のために必須の手順です。
3.2. 2. サブドメインのドキュメントルート設定
FTPソフトで接続して、レンタルサーバーにpublic_html/sub.domain.com/のディレクトリを作成します。
レンタルサーバーのコントロールパネルで、サブドメイン「sub.domain.com」のドキュメントルートが「public_html/sub.domain.com/」を指すように設定します。
この設定は、レンタルサーバーのコントロールパネルにある「サブドメイン設定」や「ドメイン管理」などのメニューから行えます。サーバーによって名称は異なりますが、サブドメイン名とそのドキュメントルート(表示するディレクトリ)を関連付ける設定です。
これで、空のディレクトリにアクセスするように変更したことになり、サイトにアクセスするとエラーに変わるはずです。しかし、変更直後は、しばらくは元のままです。これは、サーバーのドキュメントルート設定の変更が反映されるのに少し時間がかかるからです。
3.3. 3. ファイルの移動
次にファイルの引っ越しです。FTPソフトを使って、現在のファイルをすべて移動します。
例:
public_html/ (現在のWordPressファイルがここにある)
↓
public_html/sub.domain.com/ (ここに移動)
元のpublic_html をサイトとして公開していないなら、話はかんたんです。ほかのサイト用のディレクトリを除いたすべてのファイル・ディレクトリを選択して、新しいディレクトリにドラッグ&ドロップするだけです。
3.4. 4. 動作確認
移動が完了したら、サブドメインにアクセスして、サイトが正常に表示されるか確認します。特に以下の点をチェックします:
- トップページが表示されるか
- 内部リンクが正常に動作するか
- 画像が表示されるか
うまくいかないときは、特に絶対パスを使用している設定がないかwp-config.phpを確認します。多くの場合は相対パスで設定されているので、修正の必要はありません。
4. まとめ
サブドメインへのWordPress移動は、データベースの内容を変更せずに行えることがポイントです。外部から見たURLが変わらなければ、サーバー内部のフォルダ構造を変えても、WordPressは問題なく動作します。
重要なのは、サブドメインのドキュメントルート設定を新しいフォルダに合わせて変更することです。WordPressは自分がどこにインストールされているかを気にせず、ドキュメントルートとして設定されたディレクトリを基準に動作するからです。
この仕組みを理解すれば、サーバー内でのWordPressサイトの移動や整理が、ずっとシンプルに行えるようになります。