wp-config.phpファイル完全攻略ガイド

wp-config.phpファイル完全攻略ガイド

WordPressサイトを運営するなら、wp-config.phpファイルの存在は避けて通れません。WordPressのインストール時に作成されるこのファイル、実はデータベースとの接続に欠かせない重要な設定が詰まっているのです!

このファイルがなければ、WordPressサイトはデータベースからデータを保存したり取得したりできなくなってしまいます。サイトのセキュリティを守るためにも、ウェブマスターなら必ず押さえておきたい知識のひとつです。

そこで本記事では、wp-config.phpファイルの役割から実際の編集方法まで、初心者の方にもわかりやすく解説していきます。カスタム設定の実装方法もご紹介するので、ぜひ最後までお付き合いください。

WordPressの完全早見表をダウンロード

wp-config.phpファイルとは

wp-config.phpファイルは、WordPressのインストール時に自動で作成される構成ファイルであり、データベース名やユーザー名、パスワード、ホストといったデータベース情報が保存されています。

WordPressサイトとデータベースをつなぐ役割だけでなく、サイトに高度な設定を実装する際にも活躍する万能ファイルなのです。

ファイルの保存場所はWebサイトのルートフォルダ。FileZillaなどのFTPクライアントや、Webホストのファイルマネージャーを使ってアクセス可能です。以下の例では、/public_htmlディレクトリ内にwp-config.phpファイルが確認できます。

もしwp-config.phpファイルを手動で作成する必要がある場合も心配いりません。WordPressではwp-config-sample.phpというサンプルファイルをルートフォルダ内に用意してくれています。

必要な情報がすべて含まれているので、WordPress初心者の方でも安心して使えますが、コードの順序を変更するとサイトにエラーが発生する可能性があるので、編集時は慎重に行いましょう。

では、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:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://wordpress.org/support/article/editing-wp-config-php/
*
* @package WordPress
*/

// ** 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', '' );

