WordPressでwp-config.phpを検索、アクセス、編集する方法

公開: 2022-07-14

WordPressのwp-config.phpとは何ですか?

wp-config.phpファイルは、Webサイトの最も重要な構成設定の詳細を含むWordPressインストールコアファイルです。 プレフィックス「wp」は「WordPress」を表し、「config」は「configuration」の略であり、ファイルタイプ「.php」はファイルに含まれるコードのタイプ(PHP)を示します。

wp-config.phpがないと、Webサイトは機能しません。 WordPressは、WordPress設定、投稿コンテンツ、テーマとプラグイン設定、ユーザーデータなどの情報がすべて保存されているデータベースに接続するために、このファイルを必要とします。 wp-config.phpは、サイトのファイルとデータベースの間のブリッジであるだけでなく、セキュリティキーを含めることもできます。 テーブルプレフィックスを変更します。 wp-pluginswp-uploadswp-contentなどのコアWordPressファイルフォルダーを再配置します。 その他の高度な構成を実行します。

wp-config.phpファイルはどこにありますか?

wp-config.phpの機能がわかったので、おそらく「 wp-config.phpはどこにありますか?」と疑問に思うでしょう。 既存のWordPressサイトでwp-config.phpの場所を探している場合は、WordPressインストールのルートフォルダーにあります。 ルートフォルダには、 wp-adminwp-content 、およびwp-includesフォルダが含まれています。 これらのフォルダの下に、ファイルのリストが表示されます。ファイルの多くは、「wp-」プレフィックスで始まります。 ここにwp-config.phpファイルがあります。

wp-config.phpが選択されたコアファイルとフォルダのリスト

ただし、WordPressを初めてダウンロードしてセットアップする場合は、 wp-config.phpファイルは含まれません。 代わりに、WordPressのセットアッププロセス中に自動的に作成されます。 セットアップ中に、次のような特定の情報の入力を求められます。

  • データベース名:WordPressインストールに関連付けられているデータベースの名前
  • データベースユーザー名:データベースへのアクセスに使用されるユーザー名
  • データベースパスワード:データベースユーザーに関連付けられたパスワード
  • データベースホスト:データベースサーバーのホスト名(通常は「localhost」ですが、ホスティングプロバイダーによって異なる場合があります)

WordPressはこの情報を使用して、ルートディレクトリにwp-config.phpファイルを作成します。

データベース接続詳細フォーム

必要に応じて、 wp-config.phpを手動で設定することもできます。 これは、サイトの構成に追加したいカスタマイズされた設定がたくさんある場合に適したオプションです。

wp-config.phpにアクセスするにはどうすればよいですか?

wp-config.phpにアクセスするには、いくつかの簡単な方法があります—セキュアファイル転送プロトコル(SFTP)を介して、またはホスティング会社が提供している場合はcPanelを介して。

1.SFTP経由でwp-config.phpにアクセスする

ステップ1:SFTPクライアントをインストールします。 SFTPクライアントをまだ持っていない場合は、最初のステップとしてダウンロードしてインストールします。 いくつかの良いオプションが含まれます:

応用システム無料またはプレミアム
WinSCP ウィンドウズ無料
Filezilla Windows、Mac、Linux 無料およびプレミアムオプション
サイバーダックWindows、Mac 無料
送信するマックプレミアム

この例ではFilezillaを使用しますが、他のSFTPクライアントも同様に機能するはずです。

ステップ2:SFTPクレデンシャルを取得します。 SFTPクライアントをインストールしたら、サーバーにアクセスするためにWebホストからのSFTPクレデンシャルが必要になります。 これらの詳細は、ホスティングコントロールパネルにあります。 ホストによっては、この情報が生成される場合や、SFTPユーザー名とパスワードを作成するプロセスを実行する必要がある場合があります。 これらのクレデンシャルの場所や作成方法がわからない場合は、ホストのサポートに問い合わせるか、ヘルプドキュメントで手順を検索してください。 SFTPクライアントに必要な詳細は次のとおりです。

  • ホスト(ライブサーバーのIPアドレスまたはURL)
  • SFTPユーザー名
  • パスワード
  • ポート番号

ステップ3:SFTPクライアントにクレデンシャルを入力します。 ホストのIPアドレスまたはURL、SFTPユーザー名、パスワード、およびポート番号を入力します。

注: SFTPクライアントがTrust on First Use(TOFU)認証を使用している場合、「ホストキーが不明です」というアラートが表示される場合があります。 [OK]をクリックして続行します。 SFTPクライアントを使用してサイトに再度アクセスする場合は、[常にこのホストを信頼し、このキーをキャッシュに追加する]をオンにします。

FilezillaからのTOFUメッセージ

ステップ4:Webサイトのルートディレクトリに移動します。

SFTP経由でサーバーにログインすると、画面の右下の2つのパネルに、Webサーバー(リモート)上のディレクトリを一覧表示するファイルツリーが表示されます。 左側には、コンピュータ(ローカル)のディレクトリが一覧表示されます。

ルートディレクトリは通常、「www」または「public_html」というラベルの付いたフォルダにありますが、別の名前が使用されている場合があります。 ルートフォルダの命名規則はホストによって異なるため、どのフォルダを調べるべきかわからない場合は、ホスティングプロバイダーに問い合わせてください。 ファイルリストの上部にあるwp-adminwp-content 、およびwp-includesフォルダーが表示されれば、正しいフォルダーにいることがわかります。

FTP経由でpublic_htmlフォルダを見つける

ステップ5: wp-config.phpファイルを追加するローカルコンピューター上のフォルダーを選択または作成します。 すでにフォルダを選択している場合は、左側のペインを使用して移動し、フォルダを開きます。 そうでない場合は、新しいフォルダを作成するディレクトリを見つけ、左側のペインを右クリックして、[ディレクトリの作成]を選択します。

ディレクトリ選択を作成する

ディレクトリに名前を付けて、[ OK ]をクリックします。

ダブルクリックして、作成した新しいディレクトリを開きます。

ステップ6: wp-config.phpを見つけてダウンロードします wp-config.phpファイルはルートフォルダーにあるため、SFTPクライアントの右下のペインでwp-config.phpまでスクロールダウンします。 wp-config.phpを右クリックし、[ダウンロード]をクリックするか、ファイルを右ペインから左ペインの目的のフォルダーにドラッグします。

wp-config.phpファイルのダウンロード

これで、 wp-config.phpファイルが、前に選択したディレクトリのローカルマシンにダウンロードされます。 あなたはそれをあなたのコンピュータのファイルブラウザで見つけることができるはずです。

2.cPanelでwp-config.phpにアクセスする

ホストがcPanelを使用している場合は、cPanelのファイルマネージャーからwp-config.phpにアクセスできます。 ホストのダッシュボードでcPanelを見つける方法がわからない場合は、カスタマーサポートに問い合わせてください。

ステップ1:cPanelのファイルマネージャーを開きます。 cPanelにアクセスしたら、[ファイル]セクションに移動し、[ファイルマネージャー]をクリックします。

ステップ2:Webサイトのルートフォルダーを開きます。 ルートフォルダは一般に「www」または「public_html」と呼ばれますが、別の名前が付いている場合もあります。 ルートフォルダの命名規則はホストによって異なるため、どのフォルダを調べるべきかわからない場合は、ホスティングプロバイダーに問い合わせてください。 ファイルリストの上部にあるwp-adminwp-content 、およびwp-includesフォルダーが表示されれば、正しいフォルダーにいることがわかります。

ステップ3: wp-config.phpを見つけてダウンロードします wp-config.phpファイルはルートフォルダーにあるので、cPanelのファイルマネージャーの右ペインでwp-config.phpまでスクロールダウンします。 wp-config.phpを右クリックし、[ダウンロード]をクリックするか、wp- config.phpをシングルクリックして、トップメニューから[ダウンロード]オプションをクリックします。

cpanelからwp-config.phpをダウンロード

wp-config.phpファイルを配置するフォルダーを選択または作成し(名前を変更しないでください)、[保存]をクリックします。

wp-config.phpを保存するフォルダを選択する

