すべてのWordPressサイトオーナーが知っておくべきwp-config.phpファイルの設定
John Turner
John Turner
WordPressサイトを新しいホスティングプロバイダーに移行したばかりです。転送中はすべて順調に進んだように見えました。
次にホームページにアクセスすると、データベース接続エラーが表示されます。
良いニュースは、ほとんどの場合、このエラーは注意が必要な特定のファイル、つまりwp-config.phpを指しているということです。
wp-config.phpファイルはWordPressのコントロールセンターです。サイトの機能に必要なデータベース認証情報、セキュリティキー、デバッグ設定、その他のコア設定が含まれています。
ホストを移動したり、データベースの詳細を変更したりすると、このファイルを新しい環境に合わせて更新する必要があります。
この重要なファイルを自信を持って操作できるように、以下の内容を説明します。
- wp-config.phpファイルを見つける場所と、安全にアクセスするための最良の方法
- サイトを稼働させ続けるための必須のデータベース設定とセキュリティ設定
- cPanelファイルマネージャーまたはFTPクライアントを使用してファイルを編集するための明確な手順
- 接続エラーと機能の破損を防ぐ移行固有の変更
- 編集がうまくいかず、サイトが読み込まれなくなった場合の復旧戦略
目次
- wp-config.phpファイルとは?
- wp-config.phpはどこにありますか?
- Essential wp-config.php Settings Every Site Owner Should Know
- How to Edit Your wp-config.php File
- wp-config.phpがWordPressの移行にどのように影響するか
- Common Ways to Edit wp-config.php
- Common wp-config.php Problems and How to Fix Them
- wp-config.phpファイルを復元する方法
- Frequently Asked Questions (FAQs)
wp-config.phpファイルとは?
wp-config.phpファイルには、WordPressがWebサーバー上で稼働するために必要なすべての重要な情報が含まれています。
基本的に、wp-config.phpはデータベース接続認証情報を保存します。誰かがあなたのサイトにアクセスすると、WordPressはこのファイルをすぐにチェックして、データベースのユーザー名、パスワード、ホストアドレス、データベース名を見つけます。
これらの4つの情報がない場合(またはいずれかが間違っている場合)、WordPressはデータベースから投稿、ページ、設定を取得できません。
このファイルには、一意のセキュリティキー、サイトのURL設定、デバッグ設定、メモリ制限も含まれています。
テーマファイル、プラグインファイル、コンテンツのアップロードさえも、サイトを完全に停止させることなく一時的に欠落する可能性があります。しかし、wp-config.phpはどうでしょうか?破損している、欠落している、または不正確な情報が含まれている場合、サイト全体にコンテンツの代わりにエラーメッセージが表示されます。
wp-config.phpはどこにありますか?
wp-config.phpファイルは、WordPressのルートディレクトリにあります。これは、wp-content、wp-includes、wp-adminが含まれるメインフォルダです。
セキュリティを重視するユーザーの中には、wp-config.phpをWordPressのルートディレクトリから1レベル上に移動する人もいます。これにより、機密性の高いデータベース認証情報がWebアクセス可能なフォルダ構造の外に配置されます。WordPressは、通常の場所でファイルを見つけられない場合、自動的にこの親ディレクトリをチェックするのに十分賢いです。
wp-config.php が見つかりませんか? まずファイルマネージャーの表示設定を確認してください。
一部の FTPクライアント やホスティングパネルでは、特定の文字で始まるファイルがデフォルトで非表示になっています。クライアントの表示オプションで隠しファイルを表示する必要があります。

