コンテンツにスキップ

WordPress でエラーメッセージを非表示にする方法

メインイメージ

WordPress サイトでページに出力されるエラーメッセージを非表示にする方法について説明します。

WordPress サイトを運営しているとウェブサイトでページを開いたときにエラーメッセージが表示されることがあります。 これらのメッセージは問題の発見や解決に有用ですが、本番環境で表示されてしまうとセキュリティリスクに繋がります。 以下にこのようなエラーメッセージを非表示にする方法を 2 つ紹介します。

A. WordPress のログ出力設定を無効にする

WordPress サイトのページにエラーログが出力される原因のひとつは WordPress のエラーログ出力設定が有効になっていることです。 ですので、もしこの設定が有効になっていれば無効化する必要があります。

  1. SSH や FTP クライアントで WordPress サイトに接続する
  2. WordPress インストールディレクトリの wp-config.php ファイルを見つける
  3. wp-config.php ファイルをバックアップする
  4. wp-config.php ファイルを開いて WordPress のエラーログ出力の設定を削除する

    • 次のような定数 WP_DEBUG を定義する行があれば削除する

    // エラーメッセージを出力する設定
    define( 'WP_DEBUG', true );
    
    5. WP_DEBUG の行を削除できない何らかの理由がある場合は代わりに WP_DEBUG_DISPLAYfalse をセットする行を追加する

    // WP_DEBUG が true にセットされている場合でも画面へのエラー出力を行わない
    define( 'WP_DEBUG_DISPLAY', false );
    
  5. wp-config.php 保存後にサイトにアクセスしてエラーメッセージ出力がなくなるか確認する

こちらの A のパターンはエラーメッセージが次のようなボックスの中に表示されている場合に有効な方法です。

WordPress のエラーメッセージのパターン A

WP_DEBUG の定義を削除しても出力される場合は次の方法を試してください。

B. PHP のログ出力設定を無効にする

WordPress のレイヤーでエラーログ出力を無効にしてもエラーが出力される場合は PHP のログ出力設定も無効にします。

こちらも上の A と同様 wp-config.php をバックアップしてから編集して形で対応します。 A のステップ 1 〜 3 まで行った後に次の通りに行います。

  1. wp-config.php ファイルを開いて PHP のエラーログ出力を無効にする

    • 以下のコードを追加する
    // PHP エラー発生時にエラーメッセージを含むレスポンスを返さない
    @ini_set( 'display_errors', 'no' );
    
    // すべてのエラーレポーティングを無効化する
    error_reporting( 0 );
    
  2. wp-config.php 保存後にサイトにアクセスしてエラーメッセージ出力がなくなるか確認する

こちらの B のパターンは A とは異なりエラーメッセージがレイアウト無しでページ全体に表示されている場合に有効な方法です。

WordPress のエラーメッセージのパターン B

ほとんどの場合はこれら A B で対応できるはずです。 両方やってもエラーメッセージがページに表示されてしまう場合は一般的でない問題が起こっている可能性があるので専門家などに相談されることをおすすめします。

Note

ここでご紹介した方法はあくまでエラーメッセージを非表示にするためのもので、エラーの原因を解消するものではありません。 エラーを非表示にしても問題が勝手に解消することは稀なので、根本的な問題解決に取り組むのを忘れないようにしてください。

関連ページ