これで、wp-config.phpファイルが選択したディレクトリのローカルマシンにダウンロードされます。 あなたはそれをあなたのコンピュータのファイルブラウザで見つけることができるはずです。

wp-config.phpファイルを編集する方法

wp-config.phpを編集するための2つのオプションがあります。 ソースコードエディタを使用するか、cPanelで直接編集することができます。 WordPressでwp-config.phpファイルを編集する前に、必ずサイトをバックアップしてください。

1.サイトをバックアップします

サイトに大きな変更を加えると、特にWordPressのコアファイルやプラグインに大きな変更を加えると、問題が発生するリスクがあります。 それは、恐ろしい死の白い画面に対するほとんど知覚できない表示の問題と同じくらいマイナーなものである可能性があります。 サイトのコア部分に変更を加えるときにダウンタイムとデータ損失を防ぐために、常に最初にバックアップを作成してください。 サイトにバックアップツールがまだインストールされていない場合、JetpackBackupはワンクリックで復元できる手頃なソリューションです。

すべてバックアップされていますか? 良い。 wp-config.phpファイルの編集を開始できます。

2.ソースコードエディタでwp-config.phpを編集する方法

wp-config.phpを編集する最良の方法は、選択したコード編集ソフトウェアを使用することです。 ローカルコンピューターでオフラインになっているwp-config.phpのコピーを編集しているので、ファイルを操作するためにインターネットに接続する必要はなく、元のwp-configを上書きする可能性は低くなります。サーバーにアップロードするときの.phpファイル(cPanelで直接編集する場合とは異なります)。

ステップ1:ソースコードエディタでwp-config.phpを開きます。 ソースコードエディタの使用に慣れていない場合は、いくつかの無料のオプションから選択できます。

無料のソースコードとプレーンテキストエディタ:

応用システム
メモ帳++ ウィンドウズ
Atom.io Windows、Mac、Linux
荘厳なWindows、Mac、Linux
テキストエディット
*プレーンテキストモードになっていることを確認してください
Mac(デフォルトのアプリケーション)
メモ帳Windows(デフォルトのアプリケーション)

ステップ2: wp-config.phpを編集して、ローカルマシンに保存します。 wp-config.phpファイルの編集に使用するプログラムによって、表示が異なる場合があります。 これは、atom.ioのコードの一部がどのように見えるかです。

wp-config.phpファイルの内容

必要な情報を追加または変更してから、ファイルを保存します。 「 wp-config.phpを介して何を構成できますか?」にスキップします。 wp-config.phpファイルに対して行うことができるさまざまなタイプの編集の詳細については、こちらをご覧ください。

ステップ3:SFTPまたはcPanelを介してWebサーバーにログインします。 サイトのルートフォルダに移動し、 wp-config.phpファイルを見つけます。

手順4: Webサーバー上wp-config.phpのファイル名を変更します。 編集したバージョンにエラーが含まれている場合は、元のファイルを上書きしないでください。 元のwp-config.phpファイルをすばやく復元できるようにしたいので、名前を「wp-config-orginal.php」のように変更すると、WordPressがこのファイルを無視するだけでなく、元のファイルの内容が引き続き保持されます。サーバーに存在します。

wp-config.phpファイルの名前を変更する

誤ってwp-config.phpファイルを上書きし、編集したバージョンに問題がある場合は、いつでもバックアップからサイトを復元できます。 ただし、問題が発生した場合にすばやく復元できるように、元のwp-config.phpファイルのコピーを保持しておくことをお勧めします。 どこかにバックアップファイルがない場合、特にカスタム設定がたくさんある場合は、非常に面倒で、元の情報を復元するために多くのサイトのダウンタイムが発生する可能性があります。

ステップ5:ローカルマシンからWebサーバーにwp-config.phpアップロードします。 SFTPまたはcPanelを使用して、 wp-config.phpファイルをWebサーバーのルートディレクトリにアップロードします。

SFTPクライアント:

ftp経由でwp-config.phpファイルを移動する

cPanel:

cpanel経由でファイルをアップロードする

ステップ6:Webサイトにアクセスして、正しく表示および機能していることをテストします。 wp-config.phpファイルが正常にアップロードされたので、今度はすべてが意図したとおりにサイトで機能していることを確認します。 サイトのフロントエンドにアクセスし、WordPressダッシュボードにログインして、すべてにアクセスでき、正しく表示され、フォーム、ナビゲーション、eコマース機能などのサイト機能がすべて機能することを確認します。

手順7:名前を変更した古いwp-config.phpファイルを削除します。 サイトが正しく機能していることを確認したら、 wp-config-original.php (または名前を変更したもの)を削除できます。

3.cPanelでwp-config.phpを直接編集する方法

ソースコードエディタがない、または使用したくない場合は、cPanelで直接wp-config.phpを編集できます(ホストがcPanelを使用している場合)。 これは、ローカルマシンで編集するよりも少し危険です。 編集中にインターネット接続が切断されると、変更が失われる可能性があります。 また、最初にバックアップを保存せずに、元のwp-config.phpファイルを上書きする可能性があるというリスクもあります。 ただし、元のwp-config.phpファイルのコピーを作成し、信頼できるインターネット接続がある限り、cPanelで直接編集するのは比較的安全です。

ステップ1: cPanelでwp-config.phpを見つけます。 cPanelで、[ファイルマネージャー]をクリックします。

ルートフォルダに移動します(通常は「public_html」または「www」ですが、ホストによっては、別の名前で呼ばれることもあります)。

ステップ2: wp-config.phpバックアップファイル用の新しいフォルダーを作成します。 ファイルマネージャのメインメニューで、[ +フォルダ]をクリックして新しいフォルダを追加します。 wp-config.phpファイルのコピーを作成し、バックアップとしてここに保存します。

cpanelにフォルダを追加する

新しいフォルダには、後で簡単に見つけられるように、 「backupconfig」のように識別しやすい名前を付けます。 [新しいフォルダの作成]をクリックします。

手順3:ルートフォルダーでwp-config.phpを見つけて、バックアップフォルダーにコピーします。 ルートディレクトリで、 wp-config.phpまで下にスクロールし、ファイル名を右クリックします。 [コピー]を選択します。

ファイルのコピー先のファイルパスを入力するように求めるダイアログボックスが表示されます。 通常はルートフォルダ名が事前に入力されているため、作成したばかりのバックアップフォルダの名前を「/ public_html / 」(またはルートフォルダの名前)の後に追加するだけで済みます。 したがって、バックアップフォルダの名前が「backupconfig」の場合、ファイルパスは「/ public_html/backupconfig」のようになります。 '

[ファイルのコピー]をクリックします。

ファイルをコピーしたら、「 backup config」フォルダーに移動すると、そこにwp-config.phpが表示されます。 このwp-config.phpファイルと編集したいファイルが混乱しないように、先に進んで名前を変更する必要があります。 wp-config.phpファイルを右クリックし、[名前の変更]をクリックします。

名前は任意に変更できますが、この場合は名前をwp-config-original.phpに変更します。

wp-config.phpファイルの名前を変更する

手順4:ルートディレクトリのwp-config.phpに戻ります。 wp-config.phpファイルのバックアップができたので、ルートディレクトリのwp-config.phpファイルに戻って編集します。

wp-config.phpを選択し、ファイルマネージャのトップメニューで[編集]をクリックします。

cpanelツールによる編集

ステップ5: wp-config.phpを編集します。 これで、画面にwp-config.phpファイルの内容が表示されます。 次のようになります。

cpanelのwp-config.phpファイル

必要な情報を追加または変更してから、ファイルを保存します。 「 wp-config.phpを介して何を構成できますか?」にスキップします。 wp-config.phpファイルに対して行うことができるさまざまなタイプの編集の詳細については、こちらをご覧ください。

wp-config.phpファイルを手動で作成する

wp-config.phpファイルをまだ作成していない場合は、編集できません。 何らかの理由で、WordPressのセットアップ中にwp-config.phpファイルを作成できない場合、または単に手動で作成したい場合は、次の場合に含まれているwp-config-sample.phpテンプレートを使用することをお勧めします。 WordPressをダウンロードします。