すべてのサイトオーナーが知っておくべき wp-config.php の必須設定
これらの wp-config.php 設定は、WordPress サイトが安全に機能するかどうか、あるいはまったく機能するかどうかを制御します。
データベース接続情報
データベースの認証情報は、WordPress がページを読み込む際に最初に確認するものです。
- DB_NAME は、WordPress がどのデータベースにコンテンツが含まれているかを伝えます。
- DB_USER と DB_PASSWORD は、アクセス認証情報を提供します。
- DB_HOST は、データベースサーバーの場所を示します。
データベース接続エラー が発生した場合、通常はこれらの 4 つの値のいずれかが間違っています。
認証キーとソルト
認証キーとソルトは、WordPress がユーザーのパスワードとログインセッションを暗号化する方法にランダム性を追加します。誰かがサイトにログインすると、WordPress はこれらの文字列を使用して、そのユーザーの本人確認を行う一意の暗号化された Cookie を作成します。
適切なキーがないと、ログインシステムは攻撃者が 総当たり攻撃やセッションハイジャック を通じて悪用できるほど予測可能になります。
データベーステーブルのプレフィックス
WordPress はデフォルトで、すべてのデータベーステーブル名に wp_ というプレフィックスを使用します。投稿は wp_posts に、オプションは wp_options に、ユーザーデータは wp_users に保存されます。この標準的な命名により WordPress は予測可能になり、利便性とセキュリティの両方の懸念が生じます。
一部のサイトオーナーは、インストール中にテーブルプレフィックスを abc123_ や mysite_ のようなものに 変更します。考え方は妥当です。自動化された攻撃は、SQL インジェクションの試みで標準の WordPress テーブル名を標的にすることがよくあります。テーブル名が wp_posts の代わりに xyz_posts になっている場合、基本的な攻撃はすぐに失敗します。
デバッグ設定
WP_DEBUG は、wp-config.php の簡単な true/false 設定を通じてエラーの表示を制御します。
これを true に設定すると、WordPress はエラーメッセージをサイトのページに直接表示します。赤色の警告テキスト、致命的なエラーの詳細、および注意が必要な古いコードに関する通知が表示されます。
WP_DEBUG_LOG は、本番環境向けのより安全な代替手段を提供します。この設定は、メッセージを公開表示する代わりに、/wp-content/debug.log にエラーログファイルを作成します。訪問者に技術的な詳細を公開することなく、必要な診断情報を取得できます。
絶対パス
WordPress は、サーバー上のどこに存在するかを正確に把握する必要があります。そこで ABSPATH が登場します。この定数は、WordPress のインストール先への完全なサーバーパスを定義します。訪問者が表示する Web URL ではなく、ホスティングサーバー上の実際のフォルダー構造です。
通常の共有ホスティングでは、ABSPATH は /home/username/public_html/ のようになります。WordPress がサブディレクトリに配置されている場合は、/home/username/public_html/blog/ のようになります。
ローカル開発環境では、Windows では C:\xampp\htdocs\mysite\、Mac システムでは /Applications/MAMP/htdocs/mysite/ のようなパスが表示されます。
WordPress は、URL の構造やサイトが動作するディレクトリに関係なく、この絶対パス情報を使用してファイルを確実に配置します。WordPress がテーマファイルをインクルードしたり、プラグインを読み込んだり、アップロードされたメディアにアクセスしたりする必要がある場合、ABSPATH を開始点として完全なファイルパスを構築します。
wp-config.php ファイルの編集方法
ウェブサイトの wp-config.php ファイルを編集する方法を説明します。
ウェブサイトのバックアップ
経験から学んだことですが、wp-config.php を編集する前には、必ず サイトのバックアップ を取るべきです。
wp-config.php は PHP 構文を使用しており、PHP は容赦がありません。セミコロンが 1 つ欠けていたり、引用符が 1 つ余分だったり、文字が 1 つ間違っていたりすると、サイト全体をダウンさせる致命的なエラーが発生します。
テーマやプラグインの不具合とは異なり、wp-config.php のエラーは WordPress の読み込みを完全に妨げます。
FileZilla のような FTP クライアントを使用している場合は、ファイルを右クリックして ダウンロード を選択します。

cPanel のファイルマネージャーも同様に機能します。wp-config.php ファイルを見つけて右クリックし、ダウンロード をクリックします。

復元を容易にするために、Duplicator を使用してサイト全体のバックアップを作成します。破損しないように、クラウドに保存してください。

