wp-config.php は WordPress の心臓.本記事ではセキュリティ・パフォーマンス・運用の3観点で必須設定を整理する.
この記事では,個人開発者・WordPress運用者・スモールチームの方を主な読み手として書いています.10分で読み終わって,明日から動ける具体的な行動が1つ見つかる状態を目指しています.
なぜ wp-config.php を見直すべきか
多くの WordPress サイトはインストール時のデフォルトのまま運用されている.これは「家を建てたまま鍵を変えずに住んでいる」ようなもの.
10行追加するだけで,攻撃面の縮小・パフォーマンス向上・運用効率化が一気に進む.wp-config.php は WordPress 運用のレバレッジが最も高いファイル.
必須1:AUTH キーをランダム生成し直す
AUTH_KEY 〜 NONCE_SALT の8つの定数はCookie/セッションの暗号化キー.インストール時のデフォルトのままはNG.
https://api.wordpress.org/secret-key/1.1/salt/で新規生成し,そのまま貼り替える.既存セッションは無効化されるが,攻撃耐性が劇的に上がる.
必須2:DB プレフィックスを wp_ 以外に
デフォルトの wp_ はSQLインジェクション攻撃の標的になりやすい.新規インストールなら$table_prefix = 'snlx_';のような独自名に.
運用中サイトの変更は手間.プラグイン(Better Search Replace)で安全に変更できるが,必ずバックアップ後に.
必須3:DISALLOW_FILE_EDIT で管理画面のコードエディタ無効化
define('DISALLOW_FILE_EDIT', true); を追加.管理画面からのテーマ・プラグインのコード編集を禁止.
管理者アカウントを乗っ取られた場合の被害を最小化.運用は SSH/FTPでのデプロイに統一する設計に合う.
必須4:WP_DEBUG を本番では確実にOFF
開発中はWP_DEBUG = true,本番では必ず false.デバッグ情報がエラー時にパスやDB構造を漏らす.
本番でログだけ取りたいならWP_DEBUG=true; WP_DEBUG_DISPLAY=false; WP_DEBUG_LOG=true;.画面には出さずファイルにだけ書く.
必須5:自動更新の制御
define('WP_AUTO_UPDATE_CORE', 'minor');.メジャー更新は手動,マイナー(セキュリティ)更新は自動.バランスが良い.
プラグイン自動更新はadd_filter('auto_update_plugin', '__return_false');で停止.本番安定が最優先のサイトは手動更新が安心.
必須6:投稿リビジョン制限
define('WP_POST_REVISIONS', 5);.デフォルトはリビジョン無制限.記事を10回保存するとDBに10件のコピーが溜まる.
5件あれば過去復元には十分.DB肥大化を防げる.既存リビジョンは WP-CLI で一括削除.
必須7:ファイルパーミッションを明示
define('FS_CHMOD_FILE', 0644); + define('FS_CHMOD_DIR', 0755);.アップロード時のパーミッションが意図通りに設定される.
誤って 777 で書かれるとサーバー全体の権限事故に繋がる.明示しておくと事故率が下がる.
補論:wp-config.php は「家の設計図」
wp-config.php は独自ドメインで建てた家の設計図.設計図を見直すだけで,家全体の安全性と効率が上がる.Git管理外に置きつつ,編集履歴は別途残す工夫を.
これからドメインを取るなら,取り扱い400種類以上のドメイン取得サービス─ムームードメイン─ でドメイン取得 → サーバーにWordPressをインストール,が王道.独自ドメインのある WordPress は資産価値が違う.
WordPress 運用のレンタルサーバーはロリポップ!がおすすめ.wp-config.php は SFTP/ファイルマネージャから直接編集できる.バックアップ機能もあるので失敗からの復旧が容易.
よくある質問
Q1:wp-config.php を git で管理するべき?
DBパスワードを含むので原則NG..gitignoreに入れる.サンプル(wp-config-sample.php)だけ管理する.
Q2:環境ごとに分けるには?
if (file_exists(__DIR__.'/wp-config.local.php')) require ...で本番/開発で分岐.DotEnv 系プラグインも可.
Q3:書き換え後にサイトが真っ白に?
構文エラーの可能性大.直前のバックアップに戻す.wp-config.php の編集は必ずバックアップを取る.
まとめ ― wp-config.php は「10行で資産防御」
大事なのは,「正解を完璧に押さえる」ことではなく「動き始める」ことです.今日,自分のwp-config.phpを開いて,AUTH キーをランダムに張り替えるところから始めましょう.