wp-config-sample.phpファイルを見つける

ソースコードエディタでwp-config-sample.phpを開きます。 wp-config-sample.phpファイルの編集に使用するプログラムによって、表示が異なる場合があります。 これは、atom.ioのコードの一部がどのように見えるかです。

wp-config.phpファイルの内容

次のデータベースの詳細と必要なカスタム設定を入力します。

WordPressのデータベースの名前

define( 'DB_NAME', 'database_name_here' );

データベースユーザー名

define( 'DB_USER', 'username_here' );

データベースパスワード

define( 'DB_PASSWORD', 'password_here' );

データベースのホスト名

define( 'DB_HOST', 'localhost' );

データベーステーブルの作成に使用するデータベース文字セット(通常はutf8)

 define( 'DB_CHARSET', 'utf8' );

データベース照合タイプ(疑わしい場合はこれを変更しないでください)

 define( 'DB_COLLATE', '' );

認証の一意のキーとソルト

これらを別の固有のフレーズに変更します。 これらは、WordPress.orgの秘密鍵サービスを使用して生成できます。 これらはいつでも変更して、既存のすべてのCookieを無効にすることができます。 これにより、すべてのユーザーが再度ログインする必要があることに注意してください。

 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' );

カスタムWordPressデータベーステーブルプレフィックスを定義する

WordPressのデフォルトのデータベーステーブルプレフィックスは「wp_」ですが、必要に応じてカスタムプレフィックスを定義できます。 また、1つのデータベースにWordPressが複数インストールされている場合は、それぞれに一意のプレフィックスを付けることができます。 数字、文字、およびアンダースコアのみを使用してください。

 $table_prefix = 'wp_';

WordPressのデバッグモードを定義する

デフォルトでは、 wp-config.phpのWordPressデバッグモードは、開発モードでサイトの問題を積極的にデバッグしようとしている場合を除き、「false」に設定する必要があります。

 define( 'WP_DEBUG', false );

このステートメントを「true」に変更して、開発中にエラーおよび警告通知を表示できるようにします。

カスタム値を追加する

デバッグモードを定義する行の後にコメントアウトされた2行のコードがあり、その間に、 wp-config.phpファイルに追加するカスタム値を追加できます。

 /* Add any custom values between this line and the "stop editing" line. */ YOUR CUSTOM VALUES GO HERE /* That's all, stop editing! Happy publishing. */

使用できるカスタム値については、「 wp-config.phpを介して何を構成できますか?」セクションまでスクロールダウンしてください。 '

WordPressディレクトリへの絶対パスを定義します

カスタム値の下で、'/ *の後に、編集を停止します。 Happypublishing。*/、'他にもいくつかのコードスニペットが表示されます。 最初のものは、WordPressディレクトリへの絶対パスを定義します。 サブディレクトリにWordPressを設定していない限り、これはそのままにしておくことができます。設定している場合は、「/」を「 /your-subdirectory/ 」に置き換えます。

 if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); }

WordPressの変数と含まれるファイルを設定する

wp-config-sample.phpファイルのこの最後のセクションでは、WordPress変数とインクルードファイルを設定するwp-settings.phpへの絶対パスを宣言しています。

 require_once ABSPATH . 'wp-settings.php';

サンプル構成ファイルの編集が完了したら、それを「wp-config.php」として保存し、SFTPまたはcPanelを使用してサイトのルートディレクトリに配置します。

注: wp-config-sample.phpファイルの内容には特定の順序があり、順序は重要です。 構成ファイル内の情報の順序を並べ替えると、サイトでエラーが発生する可能性があります。

wp-config.phpで何を設定できますか?

wp-config-sample.phpファイルに含まれている基本設定以外にも、 wp-config.phpを使用して構成できるものはたくさんあります。 マルチサイト機能の有効化、Cookieドメインの設定、許可されるメモリの増加、セキュリティ関連のさまざまな設定の管理、WordPressが特定のコア操作を実行する頻度の決定、およびその他のファイル最適化設定の変更を行うことができます。 データベースとファイルのアクセス許可を変更することもできます。

wp-config.phpで何を設定できませんか?

wp-config.phpで管理できる設定のリストは長いですが、実行できないことがいくつかあります。

wp-config.phpファイルは、多かれ少なかれ、WordPressコア内の特定の設定を決定する定数のリストです。 プラグインやテーマに機能的な変更を加えるために使用することはできません。そのためには、 functions.phpファイルを使用します。

テーマフォルダの場所など、 wp-config.phpでも変更できない、ハードコードされたWordPressの側面もいくつかあります。

wp-config.phpをセキュリティエクスプロイトから保護する方法

wp-config.phpファイルには、サイトに関する多くの機密情報(ハッカーの手に渡らないようにしたい情報)が含まれています。 wp-config.phpファイルを保護するためのヒントを次に示します。

1.セキュリティプラグインをインストールします

セキュリティプラグインは、 wp-config.phpを含むすべての側面をハッキングの試みから保護するのに役立つ設定をWebサイトに自動的に追加します。

JetpackのWordPressセキュリティツールは、悪意のある攻撃からサイトを安全に保つのに役立つ安価なオプションです。 Jetpackのセキュリティには次のものが含まれます。

  • トラックでの攻撃を阻止するブルートフォース攻撃保護
  • 問題が発生したことを2番目に警告するダウンタイムの監視
  • アクティビティログ。疑わしいアクティビティが発生したかどうか、いつ発生したかがわかります。
  • 不正アクセスを防ぐための安全な認証
  • サイトがハッキングされた場合に警告するマルウェアスキャン
  • ページ、投稿、お問い合わせフォームのスパム対策

Jetpack Securityは、コアWordPressファイルへの変更、古いプラグインや安全でないプラグイン、その他の脆弱性についてもサイトを監視し、ハッカーがそれらを見つけて利用する前にそれらをキャッチできるようにします。

2.を介してwp-config.phpへのアクセスを拒否します。 htaccessファイル

を使用できます。 wp-config.phpを保護するのに役立つhtaccessファイル。 このファイルはルートフォルダにあります。

ステップ1:ダウンロードします。 htaccess

SFTPまたはcPanelを使用して、Webサイトのルートフォルダーに移動します。 .htaccessを右クリックします [ダウンロード]を選択して、ファイルをローカルコンピューターにダウンロードします。

ステップ2: wp-config.phpへのアクセスをブロックするコードを追加する

ソースコードまたはプレーンテキストエディタで、 .htaccessを開き、次のコードを追加します。

 <files wp-config.php> order allow,deny deny from all </files>

ファイルを保存します。 プログラムにファイル拡張子が含まれていないことを確認してください。 メモ帳またはテキストエディットを使用している場合は、不要な.txtファイル拡張子が追加されることがあります。 ファイルには単に'という名前を付ける必要があります。 htaccess 。 '

ステップ3:編集した.htaccessをルートフォルダーにアップロードします

編集したものをアップロードします。 htaccessファイルをWebサイトのルートフォルダに戻します。 既存のファイルを上書きするかどうかを尋ねられます。 [ OK]をクリックします。

今あなたの。 htaccessファイルは、 wp-config.phpファイルへの外部アクセスをブロックする必要があります。

3.ルートディレクトリの外にwp-config.phpを非表示にします

すべてのハッカーはWordPressサイトでのwp-config.phpのデフォルトの場所を知っているため、場所をルートディレクトリ外の制限付きアクセスフォルダーに変更すると、ハッカーの手に渡らないようにすることができます。

このプロセスには、少し余分な構成が含まれます。ルートフォルダーの外にwp-config.phpをドラッグアンドドロップすることはできません。 ただし、Webサイトに保護の層を追加することは価値があります。

ほんの数ステップで、ルートフォルダの外にあるwp-config.phpファイルを保護できます。

ステップ1:現在のwp-config.phpファイルをダウンロードします

ルートフォルダは、 wp-config.phpファイルを含むすべてのWordPressファイルが存在する場所です。 「public_html」または「www」という名前を付けることができます。 ルートフォルダまたはWordPressディレクトリがどこにあるかわからない場合は、ホスティング会社に問い合わせてください。

