WordPressをサブディレクトリに設置しよう!
WordPressをインストールするとき、サーバーのルートディレクトリ(一番上の階層)にそのまま入れていませんか?
動作上は問題ありませんが、ルート直下にWordPressのファイルがずらっと並ぶと、あとからの管理がとても大変になります。サブディレクトリ(下位フォルダ)にインストールする方法を知っておくと、サイトの構成をすっきり保てます。
今回は、WordPressをサブディレクトリに設置して、公開URLはルートのまま表示する方法を紹介します。
なぜサブディレクトリにインストールするのか
WordPressをルートディレクトリにインストールすると、サーバーの一番上の階層にWordPressのファイルが大量に展開されます。wp-config.php、wp-login.php、wp-includes フォルダなど、WordPress本体のファイルだけで20個以上になります。
ここに自分で作ったファイルや、WordPress以外のシステムのフォルダが加わると、何がWordPressのファイルで何がそうでないかの判別が面倒になります。
サブディレクトリに入れておくと、以下のメリットがあります。
- フォルダ構成が整理される — WordPress本体のファイルが1つのフォルダにまとまるので、ルートディレクトリがすっきりする
- サイトの移行がしやすい — WordPressのフォルダごと移動すればいいので、サーバー移行や環境の複製が楽になる
- 複数サイトの共存がしやすい — 同じドメインの下に別のWordPressやLPを追加するときも、フォルダを分けて管理できる
- セキュリティ上の配慮 — WordPressの管理ファイルがルート直下にないことで、攻撃対象になりにくくなる
特にクライアントワークでは、納品後にサイトの構成を変更したり、別のコンテンツを追加したりするケースが出てきます。最初からサブディレクトリで構築しておくと、そうした変更にも柔軟に対応できます。
サブディレクトリへのインストール手順
WordPressをインストールするとき、インストール先のディレクトリ名を指定するだけで、サブディレクトリへの設置ができます。ディレクトリ名は /wp にするのが一般的です。
設定方法はサーバー会社によって異なります。多くのレンタルサーバーでは、WordPress簡単インストール機能の中に「インストール先ディレクトリ」の入力欄があります。
- エックスサーバー — 「WordPress簡単インストール」の設定画面で、インストール先URLの末尾にディレクトリ名を入力
- ConoHa WING — 「WordPressインストール」の設定画面で、URLの末尾にディレクトリ名を入力
- さくらのレンタルサーバ — 「クイックインストール」で、インストール先にディレクトリ名を指定
この記事では、/wp にWordPressを設置した前提で説明を進めます。
公開URLからサブディレクトリを消す設定
サブディレクトリにインストールしたままだと、公開URLが https://example.com/wp になります。ユーザーがアクセスするURLは https://example.com にしたいので、ここからが重要な設定です。
やることは3つです。
- 管理画面で「サイトアドレス」を変更する
- サブディレクトリの
index.phpを編集してルートに設置する .htaccessをルートに設置する
管理画面の設定
まず、WordPressの管理画面で2つのURLの設定を確認します。管理画面のサイドバーから「設定」→「一般」を開いてください。
2つのURL設定欄があります。
- WordPressアドレス(URL) — WordPress本体がインストールされている場所。サブディレクトリのパスが入っているのが正しい状態
- サイトアドレス(URL) — ユーザーがブラウザでアクセスするときのURL。こちらをルートディレクトリに変更する
変更前
WordPressアドレス:https://example.com/wp
サイトアドレス :https://example.com/wp変更後(サイトアドレスから /wp を削除する)
WordPressアドレス:https://example.com/wp ← そのまま
サイトアドレス :https://example.com ← /wp を削除WordPressアドレスは絶対に変更しないでください。ここを間違えると、管理画面にアクセスできなくなることがあります。変更するのは「サイトアドレス」だけです。
変更を保存すると、一時的にサイトが表示されなくなりますが、次の手順を完了すれば表示されるようになるので安心してください。
index.phpと.htaccessの設定
次に、FTPソフト(FileZillaなど)でサーバーに接続し、サブディレクトリ(/wp)の中にある index.php と .htaccess をダウンロードします。
ダウンロードした index.php を開いて、1箇所だけコードを変更します。
変更前
require __DIR__ . '/wp-blog-header.php';変更後
require __DIR__ . '/wp/wp-blog-header.php';/wp-blog-header.php の前にサブディレクトリ名 /wp を追加するだけです。これによって、ルートディレクトリに置いた index.php が、サブディレクトリ内のWordPress本体を正しく読み込めるようになります。
コードを変更したら、以下の2つのファイルをルートディレクトリにアップロードしてください。
index.php(コードを変更したもの).htaccess(ダウンロードしたそのまま)
サブディレクトリ内の index.php と .htaccess はそのまま残しておいて大丈夫です。削除する必要はありません。
設定後の確認
アップロードが完了したら、以下の3点を確認してください。
https://example.comにアクセスして、サイトのトップページが表示されるかhttps://example.com/wp/wp-adminにアクセスして、管理画面にログインできるか- 各ページのリンクをクリックして、正常に遷移するか
もしトップページが表示されない場合は、index.php のコード変更が正しいか、アップロード先がルートディレクトリになっているかを確認してください。
まとめ
WordPressのサブディレクトリ設置は、最初にひと手間かけるだけで、あとあとの管理がずっと楽になります。
やることは3ステップです。
- インストール時にサブディレクトリ(
/wp)を指定する - 管理画面で「サイトアドレス」からサブディレクトリを削除する
index.phpのパスを修正して、.htaccessと一緒にルートにアップロードする
サイトの「見た目」には一切影響しない作業ですが、フォルダ構成が整っているかどうかは、運用フェーズに入ってから効いてきます。サーバー移行や構成変更のときに「最初からこうしておいてよかった」と思える、地味だけど大事な設定です。次にWordPressを新規構築するときは、ぜひサブディレクトリでの設置を試してみてください。