万が一問題が発生した場合は、管理ダッシュボードでそのバックアップを見つけて 復元 をクリックします。

より深刻なエラーの場合は、バックアップファイルとインストーラーファイルをサイトのルートディレクトリに再アップロードします。この URL で復元を開始します: https://your-domain/installer.php

Duplicator は、サイトが完全にダウンしていてもロールバックします!
FTPでwp-config.phpを編集する
FTP は、cPanel が利用できない場合や、デスクトップソフトウェアでの制御を好む場合に、wp-config.php を編集するための直接的なサーバーアクセスを提供します。
FTP クレデンシャルは、ホスティングアカウントのコントロールパネル、通常は FTP アカウントセクションにあります。ホスト名(通常はドメイン名または ftp.yourdomain.com)、ユーザー名、パスワードが必要です。一部のホストは、これらの詳細をウェルカムメールで提供しています。

FTP クライアントを開き、これらの接続詳細を入力します。FileZilla ユーザーは、クイック接続 バーに情報を入力します。接続すると、右側のパネルにサーバーのディレクトリ構造が表示されます。

ウェブサイトのメインフォルダ(通常は public_html、www、またはドメイン名という名前)に移動します。
wp-config.phpを右クリックし、ダウンロードを選択して、コンピューターにコピーを保存します。これにより、作業用コピーと、編集がうまくいかなかった場合のバックアップが作成されます。
ダウンロードしたファイルを、Notepad++やVS Codeのようなプレーンテキストエディターで開きます。Microsoft Wordやリッチテキストアプリケーションは、PHP構文を壊す目に見えない書式設定文字を追加するため、避けてください。
引用符、セミコロン、括弧がすべてそのまま残っていることを確認しながら、慎重に変更を加えます。ファイルをバイトオーダーマーク(BOM)なしのプレーンテキストとして保存します。
変更したファイルをサーバーにアップロードし直し、元のファイルを上書きします。ほとんどのFTPクライアントは、既存のファイルを置き換える前に確認を求めます。
アップロード後30秒以内に、新しいブラウザウィンドウでウェブサイトにアクセスします。ホームページが通常通り表示されれば、編集は成功です。エラーやホワイトスクリーンが表示された場合は、すぐにバックアップコピーをアップロードして機能を復元し、構文の問題をトラブルシューティングしてください。
cPanelでwp-config.phpを編集する
cPanelのファイルマネージャーは、サーバー上で直接wp-config.phpを編集する最も簡単な方法を提供します。すべてがホスティングコントロールパネルのWebインターフェースを通じて行われます。
ホスティングアカウントのcPanelダッシュボードにログインし、通常はファイルセクションにあるファイルマネージャーアイコンを探します。それをクリックして、サーバーのディレクトリブラウザを新しいウィンドウまたはタブで開きます。
ファイルマネージャーが開いたら、public_htmlまたはドメイン名のフォルダをクリックして、ウェブサイトのファイルにアクセスします。
複数のサイトを実行している場合は、WordPressのインストールが含まれている特定のフォルダに移動します。
wp-admin、wp-content、wp-includesフォルダと、wp-config.phpおよびその他のWordPressコアファイルが一緒にある場合、正しいディレクトリであることがわかります。
ファイルリストでwp-config.phpを右クリックし、編集を選択します。