ルートフォルダとWordPressディレクトリが見つかったら、SFTPまたはcPanelを介してwp-config.phpファイルをローカルマシンにダウンロードします。

ftp経由でwp-config.phpファイルをコンピューターに保存する

ステップ2:ルートフォルダの外に新しいディレクトリを作成します

ルートディレクトリの外に移動して、次のファイルフォルダレベルに移動します。 ルートフォルダの名前と他のいくつかのフォルダが表示されます。 このディレクトリで、右クリックして[ディレクトリの作成]を選択します。

ftp経由でディレクトリを作成する

ディレクトリに、 wp-config.phpファイルのリポジトリとして覚えやすい名前を付けます。 必要に応じて、ネストされたフォルダを複数作成することもできます。手順4では、すべてのフォルダの名前を覚えておく必要があります。

ステップ3: wp-config.phpを新しいフォルダーにアップロードする

以前にダウンロードしたwp-config.phpファイルをSFTPまたはcPanel経由で新しいフォルダーにアップロードします。

wp-config.phpを新しいディレクトリに移動する

新しいフォルダーとwp-config.phpファイルのアクセス許可を確認し、それらが600に設定されていることを確認します。

wp-config.phpのファイル権限を確認しています
ファイルのアクセス許可を600に変更

ステップ4:WordPressに新しいwp-config.phpファイルを指定します

新しい「シークレット」ディレクトリにwp-config.phpファイルがあり、ルートディレクトリにまだ残っている元のwp-config.phpファイルがあるはずです。 WordPressが正しいファイルを見つけて使用するには、ルートディレクトリのwp-config.phpファイル内のすべての情報を削除し、次のコードスニペットに置き換える必要があります。

 <?php include('/home3/usr/secureconfig/wp-config.php'); ?>

注:個々のサーバーのディレクトリ名を使用するため、ファイルパスは異なって見えます。

cPanelでは、ルートディレクトリのwp-config.phpファイルを開いて直接編集するか、ソースコードエディタを使用して以前にローカルマシンにダウンロードしたコピーを編集できます。 この例では、Atom.ioを使用して以前にダウンロードしたコピーを編集しました。

wp-config.phpファイルを保存し、ルートディレクトリにアップロードし直します。

wp-config.phpファイルの移動

ファイルを上書きするかどうかを尋ねられます。 [ OK]をクリックしてファイルを上書きします。

これで、WordPressはルートフォルダーの外の安全な場所にある新しいwp-config.phpファイルを参照する必要があります。

4.wp-config.phpファイルの名前を変更します

wp-config.phpファイルの名前を変更すると、ハッカーからファイルを隠すのにも役立ちます。 これを行う場合は、ルートフォルダの外でもこのファイルをホストする必要があります。 ルートディレクトリの外でwp-config.phpを非表示にする手順をすでに実行している場合は、次の追加手順を実行してwp-config.phpファイルの名前を変更できます。

ステップ1:ルートフォルダの外にある安全なディレクトリで、 wp-config.phpのファイル名を変更します

ルートディレクトリの外部でホストされているwp-config.phpフォルダーに移動し、名前を「secret-setup-file.php」「cheese-sandwich.php」などの一意の名前に変更します。これは実際には重要ではありません。

ステップ2:ルートディレクトリのwp-config.phpのコードを編集して、名前の変更を反映します

名前を変更したので、 wp-config.phpのルートディレクトリコピーが正しいファイル名を指していることを確認する必要があります。

wp-config.phpのルートフォルダーのコピーをローカルコンピューターにダウンロードし、選択したソースコードエディターで編集します。 wp-config.phpファイル名を新しいファイル名に変更して保存します。

 <?php include('/home3/usr/secureconfig/cheese-sandwich.php'); ?>

ステップ3: wp-config.phpをルートディレクトリにアップロードします

既存のファイルを上書きするかどうかを尋ねられます。 [ OK]をクリックします。

これで、WordPressは名前が変更された構成ファイルを指すはずです。

wp-config.phpは、WordPressのパフォーマンスを向上させるために編集します

wp-config.phpファイルを使用して、WordPress設定を最適化し、Webサイトのパフォーマンスを向上させることができます。 以下は、データベースのサイズと読み込みを減らし、サイトの読み込み時間を改善し、サーバースペースを節約するためにwp-config.phpに対して行うことができる7つの編集です。

1.画像編集をクリーンアップします

WordPressで画像を編集するたびに、新しいサムネイルとその他の画像サイズのセットが作成されます。 元の画像を復元しても、それらの編集は削除されません。 これにより、メディアフォルダが乱雑になる可能性があります。 サーバー上に画像編集のセットが1つだけ存在し、元の​​画像を復元するときに編集が削除されることを確認する場合は、次のコードを使用できます。

 define( 'IMAGE_EDIT_OVERWRITE', true );

2.データベースを修復します

サイトの実行速度が遅く、エラーが発生していて、データベースが破損していて修復が必要であると思われる場合は、WP_ALLOW_REPAIRを使用し、値を「true」に設定することで、データベースの自動修復を有効にできます。

 define( 'WP_ALLOW_REPAIR', true );

データベースの問題が解決したら、必ずこの機能を無効にしてください。 このスクリプトは、repair.phpファイル{$your_site}/wp-admin/maint/repair.phpにもあります。

3.改訂後の設定を管理します

投稿を編集している間、WordPressはデフォルトで60秒ごとにリビジョンを自動保存します。 保存間の遅延を長くしたい場合、または保存間隔をより頻繁にしたい場合は、自動保存間隔を変更できます。

 define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds

WordPressには保存されるポストリビジョンの数に制限がないため、ポストリビジョンがデータベースに与える負荷を減らしたい場合は、最大数を指定するか、リビジョンの保存を完全に無効にすることができます。

ポストリビジョンの最大数を指定します

define( 'WP_POST_REVISIONS', 3 );

ポストリビジョンを無効にする

define( 'WP_POST_REVISIONS', false );

4.ゴミ箱の設定を管理する

デフォルトでは、WordPressは、ゴミ箱に30日間保管された後、ゴミ箱にあるアイテムを完全に削除します。 その周波数を変更したい場合は、次のコードを使用して、希望する周​​波数に番号を設定できます。

 define( 'EMPTY_TRASH_DAYS', 30 ); // 30 days

日数をゼロに設定して、ゴミ箱が空になるのを無効にすることもできます。

 define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days

注:ゴミ箱を空にすることを無効にすると、誰かが[完全に削除]をクリックしても、WordPressは確認を求めません。 この設定は注意して使用してください。

5.cron設定を調整します

WordPressは、WP-Cronを使用して、更新の確認やスケジュールされた投稿の公開など、時間に敏感なタスクをスケジュールします。

スケジュールされた投稿が公開されていない場合、または他のcronジョブがサイトで完了しない場合は、別のcronを使用してみてください。 ALTERNATE_WP_CRONが「true」に設定されている場合、訪問者のブラウザは新しい接続にリダイレクトされますが、cronはドロップされた接続で実行を継続します。

 define( 'ALTERNATE_WP_CRON', true );

注:この方法は非ネイティブのWordPressサービスに依存しているため、いくつかのリスクが伴います。

cronプロセスが実行できる間隔を変更したり、cronを完全に無効にしたりすることもできます。

cronを無効にする

define( 'DISABLE_WP_CRON', true );

cronタイムアウト

define( 'WP_CRON_LOCK_TIMEOUT', 60 );

6.PHPに割り当てられるメモリを増やします

多くのPHPリソースを使用するプラグインまたはテーマがある場合は、「許可されたxxxxxxバイトのメモリサイズが使い果たされました」というメッセージが表示される場合があります。 一部のテーマとプラグインは、ソフトウェアまたはソフトウェアの特定の機能(デモデータのインポートなど)を使用できるようにするために、PHPのメモリ制限の最小値を指定する場合もあります。

