MySQLデータベースのWordPressテーブル接頭辞を変更すると、デフォルトのテーブル名を標的とするSQLインジェクション攻撃のリスクが減り、セキュリティが向上します。安全かつ効率的に行う方法をご紹介します。
Contents
ステップ1:データベースをバックアップする
変更を加える前にウェブサイトをバックアップし、何か問題が発生した場合に素早く復元できるようにしてください。WP Stagingのようなツールを使えば、自動バックアップの設定が簡単です。詳細なガイドについては、バックアップと復元ガイドをご覧ください。
ステップ2:wp-config.phpファイルを更新する
FTP(FileZillaのようなクライアント経由)またはホスティングコントロールパネルのファイルマネージャーを使用して、ウェブサイトのファイルにアクセスします。

WordPressインストールのルートディレクトリに移動し、wp-config.phpファイルを見つけて編集用に開きます。

この行を見つけます:
$table_prefix = 'wp_';
**’wp_’を‘wpsecure_’**のような一意の接頭辞に変更し、ファイルを保存します。
$table_prefix = 'wpsecure_';
ステップ3:データベーステーブル名を変更する
wp-config.phpを更新したら、データベース内のテーブル名を変更します。
phpMyAdminでSQLクエリを使用する:
phpMyAdminを開き、データベースを選択し、SQLタブに移動します。次のクエリを実行し、プレースホルダを実際のデータベース名と接頭辞に置き換えます。
SET @database = "your_database_name";
SET @oldprefix = "wp_";
SET @newprefix = "wpsecure_";
SELECT
CONCAT(
"RENAME TABLE ",
TABLE_NAME,
" TO ",
REPLACE(TABLE_NAME, @oldprefix, @newprefix),
';'
) AS "SQL"
FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;
このクエリは次のようなSQLコマンドを生成します:
RENAME TABLE wp_options TO wpsecure_options;
RENAME TABLE wp_users TO wpsecure_users;生成されたこれらのクエリをコピーして実行し、テーブル名を変更します。
ステップ4:テーブル参照を更新する
wp_optionsやwp_usermetaなどの一部のWordPressテーブルには、古い接頭辞への参照が含まれています。
参照を更新するために次のクエリを実行します:
UPDATE `wpsecure_usermeta`
SET meta_key = REPLACE(meta_key, 'wp_', 'wpsecure_')
WHERE meta_key LIKE 'wp_%';
UPDATE `wpsecure_options`
SET option_name = REPLACE(option_name, 'wp_', 'wpsecure_')
WHERE option_name LIKE 'wp_%';ステップ5:サイトを検証してテストする
ブラウザのキャッシュをクリアし、WordPress管理パネルにログインします。投稿、ページ、プラグイン、およびサイト全体の機能を確認します。問題が発生した場合は、wp-config.phpファイルと最近のデータベース変更を確認します。
以上です。
最後に
WordPressテーブル接頭辞の変更は、シンプルですが効果的なセキュリティ対策です。ただし、WordPressを最新の状態に保つこと、強力なパスワードを使用すること、ファイアウォールを実装することなど、他のセキュリティ対策と組み合わせる必要があります。
これらの手順を慎重に従うことで、サイトを壊すことなくWordPressテーブル接頭辞を正常に変更できます。
より詳細な技術記事はこちらをご覧ください:
WordPressテーブル接頭辞の名前を変更する方法