/**#@+
* 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';

WordPressでは、PHPスクリプトの実行時に変更できない値の識別子であるPHP定数という仕組みを採用し、wp-config.phpファイル内でデータベース設定を定義する際に活用されています。各設定には説明が付いているので、コードテンプレートも使いやすくなっているのが特徴です。

WordPressのwp-config.phpファイルはどこにある?

WordPressサイトのルートディレクトリ内でPHPファイルを見つけるには、レンタルサーバー会社が提供するファイルマネージャーまたはFTPクライアントを使用します。以下のセクションでは、HostingerのhPanel、cPanel、FTP経由でwp-config.phpファイルを見つける方法を説明します。

hPanelでwp-config.phpファイルを見つける方法

Hostingerのファイルマネージャーを使えば、wp-config.phpを含むすべてのWordPressファイルへ簡単にアクセスできます。ダッシュボードへのログイン認証情報さえあれば準備OK。実際の手順を見ていきましょう。

  • hPanelのファイルセクションでファイルマネージャーをクリック
  • サイドバーにあるpublic_htmlフォルダをクリック
  • wp-config.phpファイルが見つかるまでスクロール 

cPanelでwp-config.phpファイルを見つける方法

cPanelをお使いの方も安心してください。cPanelにもファイルマネージャーが標準装備されています。手順は以下のとおりです。

  • cPanelのファイルセクションでファイルマネージャーをクリック
  • サイドバーからpublic_html wpフォルダの順にアクセス 
  • wp-config.phpファイルが見つかるまでスクロール 

FTP経由でwp-config.phpファイルを見つける方法

FTPクライアントを使ってwp-config.phpファイルを探す方法もあります。設定方法で迷ったら、FileZillaの設定方法に関する解説記事をチェックしてみてください。

以下、FTPクライアント経由での手順です。

  • レンタルサーバー会社からFTP認証情報を取得します。Webサイトが HostingerのWordPress向けマネージドホスティングやその他のレンタルサーバーで運用されている場合、hPanelのファイルセクション内のFTPアカウントで確認可能です。もし見つからない場合は、レンタルサーバー会社に情報リクエストを送信しましょう。 
  •  FileZillaを開き、FTP認証情報を入力しQuickconnectをクリック
  • サイトのルートディレクトリ(public_html)に移動すれば、wp-configファイルが見つかります

wp-config.phpファイルの再配置

WordPressサイトの構成ファイルは通常ルートフォルダに保存されているため、どうしてもマルウェア攻撃の標的になりやすいのが現状です。

ファイルパーミッションの設定だけでなく、セキュリティ強化のためにファイルをデフォルトの場所から移動させることを推奨します!

以下では、ファイルマネージャーを使ったwp-config.phpファイルの再配置方法をご紹介します。/p>

  • WordPressサイトのルートディレクトリにあるwp-config.phpファイルを探します 
  • 任意の別ディレクトリにwp-config.phpファイルをコピー&ペースト(今回は/public_html/wp-admin/user内に配置) 
  • 新しいwp-configファイルの名前を変更。ハッカーに気づかれないよう、重要でないファイルに見せかけるのがポイントです
  • 元のwp-configファイルに戻り、内容をすべて次のコードに置き換えます
<?php
include(‘/domains/yourdomain.com/public_html/wp-admin/user/new-wp-config.php’);
?>

ディレクトリをファイルの新しい場所に変更し、new-wp-config.phpを新しいファイル名に、独自のドメインを追加するのを忘れないようにしましょう。

  • これで完了です!元のwp-configファイルは、実際のwp-configファイルへのショートカットとして機能するようになりました

wp-config.phpファイルの各セクション解説

前述したように、WordPress wp-config-sample.phpファイルはカスタム構成を作成する際のベースとなり、各セクションの役割と変更方法を理解することが大切です。

このセクションでは、wp-configファイル内の各セクションの詳細と、高度なWordPressカスタマイズ用のコードスニペットをご紹介します。

wp-config.phpのMySQL設定

MySQL設定セクションは、WordPressデータベースの構成(MySQLホスト名、データベース名、ユーザー名、パスワード)で構成されており、レンタルサーバー会社が代替ポート番号を使用している場合や、別のWebサーバーに移行する際には、このセクションの変更が必要になります。

wp-config-sample.phpファイルから取得した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' );

必要な情報はすべてレンタルサーバーのコントロールパネルで確認できます。たとえばHostingerなら、hPanelのデータベースセクション内のMySQLデータベースでユーザーのデータベース情報を確認可能です。

WordPressは、インストール時にデータベース名をDB_NAME変数に自動設定します。

データベース文字セット

WordPressは構成ファイルでデータベース文字セットとデータベース照合順序の値を設定します。データベーステーブルを適切な文字セット設定で定義するためです。

/** 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', '' );

デフォルトでは、インターネットに適したすべての言語をサポートし、最新のデータに最適な設定であるWordPressはUTF8をデフォルトの文字セットとして設定しています。

一方、データベース照合順序の値は、WordPressデータベースがデータをどのように並べ替えて比較するかを決定します。主に文字セットに依存する設定です。

MySQLは割り当てられた文字セットに基づいてデータベース照合値を自動的に割り当てるため、デフォルト値は空白になっています。WordPressデータベースがUTF8を使用している場合、デフォルトの照合値はutf8_general_ciになります。

ただし、日本語などの言語文字セットが表示されているものと異なる場合は、照合順序の値を手動で割り当てることも可能です。

SQL、MySQL、MariaDBを十分に理解していない限り、このセクションを変更しないのが賢明でしょう。文字セットと照合順序の値の組み合わせが間違っていると、WordPressでさまざまなデータベースエラーが発生してしまいます。

セキュリティキー

wp-configファイルには、一連の認証キーとWordPressソルトが保存されており、ブルートフォース攻撃に対するWordPressサイトのセキュリティ層を追加しています。こうしたランダムなデータ文字列には8つの変数が含まれていることで、すべてがWordPressサイトへのログイン時にCookieに保持されるログイン情報を暗号化します。

セキュリティ強化の観点から、認証キーとソルトを定期的に変更することはWordPressのセキュリティを向上させる効果的な方法のひとつ。パスワードジェネレーターを使用するか、作成したパスワードをパスワードチェッカーでテストして、パスワード推測攻撃に対する耐久性を確認しましょう。

Salt ShakerなどのWordPressセキュリティプラグインをインストールすれば、ソルトキーを自動的に生成することも可能です。

パスワードを取得したら、「put your unique phrase here」という値を置き換えるために、アポストロフィ内に1つずつ貼り付けます。

/**#@+
* 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はすべてのユーザーをログアウトし、現在のCookieを無効にします。悪意のあるユーザーも同時に締め出すため、ユーザーはサイトにアクセスするために再度ログインが必要になります。

データベーステーブルプレフィックス

WordPressはwp-configファイルに事前定義されたwp_データベースプレフィックスを設定します。セキュリティキーと同様に、SQLインジェクション攻撃に対するデータベースセキュリティが向上する観点から、データベースプレフィックスもなるべく早い段階で変更することを推奨します。

wp-configファイル内のデータベースプレフィックスを保存するセクションのコードスニペットがこちら。

/**
* 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はアンダースコア、文字、数字で構成されるカスタムデータベースプレフィックスを受け入れます。他のユーザーが簡単に推測できない、例えば以下のようなユニークなものにしましょう。

$table_prefix  = 'wp_customprefix_';

phpMyAdminを介してWordPressデータベースを確認すれば、テーブルプレフィックスが正常に変更されたかどうかチェックできます。データベース構造にアクセスすると、テーブルの名前は割り当てられたプレフィックスで始まるはずです。以下の例では、デフォルトのテーブルプレフィックスをwp_customprefix_に置き換えています。

デバッグモード

WordPress開発者なら必須のwp-config設定がWordPressサイトのデバッグに役立つデバッグモードです。有効にすると、WordPressサイトがPHPコードを実行するたびに通知し、コードにバグがあるかどうかを確認できます。

WordPressのwp-configファイル内のデバッグモード設定を保存するセクションのコードスニペットがこちら。

/**
* 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 );

デフォルトでデバッグモードはオフになっているので、オンにしたい場合は、falseの値をtrueに置き換えましょう。

define( 'WP_DEBUG', true );

デバッグモードを有効にすると、致命的なエラーに対してのみ真っ白な画面を表示する代わりに、WordPressサイトがすべてのPHPエラーと警告を表示するようになります。開発時にはとても便利ですが、本番環境では必ずオフにしておきましょう!

絶対パス

絶対パスセクションは、コンピューター内のフォルダまたはファイルの場所を示す、フォルダとファイル間の関係とサイトURLの基盤を決定する重要な部分です。

そのため、次のコードスニペット内の情報は変更しないよう注意してください。

/* 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';

WordPress URL

サイトを別のサーバーまたはドメインに移行する場合は、WordPress URLの変更が必要になります。通常はWordPressダッシュボードの設定一般メニューから実行可能です。

ERR_TOO_MANY_REDIRECTSエラーによって、WordPressアドレスとサイトアドレスの値を編集できない場合は、次のコードスニペットをwp-config.phpファイルに追加すれば解決できます!

define( 'WP_HOME', 'http://example.com' );
define( 'WP_SITEURL', 'http://example.com' );

http://example.comの値を自身のドメイン名に置き換えて、/* That’s all, stop editing! Happy publishing. */という行の上にコードを配置してください。

