WordPressでサイトを作る時に接頭辞(プレフィックス)の設定ってデフォルトの状態でやりがちです。だって、特に「変更して下さい」なんて記載がないから。

サイト作成時に変更しておけば、これから解説する面倒な作業をする必要なんてないのですが、作ってしまったものは仕方がないのでサイト運営状態での接頭辞(プレフィックス)の変更方法を解説します。しっかり理解するのは難しいですが、プラグインなら簡単です。

接頭辞(プレフィックス)とは

WordPressで投稿した記事はデータベースに格納されます。そのデータベース内でどこのサイトなのかを識別するために使われるのが接頭辞(プレフィックス)です。

1つのデータベースに対して1つのWorepressを使用するならば、識別する必要はありませんが(それでも接頭辞の設定は必要)、1つのデータベースに対して複数のWordpressを運用する場合に接頭辞の必要性が出てきます。

接頭辞(プレフィックス)を変更する理由

上で説明したように1つのデータベースに対して複数のWordpressを運用するなら、接頭辞で使い分ける必要があります。

もうひとつは、セキュリティ対策として接頭辞を変更する必要性です。Wordpressでサイト構築すると、接頭辞はデフォルトで「wp_」になっています。

これは一般的に知られていることなので、以前は”SQLインジェクション”と言われる悪意のあるデータベース攻撃が行われ、個人情報漏洩、サイト改竄される被害が多発していました。

最新のWordpressでは、その脆弱性は改善されているので接頭辞を変更する必要性はないとされています。しかし、今後どのよな脆弱性が発見されるのか分かりませんので、接頭辞はオリジナルのものに変更しておくことをおすすめします。

接頭辞(プレフィックス)の変更方法2つ

簡単なのは「All In One WP Security & Firewall」などのプラグインで変更する方法です。初心者の人はこちらの方がおすすめです。簡単といっても重要な作業になるので、必ずバックアップを取ってから行いましょう。

もうひとつはphpMyAdminから手動で変更する方法です。「wp-config.php」の書き換えも必要になってきます。初心者の人にはとっつきにくい内容です。それぞれ解説していきますので、お好きな方でやってみてください。

「All In One WP Security & Firewall」で接頭語変更するやり方

wordpressprefix-01

プラグインの「All In One WP Security & Firewall」で接頭語を変更するやり方です。初心者の人でも簡単に設定することができますし、設定が終わったらプラグインは削除しても問題ありません。

「All In One WP Security & Firewall」はセキュリティ対策として有用なプラグインなので、そのまま使うのもありです。今回は接頭語を変更するやり方のみ解説していきます。

※必ずバックアップを取得してから行ってください。

プラグインをインストールして有効化すると左側のメニューに「WP Security」が追加されます。さらにその中にある「Datebase Security」から接頭語を変更します。

wordpressprefix-02

画面の「New DB Table Prefix」の項目のチェックボックスを入れると自動でランダムな接頭語を作成してくれます。自分の設定する場合は、その下にある入力欄で設定します。

どちらでも問題ありませんが、自分で設定する場合は「○○_」のように最後はアンダーバーにします。

最後に「Change DB Prefix」をクリックして完了です。正常にサイトが表示できているか確認して下さい。

手動で接頭語を変更するやり方

手動で変更する場合は”SQL文の実行”と”wp-config.phpファイルの書き換え”の2つが必要になってきます。

接頭語を変更するSQL文の実行

phpMyAdminから入って以下のSQL文を実行します。以下のコマンドでは「wp_」を「wp555_」に変更しています。

お使いの環境によっては他にも「wp_〇〇」のテーブルが他にある場合もあるのでphpMyAdiminで確認して必要に応じて追加して下さい。

wordpressprefix-04

ALTER TABLE wp_commentmeta RENAME TO wp555_commentmeta;
ALTER TABLE wp_comments RENAME TO wp555_comments; 
ALTER TABLE wp_links RENAME TO wp555_links;
ALTER TABLE wp_options RENAME TO wp555_options; 
ALTER TABLE wp_postmeta RENAME TO wp555_postmeta;
ALTER TABLE wp_posts RENAME TO wp555_posts; 
ALTER TABLE wp_terms RENAME TO wp555_terms; 
ALTER TABLE wp_term_relationships RENAME TO wp555_term_relationships; 
ALTER TABLE wp_term_taxonomy RENAME TO wp555_term_taxonomy; 
ALTER TABLE wp_usermeta RENAME TO wp555_usermeta; 
ALTER TABLE wp_users RENAME TO wp555_users;

続いて、テーブル内のデータでも接頭語が使われているのでこちらも変更します。上と同じように「wp_」を「wp555_」に変更しています。データもお使いの環境により異なりますので、データを「wp_」で検索してヒットしたものを全て変更します。

まず、テーブルを選択して「データ」→「検索」をクリックします。

wordpressprefix-05

続いて、下の図のように「LIKE %%」を選択して「wp_」を入力して「選択」をクリックすると、「wp_」が含まれるデータが表示されます。この中で「wp_」から始まるものは接頭語を変更する必要があるものです。

wordpressprefix-06

該当するデータをUPDATE文にて「wp_」を「wp555_」に変更します。基本的に以下の6つになります。コピペして実行すると何故かエラーになるので、コピペ後、「”」(ダブルクォーテーション)を一旦消して、再入力してください。


UPDATE wp555_options SET option_name = “wp555_user_roles” WHERE option_name = “wp_user_roles”;
UPDATE wp555_usermeta SET meta_key = “wp555_capabilities” WHERE meta_key = “wp_capabilities”;
UPDATE wp555_usermeta SET meta_key = “wp555_user_level” WHERE meta_key = “wp_user_level”;
UPDATE wp555_usermeta SET meta_key = “wp555_dashboard_quick_press_last_post_id” WHERE meta_key = “wp_dashboard_quick_press_last_post_id”;
UPDATE wp555_usermeta SET meta_key = “wp555_user-settings” WHERE meta_key = “wp_user-settings”;
UPDATE wp555_usermeta SET meta_key = “wp555_user-settings-time” WHERE meta_key = “wp_user-settings-time”;

wp-config.phpファイルの書き換え

最後にwp-config.phpファイルの以下の箇所を「wp_」を「wp555_」に変更します。

wordpressprefix-07

トラブったら

画面が真っ白になったり、管理画面にアクセスできないトラブルに見舞われたらデータベース内の接頭語が変更されていない箇所がある可能性が高いです。使用しているプラグインによって影響を受ける場合があります。

変更されていない箇所があるか、くまなく探すしかありません。全く解決できないようならバックアップから復元しましょう。Wordpress本体を最新版で運用しているなら、接頭語デフォルトでも今のところは大丈夫です。

基本的にプラグインで対応することをおすすめします。手動の方法も載せておいたのはトラブった時の手がかりになるかもという思いからです。