ファイルはcPanelの組み込みテキストエディターで開き、現在のすべての設定が表示されます。引用符、セミコロン、および適切なPHP構文に注意しながら、慎重に変更を加えます。
編集が終わったら変更を保存します。変更はすぐに有効になります。再アップロードの手順はありません。
wp-config.phpがWordPressの移行にどのように影響するか
完璧に計画された移行が、移動したサイトで接続エラーが表示されるまでデータベース接続設定を確認することを誰も考えなかったために、数日間の大惨事に変わるのを私は見てきました。
典型的な移行の失敗中に何が起こるかというと、WordPressのファイルを新しいホスティングプロバイダーに正常に転送し、データベースをインポートします。すべてが完了したように見えます。しかし、移行されたサイトにアクセスすると、wp-config.phpファイルに古いホスティングプロバイダーのデータベース認証情報がまだ含まれているため、WordPressはデータベースに接続できません。
以前のホストでは、DB_HOSTにlocalhost、DB_USERにoldhost_dbuserのようなデータベース設定を使用していました。新しいホスティングプロバイダーは、完全に異なる認証情報を割り当てます。たとえば、サーバーアドレスにmysql.newhost.com、ユーザー名にnewhost_wp123などです。
新しいホスティング環境のデータベース情報でwp-config.phpを更新しない限り、WordPressはこの変更を知る方法がありません。
データベース接続を確立した後でも、URLの不一致は別の問題を引き起こします。
古いサイトのURLとファイルパスは、WordPress全体にすぐに明らかにならない方法でハードコードされています。データベースコンテンツ、テーマ設定、プラグイン構成は、以前のホスティング設定を指す絶対URLまたはサーバーパスを参照していることがよくあります。
適切なデータベース接続があっても、これらの不一致参照はリンク切れ、画像の欠落、および管理アクセス問題を引き起こします。
Duplicator Proは、移行中にこれらの複雑なURLとパスの更新を自動的に処理します。ハードコードされた参照を見つけるためにデータベースレコードや設定ファイルを手動で検索する代わりに、Duplicator Proの移行プロセスは、URL、パス、およびwp-config.php設定を1つの連携操作で更新します。
wp-config.phpを編集する一般的な方法
ほとんどのサイト所有者は、データベース接続エラーの修正や移行のトラブルシューティングなど、必要に迫られてwp-config.phpの編集を発見します。しかし、ファイルの構造に慣れると、デバッグの問題、セキュリティの強化、およびパフォーマンスの最適化のために、いくつかの実用的な改善が可能になります。
デバッグ
define('WP_SCRIPT_DEBUG', true);を設定すると、デバッグは推測からターゲットを絞った問題解決に変わります。あいまいな参照を見る代わりに、エラーメッセージは、適切にフォーマットされたコード内の読みやすい関数名と論理的な行番号を指します。
WP_DEBUG_DISPLAYは、エラーメッセージがサイトページに直接表示されるか、訪問者から非表示にされるかを制御します。falseに設定すると、エラーは引き続き生成およびログに記録されますが、サイトのデザインを中断する赤いテキストの警告として表示されることはありません。
環境に応じてこれらの設定を戦略的に組み合わせています。開発サイトでは、問題がすぐにわかるように、WP_DEBUGとWP_DEBUG_DISPLAYの両方を有効にします。
ステージングサーバーでは、WP_DEBUGとWP_DEBUG_LOGを使用しますが、WP_DEBUG_DISPLAYは無効にして、視覚的なテストエクスペリエンスを損なうことなく問題をキャッチします。
セキュリティの改善
WordPressは、管理インターフェイスを介した不正な変更を防ぐために、ファイル編集保護を使用しています。ホスティングアカウントが侵害された場合や、管理アクセス権を持つべきでない人物がアクセス権を取得した場合、これらの定数は最も破壊的な攻撃に対する障壁を作成します。
DISALLOW_FILE_EDITは、テーマおよびプラグインエディタ画面をWordPressダッシュボードから完全に削除します。この保護がないと、管理者アクセス権を持つ人は誰でも、外観 » テーマエディターまたはプラグイン » プラグインエディターから直接悪意のあるPHPコードを挿入できます。
DISALLOW_FILE_MODSは、WordPress管理インターフェイスを介したすべてのファイル変更を防ぐことで、保護をさらに一歩進めます。これには、プラグインのインストール、テーマのアップロード、WordPressコアのアップデート、および自動バックグラウンドアップデートが含まれます。
FORCE_SSL_ADMINは、すべてのWordPress管理アクティビティに暗号化されたHTTPS接続を要求します。ログインページ、ダッシュボードアクセス、および管理機能は、暗号化されていないHTTP接続での動作を拒否します。
サイトが機密情報を処理する場合や、管理アクセスを暗号化することを義務付けるコンプライアンス要件の下で運用する場合は、define('FORCE_SSL_ADMIN', true);を設定してください。
この定数は、一般的なサイトSSL設定とは独立して機能します。公開ページでHTTPを許可しながら、管理者の暗号化を強制できます。
パフォーマンスの改善
頻繁なコンテンツ更新を行う高トラフィックサイトは、無制限の投稿リビジョンによる隠れたパフォーマンスの問題、つまりデータベースの肥大化に直面します。WordPressはデフォルトで、コンテンツのすべての下書き、自動保存、公開済みバージョンを保存します。
WP_POST_REVISIONSは、WordPressが各投稿またはページに対して保持するバージョン数を制御します。define('WP_POST_REVISIONS', 3);を設定すると、ストレージは現在のバージョンに加えて3つの以前のリビジョンに制限されます。
これは通常、無制限の履歴によるデータベースのオーバーヘッドなしに、誤って削除されたコンテンツを復旧したり、問題のある編集を元に戻したりするのに十分です。
WordPressダッシュボードは、特にプラグインのインストール、テーマのカスタマイズ、または一括コンテンツ操作中に、公開ページよりも多くのメモリを使用します。WP_MAX_MEMORY_LIMITは、管理タスクのメモリ可用性を特に制御します。
define('WP_MAX_MEMORY_LIMIT', '512M');を追加すると、大きなXMLファイルのインポート、画像のバッチ処理、または複雑なプラグイン構成の処理などのメモリを大量に消費する操作に余裕が生まれます。
WordPressは削除されたコンテンツを30日間ゴミ箱に保持してから完全に削除します。define('EMPTY_TRASH_DAYS', 7); を設定すると、保持期間が1週間に短縮され、削除されたコンテンツがより積極的に自動的にパージされます。
ニュースサイトや忙しいフォーラムでは、削除されたコンテンツは数日後に回復する必要がほとんどないため、ゴミ箱の保持期間を短くすることが有益です。
一般的なwp-config.phpの問題とその修正方法
ほとんどのwp-config.phpの問題は、予測可能なパターンに分類されます。何を探すべきかがわかれば、これらのエラーは、不可解な災害ではなく、診断ツールになります。
ホワイトスクリーンの死
サイトにコンテンツの代わりに空白の白いページが表示されます。これは通常、構文の問題によりPHPがwp-config.phpファイルを解析できないことを意味します。
セミコロンの欠落は、他の何よりもこの問題を引き起こします。defineで始まるwp-config.phpの各行は、セミコロンで終わる必要があります。誤って1つ削除すると、PHPはファイル全体の処理を停止します。
引用符の不一致も同様の問題を引き起こします。文字列をシングルクォートで開き、ダブルクォートで閉じると、PHPの解析が完全に壊れます。
サイト所有者が複雑な理論をトラブルシューティングするのに何時間も費やしているのを見てきましたが、実際の問題は'DB_NAME', 'database_name"); の代わりに'DB_NAME', 'database_name'); と入力していたことでした。その余分な引用符がサイト全体を台無しにします。
そのバックアップファイルを保持していれば、修正は簡単です。元のwp-config.phpファイルをアップロードしてすぐに機能を復元し、その後、編集をより慎重にやり直してください。
データベース接続エラー
ここでの良いニュースは、WordPress自体は正常に機能しているということです。データベースに接続できないだけです。
まず、4つのデータベース定数を確認してください。DB_NAME、DB_USER、DB_PASSWORD、DB_HOST。これらのいずれかが、ホスティングプロバイダーの実際のデータベース設定と一致していません。

