WordPressは構成ファイルとデーターベースにより、動的にWebサイトを構築するCMSです。

記事の内容は全てデータベースに保存されているため、データベースのセキュリティ対策はWordPressのセキュリティ対策にとっても重要な要素となります。

今回解説するのは、データベースの接頭辞を変更する方法です。しかしすでにWordPressをインストールされている方は、行うべきではありません。

それはデータベースを変更することは、WordPressサイトを壊してしまう可能性があるからです。またSQLの知識も必要となります。

データベースの接頭辞を変更すべき理由

デフォルトでは、データベースの接頭辞は基本的に「wp_」で統一されています。

データベースの接頭辞の情報は、wp-config.phpファイルに記載があります。最近のレンタルサーバーでは、データベースの接頭辞をこの「wp_」と異なる接頭辞を設定するサービスもあります。

確認して「wp_」以外の文字列になっていれば、変更をする必要はありません。

もしデータベースの「ホスト名」「ユーザー名」「パスワード」が知られてしまうと、任意のデータへアクセスすることができてしまいます。

しかし接頭辞を変更しておくと、データベースへアクセスする文字列も確認する必要があります。

WordPressのデータベースの接頭辞を変更する方法

WordPressのデータベースの接頭辞を変更するには、サーバーの管理パネルより行います。

まずサーバー管理パネルへログインし、PhpMyAdminへログインします。PhpMyAdminへのログイン情報は、レンタルサーバーを契約した時のメールに記載されています。

今回はwp_とwpxxx_へと変更を行います。変更を行いたいデータベースのSQLより以下のSQLを実行します。

RENAME table `wp_commentmeta` TO `wpxxx_commentmeta`;
RENAME table `wp_comments` TO `wpxxx_comments`;
RENAME table `wp_links` TO `wpxxx_links`;
RENAME table `wp_options` TO `wpxxx_options`;
RENAME table `wp_postmeta` TO `wpxxx_postmeta`;
RENAME table `wp_posts` TO `wpxxx_posts`;
RENAME table `wp_terms` TO `wpxxx_terms`;
RENAME table `wp_termmeta` TO `wpxxx_termmeta`;
RENAME table `wp_term_relationships` TO `wpxxx_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wpxxx_term_taxonomy`;
RENAME table `wp_usermeta` TO `wpxxx_usermeta`;
RENAME table `wp_users` TO `wpxxx_users`;

続いて、以下のSQLを実行し、options_nameより変更すべき項目を探します。

SELECT * FROM `wpxxx_options` WHERE `option_name` LIKE '%wp_%'

次に、以下のSQLを実行します。meta_keyより変更すべき項目を探します。

SELECT * FROM `wpxxx_usermeta` WHERE `meta_key` LIKE '%wp_%'

参考:How to Change the WordPress Database Prefix to Improve Security(wpbeginner)