www URLを使用している場合は、Webサイトのwwwバージョンを含めるのを忘れないようにしましょう。

メモリサイズ制限

WordPressはスクリプトを実行するためにPHPメモリを必要とし、利用できるメモリ量は、レンタルサーバーによって異なります。たとえばHostingerは 基本的なレンタルサーバープラン最大512 MBのメモリ制限を割り当てています。

WordPressに十分なメモリがない場合、memory exhaustedエラーメッセージが表示されることがありますが、解決方法は簡単です。次のコードスニペットをwp-configファイルの/* That’s all, stop editing! Happy publishing. */という行の前に追加して、独自のPHPメモリ制限値を設定するだけです。

この例では、PHPスクリプトごとにメモリ割り当て量を256 MBに増やしています。

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

ニーズに基づいてPHPメモリ制限値を設定し、スクリプトごとに最大メモリ制限を適用することを推奨します。WordPressは、スクリプトが割り当てられたメモリよりも多くのメモリを必要とする場合にのみ、このメモリ制限を適用します。

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

ポイント

過度なPHPメモリを持つと、不正なPHPスクリプトがサーバーのRAMを消費する可能性があります。メモリ制限値を過度に設定しないよう気をつけましょう! 

アップロードディレクトリ

WordPressは、すべてのメディアアップロードを/wp-content/uploads/ディレクトリにリダイレクトします。ファイルのセキュリティを向上させるため、WordPressサイトでアップロードパスを再定義することも可能です!

