【小技】wp-content ディレクトリを初期設定とは異なる場所に設置する方法
WordPress は、世界中の 25% もの Web サイトで使われている CMS にまで成長しました。
ここまで有名になると、世界中のクラッカーからの攻撃に晒されやすくなります。
話は逸れますが、ハッカーの本来の意味は、
普通のコンピュータ利用者なら知らずに済むようなシステムやネットワークの内部の働きに通じ、その上を行くのを喜びとする人
の事を指します。
本来の意味としては、クラッカーが該当します。
コンピュータについての高度な知識や技能を悪用し、他者のコンピュータや通信ネットワークに不正に侵入、操作したり、データを不正に取得、改竄、消去したりする者
さて、話しを戻すとクラッカー達は、WordPress の脆弱性を狙って色々な攻撃を仕掛けてきます。
WordPress 本体に脆弱性が発見されても比較的早く対応が施されるので、
セキュリティパッチを必ず当てていれば、基本的には大丈夫です。
WordPress 公式などで入手できるテーマやプラグインにも脆弱性が発見される場合もあります。
しなしながら、開発が既に終了していたり、
最終更新日から 2 年も経過したような状況では対策が施される可能性は低いでしょう。
そうするとクラッカー達は、
そのテーマやプラグインが使われているサイトを探そうとします。
そのテーマやプラグイン、そしてアップロードしたファイルの保存先は、
WordPress のデフォルト設定では、wp-content ディレクトリ配下なのは周知の事実です。
なので、WordPress サイトを公開する際には、
wp-content ディレクトリをデフォルトから場所を変えておくと、
クラッカーから攻撃されるリスクは下がります。
wp-content ディレクトリの移動は簡単です。
wp-content ディレクトリの移動方法
WordPress バージョン 2.6 以降では、
wp-content ディレクトリを WordPress ディレクトリの外へ移動できるようになりました。
設定方法も簡単で、wp-config.php を開いて、
require_once(ABSPATH . 'wp-settings.php');
の直前にそれぞれ下記の宣言を行うだけです。
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );
もしくは、
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');
プラグインディレクトリやアップロードディレクトリも同様にデフォルトから移動できます。
プラグインディレクトリは、下記の宣言を行います。
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/plugins' );
もしくは、
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
アップロードディレクトリは、下記の宣言を行います。
define( 'UPLOADS', 'wp-content/media' );
テーマディレクトリは、wp-content ディレクトリの外には移動できない仕様になっていて、
register_theme_directory 関数を使用して追加のテーマディレクトリを登録できます。
詳しい解説などは、下記の URL を参照して下さい。