WordPressは、デフォルトで、PHPのメモリ制限をシングルサイトの場合は40MB、マルチサイトインストールの場合は60MBに増やしようとしますが、制限をより高く設定する必要がある場合があります。 PHPのメモリ制限はホストによって設定される場合があり、一部のホストではPHPのメモリ制限を編集できますが、そうでないホストもあります。

ホストでPHPのメモリ制限を増やすことができる場合は、次のコードをwp-config.phpファイルに追加し、「96M」を必要なメモリ量に置き換えることができます(番号の後にMBではなくMを使用することを忘れないでください)。 :

 define( 'WP_MEMORY_LIMIT', '96M' );

この設定により、他のアプリケーションではなく、WordPressのPHPメモリのみが増加します。

WordPress管理領域のタスクは、Webサイトのフロントエンドでのアクティビティよりもはるかに多くのメモリを必要とします。 WP_MAX_MEMORY_LIMITを定義することにより、管理領域のメモリーを増やすことができます。

 define( 'WP_MAX_MEMORY_LIMIT', '256M' );

注:このコードは、 wp-config.phpファイルに含まれるwp-settings.phpの前に配置してください。

7.キャッシュを有効/無効にします

一部のキャッシングプラグインは、 advanced-cache.phpファイルを使用し、 wp-config.phpファイルでWP_CACHEをアクティブ化します。 以下を追加して、手動で追加する必要がある場合があります。

 define( 'WP_CACHE', true );

または、キャッシュを無効にすることもできます。 その場合は、上記のステートメントの「true」を「false」に置き換えてください。

 define( 'WP_CACHE', false );

wp-config.phpはWordPressのセキュリティを向上させるために編集します

wp-config.phpを使用して、外部URLリクエストをブロックしたり、管理者にSSLを要求したり、WordPressコアファイルとフォルダーの場所を移動したり、デフォルトのファイル権限をより制限された権限設定で上書きしたりすることで、WordPressサイトのセキュリティを管理できます。 wp-config.phpを使用してWebサイトのセキュリティを強化することに関心がある場合は、以下の7つのヒントを確認してください。

1.カスタムtable_prefixを定義します

WordPressデータベーステーブルのデフォルトのプレフィックスは「wp_」ですが、次のコードで任意のプレフィックスを使用できます。

 $table_prefix = 'customprefix_';

'customprefix_'を選択したテキストに置き換えますが、数字、文字、アンダースコアのみを使用します。特殊文字は使用しないでください。

注: WordPressの既存のインストールでテーブルプレフィックスを変更する場合は、データベース内のテーブルプレフィックスを更新し、検索を実行して前のテーブルプレフィックスへの参照を置き換え、それらを新しいもの。

2.管理者とログインにSSLを要求する

管理者のログイン情報を安全に保ちたい場合は、「FORCE_SSL_ADMIN」を使用して、パスワードとCookieが常にSSL経由で送信されるようにすることができます。 wp-config.phpの次のコードを使用して、「FORCE_SSL_ADMIN」を「true」に設定します。

 define( 'FORCE_SSL_ADMIN', true );

注:サイトがFORCE_SSL_ADMINをtrueに設定して正しく機能する前に、サーバーでSSLを構成する必要もあります。

3.外部URLリクエストをブロックする

セキュリティを強化するために、「WP_HTTP_BLOCK_EXTERNAL」を「true」として定義することで、サーバーからの外部URL要求を防ぐことができます。 この定数を有効にすると、Webサイトとローカルホストのみがリクエストを行うことができます。

 define( 'WP_HTTP_BLOCK_EXTERNAL', true );

If you want to make an exception for specific hosts, you can define WP_ACCESSIBLE_HOSTS with a list of comma separated host names. If you want to allow all subdomains of a host, prefix the domain name with '*.' (eg '*.wordpress.org'). and this will only allow localhost and your blog to make requests.

For example, if you want to make an exception for Google Fonts and all subdomains of WordPress.org, you would add the following to wp-config.php :

 define( 'WP_ACCESSIBLE_HOSTS', 'fonts.googleapis.com,*.wordpress.org' );

4. Disable the plugin and theme file editor

By default, WordPress site admins have access to the plugin and theme file editor feature in the WordPress dashboard. This can be a security risk. An admin that doesn't have a good understanding of how to (and how NOT to) edit these files could attempt to make edits that break your site. A disgruntled admin may intentionally sabotage these files, or a hacker may get access to the admin interface and attempt to edit core files through the plugin and theme file editor.

To disable the plugin and theme file editor define 'DISALLOW_FILE_EDIT' as 'true.'

 define( 'DISALLOW_FILE_EDIT', true );

Note : Some plugins may check user capabilities with “current_user_can('edit_plugins')”. If you have plugins installed that use this function, they may not work correctly when 'DISALLOW_FILE_EDIT' is set to 'true'. If you define 'DISALLOW_FILE_EDIT' as 'true' and you experience issues with a plugin afterward, then this function in the plugin code may be the culprit.

5. Disable plugin and theme updates and installations

If you want to block users from being able to update or install plugins and themes from the WordPress admin area, you can set 'DISALLOW_FILE_MODS' to 'true.' This will also disable the plugin and theme file editor.

 define( 'DISALLOW_FILE_MODS', true );

6. Move core WordPress folders

Keeping core WordPress folders in custom locations can help secure your site against hackers. Especially if hackers are using automated scripts to find the default names of certain files and folders, changing their location can protect your site against these types of attacks.

Move the wp-content folder

Your wp-content directory contains your themes, plugins, and uploads. You can move this outside of the WordPress directory by setting WP_CONTENT_DIR to the full local path of the directory or to the full URL.

File path

 define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );

URL

 define( 'WP_CONTENT_URL', 'http://example/blog/wp-content' );

Note: Do not include the trailing '/' in the file path.

Move the plugins folder

You can protect your plugins by moving the folder location and using the following options to define the path to your new folder:

Set 'WP_PLUGIN_DIR' to the full local directory path.

 define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );

Set 'WP_PLUGIN_URL' to the full directory URL.

 define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/secureplugins/plugins' );

If you encounter compatibility issues with plugins, you can set 'PLUGINDIR' to the full local directory path .

 define( 'PLUGINDIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );

Note: Do not include the trailing '/' in the file paths.

Move the uploads folder

Moving your uploads folder is a great way to help protect against scripts that may attempt to upload content directly to the default WordPress uploads folder file path. Use the 'UPLOADS' constant to define your path to the uploads folder.

 define( 'UPLOADS', 'blog/wp-content/secureuploads/uploads' );

Note: use a relative path to your uploads folder without the leading '/.'

7.デフォルトのファイル権限を上書きします

場合によっては、WordPressまたはホストのいずれかによって設定されたデフォルトのファイルパーミッションを上書きするためにファイルパーミッションを調整する必要があります。 SFTPまたはcPanelを介してファイルのアクセス許可を個別に変更できますが、 wp-config.phpを使用してそれらをまとめてオーバーライドすることもできます。 目的に応じて、一部のファイルとフォルダーにはより制限の厳しいアクセス許可を使用し、他のファイルとフォルダーにはより制限の少ないアクセス許可を使用することをお勧めします。

ファイル権限を上書きするには、「FS_CHMOD_FILE」定数を使用します。 ディレクトリ権限を上書きするには、「FS_CHMOD_DIR」を使用します。

ファイル

define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );

ディレクトリ

define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );

setgid(グループ権限)を提供する例:

 define( 'FS_CHMOD_DIR', ( 02755 & ~umask() ) );

注:0755」および「 02755 」は8進値であり、接頭辞として「0」を付ける必要があります。

開発者向けの高度なwp-config.php機能

セキュリティとサイトの最適化に加えて、開発者はwp-config.phpを使用して、WordPress環境に他のカスタム設定を追加できます。 以下は、 wp-config.phpでの使用を検討するためのいくつかの機能です。

1.WordPressURLを定義します

WP_SITEURL定数を使用すると、WordPressコアファイルが配置されているアドレスを定義できます。 http://またはhttps://、ルートドメイン、およびWordPressコアファイルを格納するサブフォルダーを含める必要があります。 ただし、URLの末尾に「/」を含めないでください。

 define( 'WP_SITEURL', 'http://yoursite.com/wordpress' );

