WordPress の 500 Internal Server Error を修正する方法

WordPress において、Internal Server Error または Error 500 は、根本的な問題に関する具体的なデータを返さないため、最も厄介なエラーの一つです。初心者にとってこれを解消するのは困難です。Internal Server Error には多くのさまざまな原因があります。

WP STAGING をダウンロードして、将来このエラーや他のエラーを回避しましょう。WP STAGING プラグインを使用すると、WordPress サイトのコピーを数秒で作成できます。そのステージングサイト上の安全な環境で、新しいプラグイン、デザイン、その他の更新をテストできます。

このエラーは非常に恐れられているタイプのエラーです。常に非常に都合の悪いタイミングで発生するように思えます。エラー 500 はあなたのサイトが完全にオフラインになり、もはや利用できなくなることを意味し、これはあなたが顧客を失い始めることを意味します。サイトが数時間以上ダウンしている場合、Google はサイトに問題があると判断するかもしれません。これはサイトの検索エンジンランキングの低下につながる可能性があります。

この記事では、簡単なステップでこのエラーを解決しようとします。しかしまず、適切に修正するためには Internal Server Error とは何かを知る必要があります。

WordPress の Internal Server Error とは?

Internal Server Error の正確な定義は不明確、または未定義です。Internal Server Error または Error 500 は一般的なものです。ウェブサイトを訪問すると、プログラムがサイトがホストされているサーバーにリクエストを送信します。サーバーはリクエストを受信し、それを処理して、リソース (CSS、HTML、PHP など) をヘッダーとともに送り返します。ステータスコードが 200 であれば「すべて OK」を意味しますが、ステータスコードが 500 (それが Error 500 という名前の理由) であれば、エラーが発生しています。そのエラーはウェブサイト側で何らかのコードが間違っていることが原因です。

エラーはこのように表示される場合があります:

Error-500

または、このように表示される場合もあります。

Error 500 - Internal Server Error

他のステータスコード (500、501、501、502、503 など) を伴うさまざまなタイプの internal server errors がありますが、これらのステータスコードはすべて異なるものの似ており、その結果、サイトは期待どおりに動作しなくなります。

WordPress で Internal Server Error が発生する原因

このエラーには多くの原因があります。WordPress では、主に以下の問題により発生します:

  • 古いまたは壊れたブラウザキャッシュ
  • 低い Memory Limit
  • プラグインやテーマの関数内の壊れたコード
  • WordPress コアフォルダ内の破損したファイル
  • 破損した .htaccess ファイル

WordPress で Internal Server Error を修正する方法

この問題を解決するためのいくつかのステップがあります:

ページを強制的に更新する

Windows では Ctrl + F5、Mac では Cmd + Shift + R を押してページを強制的に更新します。このアクションはキャッシュされたバージョンをバイパスし、ウェブサイトの最新バージョンを読み込むことで、エラーが解決する可能性があります。

ブラウザキャッシュを削除する

もう一つの良い方法は、ブラウザキャッシュをクリアすることです。ブラウザキャッシュをクリアすると、問題が解決する可能性があります。さまざまなブラウザでキャッシュをクリアする方法を以下に示します:

  1. Google Chrome: Ctrl + Shift + Delete を押し、希望する期間を選択して「データを削除」をクリックします。
ブラウザキャッシュをクリア
  1. Mozilla Firefox: Ctrl + Shift + Delete を押し、適切な期間を選択して「今すぐ消去」をクリックします。
Firefox ブラウザキャッシュをクリア
  1. Apple Safari: Command (⌘) + Option (⌥) + E を押して、ブラウザキャッシュを即座にクリアします。」
  2. Microsoft Edge (Internet Explorer): Ctrl + Shift + Delete を押し、希望する期間を選択し、「キャッシュされた画像とファイル」 オプションをチェックして、今すぐ削除 をクリックします。
以下の手順はより複雑で、WordPress サイトのデータベース/ファイルに影響します。これ以上の損害を引き起こさないようにするため、また WordPress ダッシュボードへのアクセスがまだある場合は、WP STAGING でステージングサイトを作成し、本番サイトではなくステージングページでエラーの修正を試みてください。

WP STAGING を使ってステージングサイトを作成できます。

サーバーログファイルを確認する

ウェブサイトが致命的なエラー 500 を発生させた場合、デバッグの目的でいわゆるログファイルにより明示的なエラーメッセージを書き込むようにサイトに指示できます。

WordPress で デバッグモードを有効にする には、wp-config.php ファイルを開き、以下のコード行を追加します:

define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );

wp-config.php ファイルは WordPress インストールのルートフォルダにあります。このファイルを編集するには、ウェブホスティングのコントロールパネルのファイルマネージャーまたは FTP を使用できます。

wp-config ファイルを編集

WordPress debug.log を有効化する方法を詳しく学ぶには この記事 をご覧ください。

ホスティングプロバイダが使用しているウェブサーバーの種類によって、サーバーエラーログファイルは以下のパスで見つけることができます:

Apache サーバー: /var/log/apache2/error.log

または

Nginx サーバー: /var/log/nginx/error.log

これらのファイルにアクセスするには、ホスティングへのフルアクセスが必要です。FTP クライアントを使用し、これらのファイルを参考にトラブルシューティングできます。一部のウェブホスティングコントロールパネルでは、これらのファイルへのより簡単なアクセスも提供されています。

.htaccess ファイルを確認する

