WordPress で「500 Internal Server Error」と出るのは、サーバーがページを作るプログラムを最後まで動かせなかったという意味です。原因の多くは、壊れた .htaccess、プラグインやテーマ、PHP のメモリー不足、PHP のバージョンとの相性、php.ini の設定の誤りのどれかです。確かめる順番は、①直前に何を変えたかを思い出す、②サーバーのエラーログを読む、③.htaccess の名前を変えて試す、④プラグインとテーマを止める、⑤メモリーと PHP のバージョンを見る、⑥それでも分からなければ WordPress のデバッグでエラーを書き出す、です。
この記事は、WordPress.org の公式の説明とエックスサーバーの公式マニュアルを、2026年11月14日に確かめた範囲で書いています。「このサイトで重大なエラーが発生しました」と出る場合や真っ白になる場合は、WordPress が自分で止めた表示なので、先にWordPressが真っ白・「重大なエラー」と出たときの直し方を見てください。ここでは「500」の表示に絞ります。
この記事の結論
- いちばん早い手がかりは、サーバーのエラーログです。エックスサーバーならサーバーパネルの「エラーログ」で見られます。
- WordPress.org の説明では、いちばんありそうな原因は .htaccess の破損です。名前を変えて開けば、それかどうかがすぐ分かります。
- プラグインは
pluginsフォルダの名前を変えると一度に止められます。設定は消えません。 - デバッグは、エラーを画面に出さずファイルに書き出す設定にして、終わったら元に戻します。
最初に:直前の変更と、サーバーのエラーログ
500 が出る直前に、プラグインやテーマの更新、.htaccess や php.ini の書き換え、PHP のバージョンの切り替えをしていないかを、社内と制作会社に確かめます。心当たりがあれば、それを元に戻すのが近道です。
エックスサーバーの公式マニュアル(各種エラーメッセージ)では、500 Internal Server Error は、プログラムへのアクセスはできているのに処理を最後まで実行できないときの表示とされ、考えられる要因として次のものが挙げられています。
- CGI や PHP の同時に動く数が増え、アカウントごとの使える量の上限にかかっている
- CGI や PHP のプログラムに書き間違いがある
- .htaccess の書き方に誤りがある
- パーミッション(ファイルの読み書きの権限)に誤りがある
- php.ini の設定に誤りがある
同じマニュアルでは、サーバーパネルの「エラーログ」からログを見て、内容を確かめるよう案内されています。エラーログのマニュアルによると、サーバーパネルにログインして「エラーログ」を押し、「表示」でその場で読めます。ログはドメインごとで、毎日午前3時ごろに過去7日分が作られます。ほかのサーバー会社でも、管理画面にエラーログを見る場所があることが多いので、マニュアルで探してください。
ログに .htaccess のファイル名が出ていれば .htaccess、wp-content/plugins/ の次の名前が出ていればそのプラグイン、Allowed memory size と出ていればメモリー不足、というように、次に見る場所の見当がつきます(この読み方は当社の目安で、公式の説明ではありません)。
原因1:.htaccess が壊れている
WordPress.org の説明(Common WordPress Errors)では、500 の原因としていちばんありそうなのは .htaccess の破損とされ、次の手順が案内されています。
- FTP かサーバーのファイルマネージャーで、WordPress を入れたフォルダ(wp-config.php があるところ)を開きます。
- .htaccess の名前を .htaccess_old に変えます(消さずに残しておきます)。
- サイトを開き直します。開けば、原因は .htaccess です。
- 管理画面の「設定」→「パーマリンク」で、何も変えずに「変更を保存」を押します。WordPress の部分の .htaccess が作り直されます。
作り直された .htaccess には、WordPress の部分しか入りません。https への転送や、セキュリティ用のプラグイン、PHP の設定のために書き足していた部分があった場合は、.htaccess_old を見比べて、必要なものを一つずつ戻し、そのたびに開けるかを確かめます。.htaccess に PHP の設定(php_value など)を書いた直後なら、それが原因の見込みが高いです。PHP の設定の正しい変え方はWordPressのアップロードの最大サイズを変更する方法に書きました。
原因2:プラグインかテーマ
WordPress.org の説明では、次にプラグインをすべて止めて、プラグインどうしの相性の問題でないかを確かめます。管理画面に入れなければ、WordPress.org の FAQ にある方法で、wp-content の中の plugins フォルダの名前を plugins.hold に変えます。FAQ では、この方法ならプラグインの設定は残り、あとで手で有効にし直せばよいとされています。
pluginsの名前をplugins.holdに変え、サイトを開き直します。- 開いたら原因はプラグインです。名前を
pluginsに戻し、管理画面の「プラグイン」で一つずつ有効にして、500 が戻ったものを止めます。 - プラグインを全部止めても開かなければ、テーマを WordPress の標準のテーマ(Twenty で始まるもの)に切り替えて試します。
フォルダの名前を変える手順や、テーマの切り替え方は、重大なエラーの記事の「メールが届かないとき」の項にくわしく書いています。
原因3:PHP のメモリーが足りない
エラーログやデバッグの記録に「Allowed memory size of …… bytes exhausted」と出ていれば、PHP が使えるメモリーの上限に当たっています。WordPress.org の説明(Editing wp-config.php)では、wp-config.php に次の1行を足すと、WordPress が使うメモリーの上限を上げられます(値は例です)。
define( 'WP_MEMORY_LIMIT', '96M' );
同じ説明では、サーバー会社によっては WordPress から上限を上げられないので、その場合はサーバー会社に頼むこと、また上限を上げると根本の問題が隠れるだけのこともあることが注意されています。サーバーの側の上限(php.ini の memory_limit)は、サーバー会社の管理画面で変えます。急にメモリーが足りなくなったのなら、直前に入れたプラグインを先に疑います。
原因4:PHP のバージョンとの相性
サーバーの PHP のバージョンを上げた直後に 500 が出たなら、古いプラグインやテーマが新しい PHP で動かない見込みが高いです。エックスサーバーの公式マニュアル(PHPのバージョンについて)では、サーバーパネルの「PHP Ver.切替」で、ドメインの右のペンのアイコンを押し、「変更後のバージョン」を選んで「設定する」を押すと切り替えられます。
元のバージョンに戻せば表示は戻りますが、一時の手当てです。WordPress.org の動作環境のページでは、PHP 8.3 以上が推奨され、それより古い PHP は保守が終わっていて危険があるとされています。対応していないプラグインやテーマを新しい版にするか替えてから、あらためて上げます。手順と戻し方はWordPressのPHPバージョンの確認方法にまとめています。
原因が分からないとき:デバッグの出し方
WordPress.org の説明(Debugging in WordPress)にある設定で、エラーの中身をファイルに書き出させます。wp-config.php の控えを取ってから、「That’s all, stop editing」と書かれた行より上に、次の4行を足します。すでに define( 'WP_DEBUG', false ); の行があれば、その行を消してから足します。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
- 保存してサーバーに戻し、500 が出るページを開き直します。
wp-contentの中にできたdebug.logをパソコンに保存して開き、「PHP Fatal error」で始まる行を探します。- 行の中の
wp-content/plugins/やwp-content/themes/の次の名前が、原因のプラグインやテーマです。 - 終わったら wp-config.php を控えに戻し、
debug.logを消します。
2行目はエラーを wp-content/debug.log に書き出す設定、3行目と4行目はエラーを画面に出さない設定です。WordPress.org の説明では、デバッグの道具を本番のサイトで使うことは勧められていません。画面に出さない設定にするのは、来た人にサーバーの中のファイルの場所などを見せないためです。元に戻すまでを一つの作業と考えてください。
ここまでで直らなければ、WordPress.org の説明にあるとおり、新しく取ってきた WordPress の wp-admin と wp-includes のフォルダを上書きで置き直す方法もあります。それでも直らない、あるいは直前のバックアップがあって早く戻したい場合は、バックアップから戻します(UpdraftPlusで復元する手順)。
今日、自社で確かめられること
- サーバーの管理画面で、エラーログを見る場所を確かめておきます。
- FTP かファイルマネージャーで、WordPress を入れたフォルダに入れるかを確かめます。.htaccess と
pluginsの名前を変えられることが、500 を直す前提です。 - 直近のバックアップがどこにあり、誰が戻せるかを確かめます。
当社は、中小企業や士業のホームページの運営を引き受けています。500 が出たまま原因が分からない、という場合も、出ている表示と直前にした作業を添えてお問い合わせからご相談ください。
参考にした公式の説明
- Common WordPress Errors(WordPress Developer Resources)
- FAQ(WordPress Developer Resources)
- Editing wp-config.php(WordPress Developer Resources)
- Debugging in WordPress(WordPress Developer Resources)
- Requirements(WordPress.org)
- 各種エラーメッセージ(エックスサーバー マニュアル)、エラーログ、PHPのバージョンについて
いずれも2026年11月14日に内容を確かめました。画面の表示名は、サーバーの管理画面の新旧によって変わることがあります。