wp-config.phpファイルのWP_DEBUGコードの下に次のコードスニペットを追加します。

define( 'UPLOADS', 'wp-content/media' );

このコードにより、WordPressはすべてのメディアアップロードをwp-contentフォルダ内の新しいmediaディレクトリに保存するようになります。なお、新しいディレクトリの名前は必要に応じて変更してください。

WordPressがメディアファイルをwp-content外のディレクトリに保存するようにしたい場合は、次のコードスニペットを使用してアップロードパスを定義します。

define( 'UPLOADS', ''.'media' );

両方のコードスニペットは、ルートディレクトリまたは絶対パス(ABSPATH)内に新しいアップロードフォルダを定義する場合にのみ機能することに注意してください。

ポイント

サイトにリンク切れが発生しないように、アップロードフォルダの内容を移動し、WordPressデータベーステーブル内の各アップロードファイルのURLを変更するのを忘れずに! 

wp-contentディレクトリ

メディアファイルのほかに、WordPressはプラグインとテーマファイルもwp-contentフォルダに保存します。このフォルダパスはWordPressのデフォルト設定であるため、マルウェアインジェクション攻撃を受けやすくなっています。セキュリティ強化のため、wp-contentフォルダの場所を変更することを推奨します。

次の行の後にカスタムコードを追加してwp-config.phpファイルを編集しましょう。

/* Add any custom values between this line and the "stop editing" line. */

WP_CONTENT_DIRを定義し、wp-contentフォルダの場所を変更する必要がある場合は、以下のコードを入れてください。

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/content/wp-content' );

wp-content URLの場所を変更したい場合は、以下のような形です。

define( 'WP_CONTENT_URL', 'yourdomain.com/blog/content/wp-content' );

yourdomain.comを自サイトのURLに置き換えることを忘れないでくださいね。

プラグインディレクトリ

WordPress contentフォルダの移動が面倒に思える場合は、代わりにプラグインフォルダを再配置する方法もあります。実装したい場合は、wp-settingsセクションの下に次のコードスニペットを追加して、WordPressの定数変数wp_plugin_dirを定義します。

define( ‘WP_PLUGIN_DIR’, $_SERVER[‘DOCUMENT_ROOT’] . ‘/blog/content/wp-content/plugins’ );

次のコードを追加して、変数wp_plugin_url内のプラグインフォルダのURLを変更してください。

define( ‘WP_PLUGIN_URL’, ‘yourdomain.com/blog/content/wp-content/plugins’);

一部のプラグイン開発者は、プログラムを実行するために変数plugindirを使用しています。WordPressサイト内でプラグインの干渉を避けるために、この変数も変更することを忘れないようにしましょう!wp-config.phpファイルに追加すべきコードは以下のとおりです。

define( 'PLUGINDIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/content/wp-content/plugins' );

テーマディレクトリ

テーマフォルダを移動すると、プラグインの競合が発生する可能性があるため、おすすめしません。追加のテーマディレクトリが必要な場合は、register_theme_directory関数を使用して作成します。

function register_theme_directory( $directory ) {
global $wp_theme_directories;

if ( ! file_exists( $directory ) ) {
// Try prepending as the theme directory could be relative to the content directory.
$directory = WP_CONTENT_DIR . '/' . $directory;
// If this directory does not exist, return and do not register.
if ( ! file_exists( $directory ) ) {
return false;
}
}

if ( ! is_array( $wp_theme_directories ) ) {
$wp_theme_directories = array();
}

$untrailed = untrailingslashit( $directory );
if ( ! empty( $untrailed ) && ! in_array( $untrailed, $wp_theme_directories, true ) ) {
$wp_theme_directories[] = $untrailed;
}

return true;
}

新しいテーマディレクトリはルートディレクトリ内にある必要がある点に注意してください。サーバーがWordPressサイトのテーマファイルにアクセスできるようにして、機能させる必要があるためです。

エラーログ

