wp-config.phpの基本設定:ファイル & メモリ・リビジョン、SSH・SFTP・cPanel設定ガイド
wp-config.phpファイルは、WordPressサイトの 最も重要な設定ファイルです。このファイルには、WordPressがデータベースに接続して動作するために必要な 核心情報が含まれているため、サイトの心臓部のような役割を果たします。
Ⅰ. wp-config.phpの役割
このファイルには、次のような機密性の高い設定が含まれています。

こうした特性から、wp-config.phpファイルは外部の攻撃者にとって 最優先の攻撃対象となります。ファイルのアクセス権限が誤って設定されたり内容が露出したりすると、データベース全体が流出したり、サイトの管理権限を奪われたりする深刻な セキュリティ脆弱性につながります。そのため、WordPressのセキュリティ強化の第一歩は、このファイルの安全を確保することです。
1️⃣ wp-config.phpファイルの場所
wp-config.phpはWordPressをインストールした最上位フォルダにあり、[wp-admin]・[wp-content]・[wp-includes]フォルダと同じ場所に置かれています。cPanelのホスティングでは[public_html]フォルダがその場所で、VPSではWebルート(例:[/var/www/html/wp-config.php])に置きます。
最上位フォルダにファイルが見当たらない場合は、一つ上のフォルダを確認します。WordPressはwp-config.phpをまずインストールフォルダで探し、なければすぐ上のフォルダから読み込みます。
2️⃣ wp-config.phpの開き方
ホスティング管理パネルの[ファイルマネージャー]で最上位フォルダに移動し、wp-config.phpを右クリックして[Edit]を選択します。別のプログラムを使わず、ブラウザ上で直接編集できる方法です。
FTPソフト(FileZilla)で接続すると、ファイルを自分のパソコンにダウンロードし、エディタで編集してから再度アップロードします。アップロード前に元のファイルを別に保存しておけば、エラーが出たときにすぐ元に戻せます。
VPSのように SSHで接続するサーバーでは、[vi]エディタの名前の後ろにファイルパスを付けて実行します。[nano]でも同じ方法で開けます。
vi /var/www/html/wp-config.php3️⃣ wp-config-sample.phpと基本構造
ダウンロードしたばかりのWordPressの圧縮ファイルにはwp-config.phpがなく、同じ場所に[wp-config-sample.php]だけが入っています。インストール画面でデータベース情報を入力すると、WordPressがこのファイルをもとにwp-config.phpを作成します。自分でコピーして名前を変えても同じ結果になります。
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );[DB_NAME]・[DB_USER]・[DB_PASSWORD]・[DB_HOST]の4行には、ホスティングから受け取ったデータベース情報を入れます。値が一つでも間違っていると、サイトの代わりに[Error establishing a database connection]エラーが表示されます。
[AUTH_KEY]から[NONCE_SALT]までの8行はログインCookieを暗号化する値で、[https://api.wordpress.org/secret-key/1.1/salt/]で新しく取得してまとめて置き換えます。値を変えると、ログイン中のすべてのユーザーがログアウトされます。
[$table_prefix]はデータベースのテーブル名の前に付く接頭辞で、初期値は[wp_]です。1つのデータベースに複数のWordPressをインストールするとき、互いを区別する役割を果たします。[WP_DEBUG]を[true]にすると PHPエラーが画面に表示されるため、運用中のサイトでは[false]のままにします。
Ⅱ. WordPressインストール後に適用するwp-config.php基本設定
設定行はすべて /* That’s all, stop editing! Happy publishing. */ コメントの上に入れます。下のシミュレーターで接続方法(SSH・cPanel・FTP)を選んでwp-config.phpを開くと、左で押した設定の行にすぐ移動します。
- 設定定数(define)は上に: WordPressの設定に関係するほとんどの定数(define)は /* That’s all, stop editing! Happy publishing. */ コメントの直上で 定義されてはじめて、WordPressが設定を初期化する過程で正しく読み込まれます。
- WordPressの読み込み開始は下に: このコメントの下には [ABSPATH] の定義と[require_once( ABSPATH . ‘wp-settings.php’ );]というコードがあります。この[wp-settings.php]ファイルを読み込んだ瞬間から、WordPressの主要機能が実際に動き始めます。
WP_MAX_MEMORY_LIMITは「管理画面・内部処理用の拡張上限」です。
2つを一緒に設定してはじめて WordPressのメモリを完全に制御できます。


/wp-admin/admin-ajax.phpを使ってブラウザからAJAX呼び出しを実行します。WordPressのダッシュボードでは、このファイルによって15秒ごとにPOSTリクエストが送信されます。


/** Disable Heartbeat everywhere except post editor */
add_action('init', function() {
global $pagenow;
if ($pagenow != 'post.php' && $pagenow != 'post-new.php') {
wp_deregister_script('heartbeat');
}
}, 1);🔢 FAQ & おすすめコンテンツ
ℹ️ 提携について
当サイトのコンテンツにはアフィリエイトリンクが含まれています。訪問者がこのリンクを通じて商品やサービスを購入すると、当サイトは販売元から手数料を受け取ります。この過程において、購入者が支払う金額(イベント割引適用で金額が下がります↓)は上昇しません。掲載されている価格・割引・在庫情報は作成時点のものであり、実際とは異なる場合がありますので、ご購入前に販売元にて最終確認をお願いいたします。商品の選定および評価は独自の基準に基づいて行われており、手数料の支払いの有無は紹介順や評価内容に影響を与えません。