500 Internal Server Error は、.htaccess ファイル の不正なコードが原因で発生する場合もあります。このファイルは WordPress サイトのルートディレクトリにあり、サイトを適切に実行するために不可欠です。

.htaccess のトラブルシューティングのため、現在のものを無効にし、新しいものを作成する必要があります。

まず、FTP またはホスティングアカウントのファイルマネージャーアプリを使用してサイトに接続します。

.htaccess ファイルは wp-admin、wp-includes、wp-content フォルダのそばで見つけることができます。

.htaccess ファイルを編集
  • 何か問題が起きた場合に備えてファイルのバックアップを取るため、ファイル名を .htaccess_backup に変更します。
  • 新しいファイルを作成し、.htaccess という名前を付けます
  • 以下のコード行を追加します:
# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

古い .htaccess ファイルがエラー 500 の原因であった場合、これによって Internal Server Error が修正されます。

サーバーのメモリ制限を増やす

エラー 500 は、WordPress の PHP の Memory Limit が低いために発生することがあります。このエラーを解決するには、メモリ制限を増やす必要があるかもしれません。ホストが cPanel を提供している場合、ダッシュボードユーザーインターフェースから PHP メモリ制限を増やすことができます。

手順は以下の通りです:

cPanel を開いた後、「Select PHP version」というリンクをクリックします。

次に、「Switch to PHP Options」をクリックします。

次に、下部にある「memory_limit」をクリックし、その値をより高い値、通常は 2 倍の範囲、つまり 256、512 に変更して保存します。

別の方法は、wp-config.php に以下の行を追加することです。そのファイルを編集するには、ホスティングのファイルマネージャーソフトウェアまたは FTP クライアントを使用できます。

wp-config ファイルを編集

wp-config.php ファイルの先頭に以下の行を追加するだけです。

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

メモリ不足が問題であった場合、このステップによって Internal Server Error が修正されます。

インストール済みのプラグインとテーマを確認する

Internal Server Error は、最近インストールした WordPress のテーマやプラグインが原因で発生することがあります。最近プラグインやテーマをインストールしてサイトが壊れた場合、そのプラグインを無効化することでエラーを修正できる可能性があります。

以下のステップは、/wp-admin の WordPress 管理ダッシュボードがまだ利用可能な場合のみ使用できます。

  • WordPress 管理画面にログインし、「Plugins」に移動し、無効にしたいプラグインのチェックボックスを選択し、複数を一度に選択します。
    WordPress Dashboard Select Plugins
  • プラグインを選択した後、上部の「Bulk Actions」ドロップダウンに移動し、「Deactivate」を選択して「Apply」ボタンをクリックします。
    Deactivate plugins to troubleshoot Broken CSS in the WordPress Admin Dashboard
  • プラグインを一つずつ再度有効化し、各プラグインの有効化後にサイトを再読み込みします。
  • 再度エラーが表示された場合、問題の原因となっているそのプラグインを無効化または削除します。

WordPress 管理ダッシュボードが利用できない場合、プラグインフォルダの名前を手動で別の名前に変更することで特定のプラグインを無効にできます。

これを行うには、FTP 経由でサイトに接続します。

たとえば、woocommerce プラグインがエラー 500 Internal Server Error の原因である場合、フォルダ名を
/wp-content/plugins/woocommerce から
/wp-content/plugins/woocommerce-disabled に変更する必要があります。

このステップの後、woocommerce プラグインは無効になり、再びウェブサイトにアクセスできるようになります。

すべてのプラグインを無効にしたい場合は、wp-content/plugins フォルダの名前を変更し、サイトを再読み込みします。

その後、すべてのプラグインが無効になり、サイトに再度アクセスできるようになるはずです。

そのステップの後、wp-content/plugins-tmp フォルダを元の名前 wp-content/plugins に戻します。

WordPress コアファイルを修復する

時には、特に古いサイトでは、WordPress ファイルが破損する場合があります。WordPress コアシステムが破損している場合、コアファイルを元のファイルに置き換えて修復する必要があります。

一つの方法は、wordpress.org にアクセスして、そこから WordPress の最新コピーをダウンロードすることです。

  • ダウンロード後、解凍します。
  • その後、FTP クライアントまたはホスティングアカウント内のファイルマネージャーを使ってホストに接続します。
  • WordPress インストール内のフォルダ全体 /wp-admin/wp-includes を解凍した zip ファイルのものと置き換えます。
  • そのためには、現在の wp-adminwp-includes フォルダの名前を wp-admin-backupwp-includes-backup に変更します。これはホスティングのファイルマネージャーまたは FTP クライアントで行えます。
  • 解凍したファイルから新しいディレクトリを、古いディレクトリと同じ場所にアップロードします。

WordPress ファイルが破損していた場合、このステップによって 500 Internal Server Error が修正されます。

ホスティングプロバイダに連絡する

WordPress の Internal Server Error には、いくつかの一般的でない問題があります。この時点で、ホストに連絡する必要があります。場合によっては、ホスティングプロバイダがファイル権限やその他の設定を確認することで、これらの問題が解決されることがあります。

それでも問題が解決しない場合は、WordPress サイトを実行するためにより最適化された別のホストに切り替える必要があるかもしれません。

WordPress 動画チュートリアルをさらにご覧になるには、私たちの YouTube チャンネル を購読し、Twitter および Facebookでつながりましょう。

関連記事

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。