WordPressでデバッグモードをオンにすると、サイトのバックエンドとフロントエンドでエラーにフラグが立つだけでなので、エラーをログに記録するには、define(‘WP_DEBUG’, true);という行の下にコンパニオンコードを追加する必要があります。

define( ‘WP_DEBUG_LOG’, true );

エラーをファイルに保存したい場合は、代わりに以下のコードを使用します。

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

デバッグプロセス中にブラウザが情報を表示しないようにしたい場合は、エラー出力をオフにする以下のコードを使用します。

define( 'WP_DEBUG_DISPLAY', false );

WordPress自動更新

WordPressには、インストールプロセス中に自動更新機能を有効にするオプションがあり、手動で行う手間を省いてくれます。ただし、カスタムテーマをインストールしている場合、どのアップデートがWordPressサイトの外観に影響を与えるかわからないため、逆効果になる場合も否定できません。

自動更新機能を無効にする際は、/* That’s all, stop editing! Happy publishing. */という行の上に次のコードを追加します。

define( ‘AUTOMATIC_UPDATER_DISABLED’, true );

将来自動更新を再度有効にする場合は、値truefalseに置き換えるか、このコードを削除すればOKです!

WordPressコアアップデート

WordPressバージョン3.7以降には、最適なパフォーマンスを確保するために、マイナーコアリリースと翻訳ファイルの自動バックグラウンド更新が付属しています。場合によっては、更新にはテーマおよびプラグイン開発ファイルが含まれることもあります。

この機能はサイトを最新かつ安全な状態に保つため、デフォルトのままにしておくことを推奨します。

開発、マイナー、メジャーのコアアップデートをすべて有効にするには、/* That’s all, stop editing! Happy publishing. */という行の上に次のコードを追加します。

define( 'WP_AUTO_UPDATE_CORE', true );

定数値をfalseに変更して、開発、マイナー、メジャーのコアアップデートを無効にすることも可能です。

define( 'WP_AUTO_UPDATE_CORE', false);

または、定数値をminorに変更して、マイナーリリースにのみ自動更新を有効にする方法もあります。

define( 'WP_AUTO_UPDATE_CORE', ‘minor’);

カスタムユーザーテーブル

デフォルトでは、WordPressはユーザーデータを保存するためのwp_usersテーブルを提供しています。インストール後にカスタムユーザーテーブルが必要な場合は、wp-config.phpファイルに次のコードを追加しましょう。

define( ‘CUSTOM_USER_TABLE’, $table_prefix.’my_users’ );

通常、開発者はこのコードを使用してWordPressインストール間でユーザーテーブルを共有します。複数のWordPressサイトで同じユーザーベースを維持するのに役立つ便利な機能です!

カスタムユーザーメタテーブル

カスタムユーザーテーブルを作成することにした場合、ユーザーメタデータを保存するために別のテーブルを作成する必要があります。次のコードを使用して、カスタムユーザーメタテーブルを作成しましょう。

define( ‘CUSTOM_USER_META_TABLE’, $table_prefix.’my_usermeta’ );

カスタムユーザーメタテーブルは、複数のWordPressインストール間でユーザー情報を収集および共有するのに役立ちます。メンバーシッププラグインも、メンバーシップ情報を保存するためにカスタムユーザーメタテーブルを使用します。

言語と言語ディレクトリ

WordPressインストールのデフォルト言語は米国英語です。WordPressバージョン4.0以降では、管理ダッシュボードの設定一般でユーザーが変更でき、インストールプロセス中にデフォルト言語を変更することも可能です。

別の言語に切り替えたい場合は、wp-configファイルに次のコードを追加します。

define( ‘WPLANG’, ‘de_DE’ );
define( ‘WP_LANG_DIR’, dirname(__FILE__) . ‘wordpress/languages’ );

コードの最初の行は、インストールする.mo言語ファイルを示し、2行目は言語ファイルが保存されている言語ディレクトリを定義します。

言語ファイルの命名規則は、言語コードの後に国コードが続くルールに基づいています。たとえば、de_DEはドイツ語を指します。GNU gettext utilitiesページで必要な言語と国コードを調べておきましょう。

国と言語コードの組み合わせが間違っている場合、WordPressはデフォルトで米国英語を使用します。

ファイルパーミッション