wp-config.phpでWP_SITEURLアドレスを設定すると、データベースの「siteurl」の値が上書きされます。 WP_SITEURLは、実際に上書きするのではなく、データベースの「siteurl」値よりも優先されるため、 wp-config.phpファイルのWP_SITEURLコードを削除すると、「siteurl」の元のデータベース値が使用されます。

サーバーホストまたはサーバー名に基づいてサイトのURLを動的に設定することもできます。

サーバーホスト:

 define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );

サーバー名:

 define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/path/to/wordpress' );

注: HTTP_HOSTよりもSERVER_NAMEを使用する方が安全な場合があります。 HTTP_HOSTを使用すると、ファイルインクルードの脆弱性が発生する可能性があります。 また、サーバーがApacheを使用していて、 UseCanonicalNameが「on」として構成されている場合、SERVER_NAMEは動的に設定されず、代わりにサーバー構成によって設定されます。 この場合、HTTP_HOSTの代わりにSERVER_NAMEを使用する必要があります。

2.ホームURLを定義します

ホームURLは、サイトのフロントページにアクセスするために使用するURLです。 通常、WordPressをサブディレクトリにインストールした場合でも、ホームURLはルートドメイン(https://mysite.comなど)になります。

ホームURLの一部としてサブディレクトリを含める場合は、WP_HOMEを使用して、ホームのwp_optionsテーブル値を上書きできます。 データベース内では変更されないため、この行をwp-config.phpから削除すると、サイトのホームURLはwp_optionsテーブルの値に戻ります。

 define( 'WP_HOME', 'https://mysite.com/wordpress' );

また、サイトのルートディレクトリのindex.phpに次のコードを追加する必要があります。

 define( 'WP_HOME', 'https://mysite.com' );

「SERVER_NAME」や「SERVER_HOST」と同様に、「WP_HOME」を動的に設定することもできます。 次のように、http://またはhttps://とWordPressへのファイルパス(ルートドメインなし)の間で$_SERVER['HTTP_HOST']を使用します。

 define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );

3.Cookieドメインを設定します

非標準のドメイン設定がある場合は、「COOKIE_DOMAIN」定数を使用してCookieドメインを指定することをお勧めします。 このユースケースは次のとおりです。

サブドメインから静的コンテンツを提供します。 サブドメインから静的コンテンツを提供しているが、動的コンテンツが存在するURLにCookieドメインを設定する場合は、次を使用します。

 define( 'COOKIE_DOMAIN', 'www.mysite.com' );

注:ドメイン名の前にhttp://またはhttps://を含める必要はありません。

マルチサイトネットワークの実行。 ドメインのサブフォルダでマルチサイトネットワークを実行していて、Cookieに問題がある場合(たとえば、「Cookieがブロックされているか、ブラウザでサポートされていません。WordPressを使用するにはCookieを有効にする必要があります。」というエラーが発生する場合)、次のことを確認できます。そのCookieは、COOKIE_DOMAINを空の値に設定することにより、要求されたドメインに属し、単一のドメインからのものではありません。

 define( 'COOKIE_DOMAIN', '' );

4.マルチサイト機能を有効にする

WordPressには、マルチサイト機能が自動的に有効になることはありません。 ほとんどのWordPressインストールはその機能を必要としません。 ただし、必要な場合は、「WP_ALLOW_MULTISITE」定数を使用して簡単に有効にできます。

 define( 'WP_ALLOW_MULTISITE', true );

5.存在しないサブドメインまたはフォルダーをリダイレクトします

コンテンツが見つからない場合に訪問者にデフォルトの404ページを表示させることもできますが、カスタムページに誘導する方がユーザーエクスペリエンスが向上する可能性があります。 'NOBLOGREDIRECT'定数を使用して、 wp-config.phpを介してこれを簡単に行うことができます。

 define( 'NOBLOGREDIRECT', 'https://mysite.com/custompage' );

6.グローバルテーブルをアップグレードしないでください

大規模なグローバルテーブルがあるサイトがある場合、または複数のWordPressインストール間でユーザーテーブルを共有している場合(フォーラムサイトとeコマースサイトはこれらのカテゴリに分類される場合があります)、'DO_NOT_UPGRADE_GLOBAL_TABLESを設定することで、アップグレードプロセス中にWordPressがグローバルテーブルに対してリソースを大量に消費するクエリを実行しないようにすることができます'から'true。 '

 define( 'DO_NOT_UPGRADE_GLOBAL_TABLES', true );

7.自動更新設定を管理します

テーマ、プラグイン、WordPressコアの自動更新を無効にすることをお勧めします。特に、開発サイトのテスト中や問題のトラブルシューティングを行っている場合はそうです。 また、WordPressコアがマイナーアップデートのみ、すべての新しいバージョンリリースに対して自動的に更新されるか、まったく更新されないかを選択することもできます。

自動更新を無効にする

すべての自動更新を完全に無効にするには、「AUTOMATIC_UPDATER_DISABLED」を「true」に設定します。

 define( 'AUTOMATIC_UPDATER_DISABLED', true );

WordPressコアアップデートを無効にする

'WP_AUTO_UPDATE_CORE'定数を設定して、すべてのバージョンリリースの自動更新、マイナー更新のみを許可するか、すべての自動コア更新を無効にすることができます。

すべてのコアアップデートを無効にする

define( 'WP_AUTO_UPDATE_CORE', false );

すべてのコアアップデートを有効にする

 define( 'WP_AUTO_UPDATE_CORE', true );

マイナーリリースのコアアップデートを有効にする

define( 'WP_AUTO_UPDATE_CORE', 'minor' );

8.WordPressのアップグレード定数を定義します

WordPressのアップグレードで問題が発生した場合は、問題の根本原因を突き止めるために、追加のWordPressアップグレード定数を定義する必要があるかもしれません。 問題を解決するために、これらの定数をできるだけ少なくするようにしてください。

wp-config.phpでこれらの定数を定義する必要がある最も一般的な2つの理由は、次のとおりです。

  • ホストはインストールでシンボリックリンクを使用しています。 この場合、FTP_BASE、FTP_CONTENT_DIR、FTP_PLUGIN_DIRなどのパス関連の定数を定義する必要がある場合があります。
  • PHPインストールでは、特定のFTPサーバーと互換性のないFTP拡張機能を使用しています。 これはまれな状況ですが、これに対処していることに気付いた場合は、FS_METHODを「ftpsockets」に定義する必要があるかもしれません。

以下は、WordPressアップデートの有効な定数とサンプルコードのリストです。

FS_METHOD これにより、ファイルシステムメソッドが強制されます。 優先順に、 directssh2ftpext 、またはftpsocketsに設定する必要があります。 更新の問題がある場合にのみ、これを変更してください。 変更しても問題が解決しない場合は、元の値に戻すか、削除する必要があります。 他の方法が失敗した場合、通常は「ftpsockets」が機能します。 define('FS_METHOD'、'ftpext');
FTP_BASE WordPressインストールフォルダー(ABSPATH)へのフルパス。 define('FTP_BASE'、'/ path / to / wordpress /');
FTP_CONTENT_DIR wp-contentフォルダーへのフルパス。 define('FTP_CONTENT_DIR'、'/ path / to / wordpress / wp-content /');
FTP_PLUGIN_DIR プラグインフォルダへのフルパス。 define('FTP_PLUGIN_DIR'、'/ path / to / wordpress / wp-content / plugins /');
FTP_PUBKEY SSH公開鍵へのフルパス。 define('FTP_PUBKEY'、'/home/username/.ssh/id_rsa.pub');
FTP_PRIKEY SSH秘密鍵へのフルパス。 define('FTP_PRIKEY'、'/home/username/.ssh/id_rsa');
FTP_USER FTPユーザー名またはSSHユーザー名のいずれかを定義します。 これらは多くの場合同じですが、異なる場合があります。 FTPで更新する場合はFTPユーザー名を使用し、SSH経由で更新する場合はSSHユーザー名を使用します。 define('FTP_USER'、'ユーザー名');
FTP_PASS FTP_USERで定義されたユーザー名のパスワード。 SSH公開鍵認証を使用している場合は、これを含める必要はありません。 define('FTP_PASS'、'パスワード');
FTP_HOST SSH/FTPサーバーのホスト名。 一部の構成では、プラグインまたはWordPressコアを更新するときに503エラーを回避するために、「FTP_HOST」値として「localhost」を使用する必要があります。 define('FTP_HOST'、'ftp.mysite.com');
FTP_SSL この設定は、SSH SFTPではなく、「セキュアFTP」の構成に適用されます。 基盤となるトランスポートでサポートされている場合にのみ、SSL接続の場合はこれを「true」に設定します。 これは、すべてのサーバーで使用できるとは限りません。 SFTP: define('FTP_SSL'、true); FTP: define('FTP_SSL'、false);

