
はじめに
WordPressは手軽にウェブサイトを構築できるCMSとして広く普及しています。 多くの場合、ドメインのルートディレクトリにインストールされることが一般的です。
しかし、ルートディレクトリにWordPressをインストールすると、多数のシステムファイルやフォルダが生成され、サーバーのファイル管理が煩雑になりがちです。また、WordPressの知名度の高さから、ルートに設置されたWordPressサイトはセキュリティ攻撃のターゲットになりやすいという問題もあります。
この記事では、WordPressをサブディレクトリに設置しながら、ユーザーにはルートURLでサイトを表示させる方法を紹介します。
WordPressをサブディレクトリに設置するメリット
WordPressをサブディレクトリに設置することでどのようなメリットがあるのか、改めてまとめます。
- ファイルの管理が簡単になる WordPressをインストールすると、コアファイル、テーマ、プラグイン関連など、数多くのシステムファイルがサーバー上に生成されます。これらがルートディレクトリに直接配置されると、以下のような状況で管理が困難になります
- 複数のWordPressサイトを運用する場合
- WordPressと他のシステム(例:ECサイト、社内システムなど)を併用する場合
- 静的HTMLページと共存させる場合
- セキュリティ上強くなる WordPressは世界で最も利用されているCMSであるため、セキュリティ攻撃の標的になりやすいというデメリットがあります。多くの攻撃は、WordPressがドメインのルートにインストールされていることを前提としています。 サブディレクトリに設置することで、セキュリティリスクを低減できます。この時、サブディレクトリは”wordpress”や”wp”など、予測しやすいものは避けると良いでしょう。これだけで全て防げるというわけではありませんが、1つの対策にはなるかと思います。
サブディレクトリ設置したWordPressのURL変更方法
それでは、具体的にどのように変更するのかを説明していきます。ここからは https://abcd.com/wp
にWordPressをインストールしているという仮定で説明していきます。
- WordPress管理画面でURLの変更
WordPressの管理画面にログインし、「設定」→「一般」へ進みます、サイトアドレス(URL):をルートURL(例:https://abcd.com
)に変更します。WordPress アドレス(URL)は、インストールされているディレクトリのURLのままにします。
設定を変更したら、「変更を保存」をで保存します
- ファイルのルートへの複製
サブディレクトリ直下にあるindex.php
と.htaccess
ファイルを、ルートディレクトリ直下に複製します。
- index.phpファイル編集
index.php
ファイルを開き、wp-blog-header.php
のパスを変更します。
wp-blog-header.php
の前にサブディレクトリ名を追加します。
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
- サブディレクトリの.htaccessファイルを編集
サブディレクトリ直下に保存されている.htaccess
ファイルを開き、RewriteBaseおよびRewriteRuleのパスから、サブディレクトリ名を削除します。
ここからサブディレクトリ名を削除します。
RewriteBase /
RewriteRule . /index.php [L]
- サイト表示の確認
以上の手順が完了したら、サイトにアクセスして確認しましょう。 問題なくサイトにアクセスできていれば成功です。
終わりに
サブディレクトリに設置したWordPressのURLの変更方法を紹介しました。少し手間がかかりますが、ファイル管理とセキュリティの観点からメリットがあるため、採用してみてください。