ファイルパーミッションの設定は、WordPressサイトを保護するためのもう1つの重要なステップです。サイト内のコアファイルとフォルダを表示、変更、実行できるユーザーを決定する大切な設定です。

ほとんどのレンタルサーバー会社では、ファイルマネージャーを介してファイルとフォルダのパーミッションを変更でき、Hostingerでの設定ポップアップウィンドウは以下のようになります。

対応するユーザーの各権限レベルは、以下で構成される3桁のコードで表されます。

  • 0 – アクセスなし 
  • 1 – 実行 
  • 2 – 書き込み 
  • 4 – 読み取り 
  • 3(2と1の組み合わせ) – 書き込みと実行 
  • 5(4と1の組み合わせ) – 読み取りと実行 
  • 6(4と2の組み合わせ) – 読み取りと書き込み 
  • 7(2と3の組み合わせ) – 読み取り、書き込み、実行 

ファイルパーミッションを変更するためにファイルマネージャーにアクセスできない場合は、上記のコードの組み合わせを使用してwp-configファイルを変更します。/* That’s all, stop editing! Happy publishing. */という行の上に次のコードを追加しましょう。

define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );
define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );
chmod 644 wp-config.php
chmod 644 .htaccess

wp-config.htaccess、その他のファイルの644ファイルパーミッションにより、すべてのユーザーに表示されますが、所有者のみが変更できます。一方、WordPressディレクトリとサブディレクトリの755ファイルパーミッションは、誰でも読み取りと実行ができますが、変更できるのは所有者のみです。

ファイルパーミッションを777に設定しないでください。すべての人にファイルの読み取り、書き込み、実行へのアクセスが許可されてしまいます。一方、000および444のファイルパーミッションは、WordPressがテーマとプラグインのファイルを編集および実行できなくなるため、WordPressサイトが壊れてしまいます。

wp-config.phpファイルの編集方法

WordPress構成ファイルを編集する際は、まずバックアップを作成することを推奨します。情報の追加コピーを保持することで、WordPressサイトを壊す可能性のある設定ミスを修正できます。

次の手順では、使用するツールを決めます。開発者は通常、テキストエディターまたはHTMLエディタープログラムを使用しています。この方法では、WordPress構成ファイルをダウンロードし、変更を加えたら同じディレクトリに再アップロードしなければなりません。

あるいは、レンタルサーバーのファイルマネージャーがもつコードエディターを使用する方法もあり、ここではHostingerのファイルマネージャーを介してwp-config.phpファイルを編集する方法をご紹介します。

  • hPanelからファイルマネージャーに移動 
  • サイドバーのpublic_htmlフォルダをクリック 
  • wp-configファイルをダブルクリックして、必要な変更を加える 
  • 完了したら、保存をクリック 

まとめ

Wp-config.phpは、インストールプロセス中に作成されるWordPressのコアファイルであり、WordPressサイトとデータベース間の接続を確立し、両方に高度な設定を実装する重要な役割を果たしています。

FTPクライアントまたはレンタルサーバー会社のファイルマネージャーを使用すれば、WordPressサイトのルートフォルダ内で簡単に見つけることができます。

また、WordPress構成ファイルは以下のセクションで構成されています。

  • MySQL設定 – WordPressデータベース構成 
  • データベース文字セット – 適切な文字セット設定でテーブルを定義するために使用 
  • セキュリティキー – ユーザー情報の暗号化を担当 
  • WordPressデータベーステーブルプレフィックス – セキュリティ向上のため、テーブルプレフィックスを設定 
  • デバッグモード – PHPエラーの追跡に便利 
  • 絶対パス – コンピューター内のフォルダまたはファイルの場所を示す 

WordPressのwp-config.phpはテキストエディターを使用して編集できますが、変更を加える前に必ずファイルをバックアップしてください。どんなに小さな構成ミスでも、データベースとWordPressサイト間の接続が中断される可能性があるので注意が必要です!

Author
著者

Yūto Ōmura

イギリスから日本へ帰国後、翻訳者として8年従事。英国の大学ではメディア・映像を専攻し、以来、日英両言語にて10年以上複数のウェブサイトおよび動画メディアを運営。プライベートでは、料理をしたり、家族で小旅行に行ったりするのが好きです!