9.カスタムユーザーテーブルとusermetaテーブルを作成します

定数「CUSTOM_USER_TABLE」および「CUSTOM_USER_META_TABLE」は、ユーザーデータを格納するためのカスタムテーブルを割り当てるために使用されます。 これらの設定は、WordPressを最初に設定するときに最適に実装されます。

 define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' ); define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );

:WordPressのマルチサイトインストールを実行している場合、「CUSTOM_USER_META_TABLE」を手動で定義した場合でも、各WordPressインスタンスのデータベースに対してusermetaテーブルと対応する権限が作成されます。 権限は最初のユーザーにのみ追加されるため、カスタム関数またはプラグインを使用して各サイトのユーザー権限を管理する必要があります。そうしないと、ログインの問題が発生します。

マルチサイトのセットアップ中にカスタムユーザーおよびusermetaテーブルを使用して管理者アクセスを確保する:

  1. 最初のサイトを作成し、カスタムuserテーブルとusermetaテーブルを追加したら、 wp-config.phpファイルを次のインスタンスにコピーし、$table_prefix変数を変更します。 最初のサイトで「my_usermeta」を使用している場合、2番目のサイトでは別のサイトを使用する必要があります(例:「site2_usermeta」)。
  2. この次のインスタンスには、元のインストールで使用したものとは異なる電子メールアドレスを使用してください。
  3. セットアップが完了したら、自動生成された管理者アカウントとパスワードを使用してログインします。
  4. 管理者として使用するアカウントを管理者レベルに昇格させてから、WordPress管理者からログアウトします。
  5. 新しい管理者アカウントで再度ログインし、自動生成されたアカウントを削除します。

10.分析のためにクエリを保存します

データベースクエリを実行および分析し、後で調べるためにそれらを保存する必要がある場合は、 wp-config.phpの「SAVEQUERIES」定数を使用できます。 クエリは配列に保存され、 footer.phpファイルのコードを使用して表示できます。 この関数は、クエリ、それらを呼び出した関数、およびクエリの実行にかかった時間の長さを保存します。

この操作はサイトの速度を低下させる可能性があるため、アクティブにデバッグしている場合を除き、この機能をオフにする必要があります。

以下をwp-config.phpに追加します。

 define( 'SAVEQUERIES', true );

(テーマフォルダー内の) footer.phpに、次のコードを追加します。

 <?php
if ( current_user_can( 'administrator' ) ) {
global $wpdb;
echo "<pre>";
print_r( $wpdb->queries );
echo "</pre>";
}
?>

11.デバッグとエラーログを構成します

死の白い画面を覚えていますか? さて、WordPress 5.2のリリース後、恐ろしい空白の白い画面の代わりに、「サイトで技術的な問題が発生しています。 手順については、サイト管理者の電子メール受信ボックスを確認してください。」 致命的なエラーが発生したとき。

もちろん、致命的なエラーが発生した場合は、問題のトラブルシューティングを行えるように、デバッグとエラーログを有効にする必要があります。 これを行うには、「WP_DEBUG」定数を使用して「true」に設定します(デフォルト値は「false」です)。

 define( 'WP_DEBUG', true );

'WP_DEBUG'を'true'に設定すると、データベースエラーが出力され、エラー報告レベルが上がり、非推奨のファイルまたは関数が使用されているときに警告が表示されるようになります。

ただし、これらのエラーを出力する前に、「WP_DISABLE_FATAL_ERROR_HANDLER」を「true」に設定してリカバリモードを無効にし、「WP_DEBUG_DISPLAY」を有効にする必要があります。

 define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );   // 5.2 and later define( 'WP_DEBUG_DISPLAY', true );

エラーをログに記録せず、代わりに画面に印刷することもできますが、ライブサイトで一般に公開されているエラーを印刷しないように、開発サイトまたはステージングサイトでこれらの設定を有効にする必要があります。 php.iniファイルの設定が、エラーを表示するのではなくログに記録するようにすでに設定されている場合は、 wp-config.phpで次のようにオーバーライドできます。

 @ini_set( 'log_errors', 'Off' ); @ini_set( 'display_errors', 'On' ); define( 'WP_DEBUG_LOG', false );

php.iniがエラーをログに記録するように設定されておらず、エラーログを有効にする場合は、もう少し作業を行う必要があります。

デフォルトのエラーログと表示設定は、 php.iniファイルにあります。 場合によっては、このファイルにアクセスできないか、ホスティング会社がuser.iniまたはその他の命名規則を使用している可能性があります。 このファイルにアクセスできない場合は、ホスティング会社にこれらの変更を依頼してください。

推奨されるphp.iniエラー設定:

 error_reporting = 4339 display_errors = Off display_startup_errors = Off log_errors = On error_log = /home/mysite.com/logs/php_error.log log_errors_max_len = 1024 ignore_repeated_errors = On ignore_repeated_source = Off html_errors = Off

エラーログをオンにする場合は、後でファイルを削除することを忘れないでください。ファイルは公的にアクセス可能な場所にあることが多く、誰でもログにアクセスできる可能性があります。

wp-config.phpを使用してPHPerror_loggingをオンにし、指定したファイルにログを記録することもできます。 WP_DEBUGがtrueに定義されていることを確認し、 require_onceまたはincludeコマンドの上に以下を配置します。

 @ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); @ini_set( 'error_log', '/home/mysite.com/logs/php_error.log' ); /* That's all, stop editing! Happy blogging. */

エラーロギング手法のその他の例については、wp-hackersのメーリングリストまたはManchester WordPressUserGroupに関するMikeLittleの提案を確認してください。

デバッグとログの設定を実装する際に留意すべき重要なことがいくつかあります。

  1. 「WP_DEBUG」が「false」に設定されている場合、「WP_DEBUG_DISPLAY」および「WP_DEBUG_LOG」は機能しません。
  2. 'WP_DEBUG'が'true'に設定されている場合、他の定数も'true'に設定されている場合にのみアクティブになります。 これには、 wp-config.phpのステートメントだけでなく、 php.iniファイルのディレクティブも含まれます。 したがって、 php.iniが設定されている場合('display_errors' ='Off'); しかしdefine('WP_DEBUG_DISPLAY'、true); wp-config.phpファイルにが設定されている場合、PHPで構成された動作が優先されるため、エラーは表示されません。
  3. ディレクティブが意図したとおりに機能するようにするには、 php.ini設定とそれに対応するwp-config.php設定の両方を明示的に定義する必要があります。

パブリックな本番WordPressインストールの場合、部分的に冗長である場合でも、 wp-config.phpファイルに以下を配置することを検討してください。

 @ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); define( 'WP_DISABLE_FATAL_ERROR_HANDLER', false ); // 5.2 and later define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', false ); define( 'WP_DEBUG_DISPLAY', false );

注:デフォルトの場所/wp-content/debug.logでデフォルトのデバッグログファイルを使用している場合は、ファイルアクセスをSFTPのみに制限する必要があります。 ログファイルのアクセス許可を600に設定し、以下をに追加します。 ルートディレクトリのhtaccessファイル:

 <Files debug.log> Order allow,deny Deny from all </Files>

12.WordPress環境タイプを定義します