権限とエンコーディングの問題
wp-config.phpファイルに正しい情報が含まれている場合でも、WordPressがそれを読み取れないことがあります。ファイル権限が制限的すぎる(WordPressはファイルを読み取るために少なくとも644の権限が必要です)、またはファイルエンコーディングにPHPの解析を妨げる隠し文字が含まれている可能性があります。
これは、Microsoft Wordやその他のリッチテキストプログラムでwp-config.phpを編集し、目に見えない書式設定コードを追加した場合に発生します。wp-config.phpの変更には、常にNotepad++やVS Codeのようなプレーンテキストエディターを使用してください。
ファイルの所有権が間違っていると、正しい権限があってもWordPressがwp-config.phpを読み取れなくなります。ホスティングプロバイダーは所有権の問題を修正できますが、アクセス問題をトラブルシューティングするまで、それらは常に明らかではありません。
wp-config.phpファイルを復元する方法
wp-config.phpの編集がサイトを壊した場合、トラブルシューティングよりもバックアップの復元が常に優れています。
変更前の最近のDuplicatorバックアップがあれば、5分以内に完全な機能が復元されます。単に復元をクリックしてください。

これにより、サイトが即座にロールバックされ、構文エラーやデータベース接続の問題のデバッグに何時間も費やすことを回避できます。
バックアップからの復元が不可能な場合、WordPressのサンプルテンプレートを使用してwp-config.phpをゼロから再構築できます。新しいWordPressのインストールからwp-config-sample.phpをダウンロードし、wp-config.phpに名前を変更してください。
サンプルファイルには、必要な基本的な構造がすべて含まれています。プレースホルダーのデータベース認証情報を、ホスティングコントロールパネルのデータベースセクションにある実際の値に置き換えてください。
よくある質問(FAQ)
誤ってwp-config.phpファイルを削除してしまった場合はどうなりますか?
バックアップがある場合は、すぐにwp-config.phpをバックアップから復元してください。ない場合は、新しいWordPressのダウンロードからwp-config-sample.phpを使用してファイルを再作成できます。それをwp-config.phpに名前変更し、ホスティングコントロールパネルからデータベース認証情報を追加してください。
wp-config.phpファイルが見つからない場合はどうすればよいですか?
wp-config.phpファイルが見つからない場合、WordPressはデータベースに接続できず、サイトはオフラインになります。wp-config-sample.phpをコピーし、データベース名、ユーザー名、パスワードを追加して、WordPressのルートフォルダにwp-config.phpとして保存することで修正できます。アップロードすると、サイトは再び機能し始めるはずです。
wp-config.phpファイルはどこにありますか?
wp-config.phpファイルは、通常public_html、www、またはwp-admin、wp-content、wp-includesを含むメインフォルダと呼ばれるルートWordPressディレクトリにあります。ホストのファイルマネージャーまたはFTPクライアントを使用してアクセスできます。表示されない場合は、セキュリティのためにホストがルートの1つ上のレベルに保存している可能性があります。
wp-config.phpは何をしますか?
wp-config.phpファイルは、WordPressにデータベースに接続してサイトを実行する方法を指示します。データベース認証情報、セキュリティキー、デバッグオプションなどの重要な設定を保存し、WordPressはページが読み込まれるたびにこれらを読み取ります。このファイルが見つからないか、正しく設定されていない場合、サイトは機能しません。
WordPressの設定を自分で管理しましょう
Wp-config.phpは強力ですが、予測可能なファイルです。データベース接続エラー、セキュリティの改善、パフォーマンスの最適化はすべて、ファイルの構造と目的を理解すれば論理的なパターンに従います。
追加のヒント:カスタムwp-config.php設定とその目的をリストしたドキュメントファイルを作成します。ファイルを再作成したり、新しいサーバーに移行したりする必要がある場合は、カスタム設定がそれぞれ何を達成したかを思い出そうとするのではなく、特定の構成の選択肢を参照できます。
WordPressの移行とバックアップを完全に管理する準備はできましたか? Duplicator Proは、wp-config.php設定を含む完全なサイトバックアップを作成し、サイトの移動や復旧シナリオをストレスの多いものから簡単なものに変えます。
せっかくなので、これらの関連WordPressガイドも気に入っていただけると思います。