チュートリアルを読んで、wp-config ファイルを編集するように言われたけど、それが何なのかわからないということはありませんでしたか?
この記事では、WordPress の wp-config.php ファイルを適切に編集する方法を紹介します。
チュートリアルを読んで、wp-config ファイルを編集するように言われたけど、それが何なのかわからないということはありませんでしたか?
この記事では、WordPress の wp-config.php ファイルを適切に編集する方法を紹介します。
その名が示すように、これはすべてのセルフホスティングWordPressサイトに含まれる設定ファイルです。
他のファイルとは異なり、wp-config.phpファイルはWordPressに組み込まれているのではなく、インストールプロセス中にあなたのサイト用に特別に生成されます。
WordPressは、wp-config.phpファイルにデータベース情報を保存します。この情報がないと、WordPressのウェブサイトは動作せず、「error establishing database connection」エラーが表示されます。
データベース情報とは別に、wp-config.phpファイルにはいくつかのハイレベルな設定も含まれています。それらについては、この記事の後半で説明します。
このファイルには多くの機密情報が含まれているため、他に選択の余地がない場合を除き、このファイルをいじらないことをお勧めします。
しかし、この記事を読んでいるということは、wp-config.phpファイルを編集しなければならないことを意味します。以下は、物事を台無しにすることなくそれを行うための手順です。
まず最初に行うべきことは、WordPressの完全なバックアップを作成することです。wp-config.phpファイルはWordPressサイトにとって非常に重要で、ほんの少しのミスでサイトにアクセスできなくなります。
ウェブサイトに接続するために、FTPクライアントが必要です。WindowsユーザーはWinSCPまたはSmartFTPを、MacユーザーはTransmitまたはCyberDuckをインストールすることができます。FTPクライアントは、サーバーとあなたのコンピュータの間でファイルを転送することができます。
FTPクライアントを使用して、Webサイトに接続します。FTPのログイン情報が必要ですが、これはウェブホストから入手できます。FTPログイン情報がわからない場合は、Webホストにサポートを依頼することができます。
wp-config.phpファイルは通常、ウェブサイトのルートフォルダにあり、/wp-content/のような他のフォルダもあります。
wp-config.phpファイル上で右クリックし、メニューからダウンロードを選択するだけです。FTPクライアントがwp-config.phpファイルをあなたのコンピュータにダウンロードします。メモ帳やテキストエディットなどのプレーンテキストエディタプログラムを使って、このファイルを開いて編集することができます。
始める前に、デフォルトのwp-config.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';
wp-config.phpファイルの各セクションは、ファイル自体にしっかりと文書化されています。ここでのほとんどすべての設定は、PHP 定数を使用して定義されています。
define( 'constant_name' , 'value');
wp-config.phpファイルの各セクションを詳しく見てみましょう。
WordPressのデータベース接続設定は、wp-config.phpファイルの「MySQL設定」セクションに表示されます。このセクションには、MySQLホスト、データベース名、データベースのユーザー名とパスワードが必要です。
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');
/** MySQL database username */
define('DB_USER', 'username_here');
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
/** MySQL 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', '');
データベース情報は、ウェブホスティングアカウントのcPanelをご利用の場合、データベースというラベルの付いたセクションから取得できます。
WordPressデータベースまたはMySQLのユーザー名とパスワードが見つからない場合は、Webホストに連絡する必要があります。
Authentication unique keys and salts は、WordPressサイトのセキュリティを向上させるためのセキュリティキーです。これらのキーは、WordPress が生成するユーザーセッションと Cookie を強力に暗号化します。詳しくは、WordPress セキュリティキーのガイドをご覧ください。
/**#@+
* 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のセキュリティキーを生成して、ここに貼り付けることができます。特に、WordPressサイトが侵害された可能性がある場合に便利です。セキュリティキーを変更すると、WordPressサイトに現在ログインしているすべてのユーザーがログアウトし、再度ログインする必要があります。
WordPressのデフォルトでは、WordPressが作成するすべてのテーブルにwp_プレフィックスが付加されます。WordPressのデータベーステーブルの接頭辞は、ランダムなものに変更することをお勧めします。これにより、ハッカーがあなたのWordPressのテーブルを推測することが難しくなり、一般的なSQLインジェクション攻撃からあなたを救うことができます。
/**
* 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_';
既存のWordPressサイトでは、この値を変更することはできませんので、ご注意ください。既存のWordPressサイトでこれらの設定を変更するには、WordPressデータベースのプレフィックスを変更する方法の記事で説明されている手順に従ってください。
この設定は、WordPressの開発を学ぼうとするユーザーや、実験的な機能を試すユーザーにとって特に有効です。WordPress のデフォルトでは、コードを実行する際に PHP が生成する通知を非表示にします。デバッグモードを true に設定するだけで、これらの通知が表示されるようになります。これは、開発者がバグを見つけるために重要な情報を提供します。
define('WP_DEBUG', false);
wp-configファイルの最後の部分は、WordPressのバーとインクルードファイルのセットアップに使用される絶対パスを定義しています。ここで何かを変更する必要は全くありません。
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
その他にも、エラーのトラブルシューティングや多くの一般的なWordPressのエラーを解決するのに役立つwp-config.phpの設定がいくつか存在します。
WordPressホスティングプロバイダーがMySQLホストに代替ポートを使用している場合、DB_HOSTの値にポート番号を含めるように変更する必要があります。これは新しい行ではなく、既存の DB_HOST 値を編集する必要があることに注意してください。
define( 'DB_HOST', 'localhost:5067' );
ポート番号5067を、お使いのウェブホストが提供する任意のポート番号に変更することを忘れないでください。
もしあなたのホストがMySQLにソケットとパイプを使用しているならば、次のように追加する必要があります。
define( 'DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock' );
WordPressサイトを新しいドメイン名や新しいウェブホストに移動する際に、WordPressのURLを変更する必要がある場合があります。これらのURLは、設定 > 一般 ページにアクセスして変更できます。
これらのURLは、wp-config.phpファイルを使用して変更することも可能です。これは、WordPressの管理画面にアクセスできない場合に便利です。wp-config.phpファイルに以下の2行を追加するだけです。
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
example.comを自分のドメイン名に置き換えることを忘れないでください。また、検索エンジンは www.example.com と example.com を2つの異なる場所として扱うことを覚えておく必要があります (参照:www vs 非www – SEOのためにどちらが良いか?)。あなたのサイトがwwwの接頭辞でインデックスされている場合は、それに応じてドメイン名を追加する必要があります.
デフォルトでは、WordPressはすべてのメディアアップロードを/wp-content/uploads/ディレクトリに格納します。もし、メディアファイルを他の場所に保存したい場合は、wp-config.php ファイルに次のコードを追加することで可能です。
define( 'UPLOADS', 'wp-content/media' );
アップロードディレクトリのパスは、WordPressに自動的に設定されたABSPATHからの相対パスであることに注意してください。ここに絶対パスを追加しても動作しません。詳しくは、WordPressのデフォルトのメディアアップロード場所を変更する方法の詳細ガイドをご覧ください。
WordPressは、WordPress 3.7で自動アップデートを導入しました。これは、マイナーアップデートがあった場合に、WordPressサイトが自動的に更新されるようにしたものです。自動アップデートはセキュリティの面では優れていますが、場合によってはWordPressサイトが壊れ、アクセス不能になることもあります。
wp-config.php ファイルにこの一行を追加すると、WordPress サイトの自動アップデートをすべて無効にすることができます。
define( 'WP_AUTO_UPDATE_CORE', false );
詳しくは、WordPressの自動更新を無効にする方法についてのチュートリアルをご覧ください。
WordPressには、自動保存とリビジョンが組み込まれています。WordPress の投稿リビジョンで変更を取り消す方法については、チュートリアルをご覧ください。しかし、大規模なサイトを運営している場合、リビジョンは WordPress データベースのバックアップサイズを増加させる可能性があります。
このコードを wp-config.php ファイルに追加して、投稿に保存されるリビジョンの数を制限してください。
define( 'WP_POST_REVISIONS', 3 );
3を保存したいリビジョンの数に置き換えてください。WordPressは古いリビジョンを自動的に破棄するようになりました。しかし、古い投稿リビジョンはまだデータベースに保存されています。WordPressで古い投稿リビジョンを削除する方法については、チュートリアルを参照してください。
WordPress の wp-config.php ファイルを編集する方法と、それを使ってできるクールなことについて、この記事がお役に立てれば幸いです。WordPressの関数ファイルに関する25以上の非常に便利なトリックについての記事もご覧ください。