ローカルサイト、開発サイト、またはステージングサイトを設定する場合は、「WP_ENVIRONMENT_TYPE」を定義すると便利な場合があります。 この定数が定義されていない場合、デフォルトの環境タイプは本番環境です。 許可される値は、ローカル開発ステージング、および本番です。

 define( 'WP_ENVIRONMENT_TYPE', 'staging' );

注: 「WP_ENVIRONMENT_TYPE」が「development」に設定されている場合、 wp-config.phpでまだ定義されていない場合、WP_DEBUGは自動的に「true」に設定されます。

13.デバッグスクリプト

JavaScriptとCSSの問題をトラブルシューティングしている場合は、SCRIPT_DEBUG定数を使用して、WordPressに開発バージョンのスクリプトとスタイルシートを使用させることができます。 wp-includes / jswp-includes / csswp-admin / js 、およびwp-admin / cssのファイルは、縮小バージョンの代わりにロードされます。 これらの開発バージョンを表示するには、「SCRIPT_DEBUG」を「true」に設定します。

 define( 'SCRIPT_DEBUG', true );

14.JavaScriptの連結を無効にします

WordPressでは、JavaScriptファイルがシーケンス処理され、管理画面の読み込み時間が短縮されます。 WordPress管理領域でJavaScriptエラーが発生した場合は、「CONCATENATE_SCRIPTS」を「false」に設定することで、スクリプトの連結を無効にできます。

 define( 'CONCATENATE_SCRIPTS', false );

これはwp-config.phpの究極のガイドですか?

この記事は非常に広範で、 wp-config.phpを見つけ、アクセスし、編集する方法の基本からすべてをカバーしていますが、決して網羅的ではありません。 wp-config.phpファイルの設定方法は、ニーズ、サーバー環境、および個人的な好みによって異なります。 wp-config.phpファイルの使用方法についてさらに質問がある場合は、WordPress.orgのサポートドキュメントを参照してください。 以下に、よくある質問への回答もいくつか含めました。

wp-config.phpFAQ

wp-config.phpの場所が見つからない場合はどうなりますか?

wp-config.phpファイルは通常WordPressインストールのルートフォルダーにありますが、別の場所にある場合もあります。 以前の開発者からWordPressサイトを引き継いでいる場合、またはホスティング会社が自動的にWordPressをインストールしている場合は、これが発生する可能性が高くなります。 wp-config.phpファイルが見つからない場合は、SFTPプログラムまたはcPanelで検索できます。

Filezilla

Filezillaを使用してSFTP経由でサイトにアクセスしている場合は、上部の双眼鏡アイコンをクリックしてファイル検索を実行できます。 wp-config.phpがルートディレクトリ外のフォルダにある場合は、アクセスできる最上位のフォルダで「wp-config.php」を検索します。 サーバー上のすべてのフォルダを検索するため、結果が表示されるまでに数分かかる場合があります。

Filezillaの検索フォーム

cPanel

cPanelでwp-config.phpを検索するのは非常に簡単です。 ホストのcPanelで、[ファイル]の下の[ファイルマネージャー]をクリックします。

サーバー上のファイルツリーに移動し、画面の右上に検索フィールドが表示されます。 左側のドロップダウンセレクターを使用して、すべてのファイルを検索するか、特定のディレクトリのみを検索するかを選択できます。 wp-config.phpがどこにあるかわからないので、すべてのディレクトリを検索するのがおそらく最善です。

検索フィールドに「wp-config.php」と入力し、「実行」をクリックします

cpanelでフォームを検索

それでもwp-config.phpが見つからない場合は、そのフォルダーにアクセスするための適切なアクセス許可が設定されていない可能性があります。 この場合、ホスティング会社に連絡して支援を求めてください。

wp-config.phpファイルが書き込み可能でない場合はどうなりますか?

WordPressダッシュボードにwp-config.phpの書き込み権限がないというエラーが表示された場合は、プラグインがwp-config.phpへの書き込みアクセスを必要としていることが原因である可能性があります。 一部のプラグインでは、プラグインが機能するために必要なコードを追加するために、このタイプのアクセスが必要です。 ただし、一部のホストは、セキュリティ上の理由からwp-config.phpに厳密なアクセス許可を実装し、これらのプラグインへの書き込みアクセスも拒否する場合があります。

ホストがこれらの設定の変更を許可している場合は、SFTPまたはcPanelを介してファイルとフォルダーのアクセス許可を変更できるはずです。

SFTP

この例では、Filezillaを使用しています。

1.SFTP経由でサーバーに接続します。

2.wp-config.phpファイルを見つけます。 デフォルトではWordPressインストールのルートフォルダにありますが、別の場所にある場合もあります。

3. wp-config.phpファイルを右クリックし、[ファイルのアクセス許可]をクリックします。

ファイルのアクセス許可を編集する

ファイルのアクセス許可が640または644に設定されていることを確認してください。

ファイルのアクセス許可を644に設定する

wp-config.phpがルートフォルダー外のフォルダーにある場合は、フォルダーのアクセス許可が750または755に設定されていることを再確認してください。

ファイルのアクセス許可を755に設定する

注:ホスティングプラットフォームによっては、異なる権限値を使用する必要がある場合があります。 ファイルの場合は664と666を試すことができます。フォルダの場合は775を試してください。

ファイルのアクセス許可を変更しても書き込みアクセス権の付与の問題が解決しない場合は、ファイルの所有権設定が原因である可能性があり、変更を加えるにはホスティングプロバイダーに連絡する必要があります。

WordPressファイルのアクセス許可についてもっと読む。

プラグインは私のwp-config.phpファイルを編集できますか?

フォルダーとファイルのアクセス許可が書き込みアクセスを許可するように設定されている場合(フォルダーの場合は750、755、または775、ファイルの場合は640、644、664、または666)、プラグインはwp-config.phpに書き込むことができるはずです。 プラグインがwp-config.phpファイルに書き込めないようにする場合は、440または400のより厳密なファイル権限を設定できます。これにより、サーバー上の他のユーザーがwp-config.phpを読み取ることもできなくなります。

wp-config-sample.phpとは何ですか?

最初にWordPressをダウンロードするとき、 wp-config.phpファイルは含まれていません。 このファイルは通常、インストールプロセス中に設定されるか、手動で構成できます。 wp-config-sample.phpファイルはWordPressに含まれているため、ユーザーはwp-config.phpを手動で構成するときに使用するテンプレートを使用できるほか、何かが発生した場合に使用できるバックアップの「クリーンスレート」テンプレートも使用できます。作成した元のwp-config.phpファイル。

wp-config-sample.phpには、WordPressのセットアップに必要なすべての基本定数とプレースホルダー値、およびユーザーが特定の情報を配置する場所を理解するのに役立つファイル内のセクションのコメントアウトされた説明が含まれています。

wp-config-sample.phpコンテンツ:

 <?php /** * The base configuration for WordPress * * The wp-config.php creation script uses this file during the installation. * You don't have to use the web site, you can copy this file to "wp-config.php" * and fill in the values. * * This file contains the following configurations: * * * Database settings * * Secret keys * * Database table prefix * * ABSPATH * * @link https://wordpress.org/support/article/editing-wp-config-php/ * * @package WordPress */ // ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** Database username */ define( 'DB_USER', 'username_here' ); /** Database password */ define( 'DB_PASSWORD', 'password_here' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' ); /**#@+ * Authentication unique keys and salts. * * Change these to different unique phrases! You can generate these using * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}. * * You can change these at any point in time to invalidate all existing cookies. * This will force all users to have to log in again. * * @since 2.6.0 */ 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' ); /**#@-*/ /** * WordPress database table prefix. * * You can have multiple installations in one database if you give each * a unique prefix. Only numbers, letters, and underscores please! */ $table_prefix = 'wp_'; /** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. * * For information on other constants that can be used for debugging, * visit the documentation. * * @link https://wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false ); /* Add any custom values between this line and the "stop editing" line. */ /* That's all, stop editing! Happy publishing. */ /** Absolute path to the WordPress directory. */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); } /** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';