WordPress(ワードプレス)サイトへのスパム攻撃は、WordPressがルートディレクトリにあることを想定して行われます。
WordPressの置き場所をサブディレクトリに移動するだけでも、多くのスパム攻撃を避けられるセキュリティ対策になります。
でも、URLを見たらWordPressの置き場所がわかるんじゃない?
WordPressをサブディレクトリに置いていることを隠す方法があります
WordPressサイトでサブディレクトリがURLに表示されない方法を解説していきます。
この記事を書いた人
当ブログの信頼性・成長記録(開く)
【2023年2月5日】
過去28日間でGoogle検索における当ブログへのクリック数が6K(6000)クリックに到達しました。
- WordPressサイトでサブディレクトリがURLに表示されない方法
- サーバー上にあるファイルのダウンロード/アップロード、編集に役立つツール
「サブディレクトリをURLに表示しない」とは
当ブログのURLを例にすると
https://saishono.blog/test1/ ではなく
https://saishono.blog/ にアクセスするとトップページが表示される
※ test1という名前のサブディレクトリにWordPressをインストールした場合
今回は、https://saishono.blog/ というドメインのサブディレクトリ「test1」にWordPress(ワードプレス)をインストールしたとします。
何もしなければ、https://saishono.blog/test1/ にアクセスするとサイトのトップページが表示されます。
これを、サブディレクトリのtest1を外したURL(https://saishono.blog/)にアクセスしたとき、サイトのトップページが表示されるようにします。
▼ルートディレクトリ、サブディレクトリとは
サーバー上のファイルをダウンロード/アップロードする方法
WordPress(ワードプレス)をサブディレクトリにインストールすると、サブディレクトリに「index.php」と「.htaccess」というファイルが作成されます。
このサーバー上の「index.php」と「.htaccess」を編集するためにダウンロード/アップロードします。
サーバーにあるファイルのダウンロード/アップロード方法は、レンタルサーバーで用意されているファイルマネージャーを使ってもいいですし、FTPソフトを使ってもかまいません。
FTPソフトはFileZillaが有名です
▼FTPソフトの設定と使い方
サーバー上のファイルを編集する方法
ダウンロードした「index.php」「.htaccess」ファイルを編集するにはコードエディタが便利です。
コードエディタはVSCodeがおすすめです
▼コードエディタの設定と使い方
サブディレクトリをURLに表示しない設定の手順
サブディレクトリをURLに表示しない設定の手順は次のとおりです。
- WordPressの管理画面でサブディレクトリを消す
- index.phpファイルの編集とアップロード
- .htaccessファイルの編集とアップロード
- Webサイトにアクセスして確認する
1つずつ見ていきますね。
WordPressの管理画面でサブディレクトリを消す
WordPress(ワードプレス)の管理画面にログインします。
①管理画面の左側にあるメニュー[設定]⇒[一般]をクリックします。
②一般設定画面の項目「サイトアドレス(URL)」にあるサブディレクトリ「test1」を消します。
③設定を保存します。
一般設定画面の項目「WordPressアドレス(URL)」にある「test1」はそのまま残します。
index.phpファイルの編集とアップロード
サーバーのtest1フォルダの中にある「index.php」ファイルをダウンロードして、開きます。
require __DIR__ . '/wp-blog-header.php';
上記のコードを探して、test1を「/」の前に追加します。
追加すると、次のようになります。
index.php ファイルを保存してサーバーにアップロードします。
アップロード先は、サブディレクトリではなくルートディレクトリにします。
変更内容のまとめ
【変更前】 | ‘/wp-blog-header.php’; |
【変更後】 | ‘各自のサブディレクトリ名/wp-blog-header.php’; |
.htaccessファイルの編集とアップロード
サーバーのtest1フォルダの中にある「.htaccess」ファイルをダウンロードして、開きます。
RewriteBase /test1/
RewriteRule . /test1/index.php [L]
上記のコード(2つ)を探して、test1を削除します。
削除すると、次のようになります。
.htaccess ファイルを保存してサーバーにアップロードします。
アップロード先は、サブディレクトリではなくルートディレクトリにします。
変更内容のまとめ
【変更前】 | RewriteBase /各自のサブディレクト名/ RewriteRule . /各自のサブディレクトリ名/index.php [L] |
【変更後】 | RewriteBase / RewriteRule . /index.php [L] |
Webサイトにアクセスして確認する
上記の設定をしたのち、Webサイトにアクセスしてみます。
サブディレクトリを外したURL(当ブログでは https://saishono.blog/)にアクセスして、サイトのトップページが表示されたら完了です。
なお、WordPress(ワードプレス)のログインURLと管理画面URLは、サブディレクトリがあるもの(当ブログの例では https://saishono.blog/test1/)になります。
WordPressログインURLのセキュリティ対策は下記の記事をご覧ください
▼WordPressログインURLを変更する方法