WordPressで500、502、503、504エラーが出ると、どれも「サイトが見られない」状態に見えます。しかし原因は同じではありません。PHPの致命的エラー、サーバー過負荷、メンテナンス、上流サーバー応答なしで復旧手順が変わります。
WordPressやサーバーの障害復旧を行っている、よこやま良平です。HTTPエラーは番号ごとに見る場所が違うため、現場では最初に500番台の種類を分けて対応しています。
- 500・502・503・504エラーの違いがわかる
- WordPress側とサーバー側の原因を切り分けられる
- error_log、.htaccess、プラグイン、PHP設定の確認順がわかる
- 自分で直す範囲と専門家へ任せる範囲が判断できる
結論からいうと、500はWordPressやPHP内部、502/504は上流応答やPHP-FPM、503は過負荷やメンテナンスを疑います。番号を見ずにプラグイン停止だけ繰り返すと、原因に届かないことがあります。
この記事では、WordPress管理者が現場で使えるように、エラー番号別の見方と復旧手順を整理します。
目次
WordPress 500エラーの原因と復旧手順
500エラーの結論は、まずPHP Fatal errorと.htaccessを確認することです。WordPress本体、テーマ、プラグイン、PHPバージョン不一致で発生しやすいエラーです。
error_logで致命的エラーを探す
500の原因は画面に出ないことが多いため、サーバーのerror_logを見ます。直前に更新したプラグイン名、テーマ名、関数名が出ていれば、復旧対象を絞れます。
PHP Fatal error: Uncaught Error: Call to undefined function sample() in /wp-content/plugins/example/example.php
PHP Parse error: syntax error, unexpected token in /wp-content/themes/theme/functions.php.htaccessを初期化して確認する
.htaccessの記述ミスでも500は起きます。まず現在の.htaccessをバックアップし、WordPress標準の内容に戻して表示を確認します。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress- error_logの最新行を確認する
- 直前に更新したプラグインを止める
- テーマを標準テーマへ切り替える
- PHPバージョンを変更した履歴を見る
- .htaccessをバックアップ後に初期化する
WordPress 502エラーの原因と復旧手順
502エラーの結論は、WebサーバーとPHP実行環境の間で応答が壊れている状態を疑うことです。Nginx、Apache、PHP-FPM、リバースプロキシ構成でよく見ます。
PHP-FPMや上流サーバーの停止を疑う
共有サーバーでは利用者が直接PHP-FPMを再起動できないことがあります。その場合はサーバーパネルのPHP設定変更、キャッシュ削除、サポート問い合わせが現実的です。VPSならサービス状態を確認します。
systemctl status php-fpm
systemctl status nginx
systemctl restart php-fpm重い処理を止める
バックアッププラグイン、画像最適化、アクセス集中、外部API待ちでPHPが詰まり、502になることがあります。直前に動かしたバッチやプラグイン処理を止め、アクセスログで急増がないか確認します。
- 発生時刻と復旧時刻
- 対象URL
- 直前に行った更新作業
- error_logとアクセスログの抜粋
- 管理画面だけか公開ページ全体か
WordPress 503エラーの原因と復旧手順
503エラーの結論は、メンテナンス中かリソース不足かを分けることです。WordPress更新中の.maintenanceファイル、サーバー負荷、同時接続制限で発生します。
.maintenanceファイルを確認する
WordPressやプラグイン更新が途中で止まると、ルート直下に.maintenanceが残り、503のようなメンテナンス表示が続くことがあります。更新中でないことを確認してから削除します。
ls -la .maintenance
# 更新作業が止まっていることを確認してから削除
rm .maintenanceリソース不足とアクセス集中を見る
CPU、メモリ、同時接続、DB接続数が上限に達すると503が出ます。アクセス急増、bot、重いプラグイン、wp-cronの暴走を確認してください。
- 更新中に.maintenanceを即削除しない
- 原因不明のままプラグインを大量追加しない
- アクセス集中時に重いスキャンを走らせない
- サーバー上限を見ずにWordPressだけ疑わない
WordPress 504エラーの原因と復旧手順
504エラーの結論は、処理が時間内に終わらずタイムアウトしている状態を疑うことです。外部API、DBクエリ、バックアップ処理、管理画面の重い操作が原因になります。
タイムアウトする操作を特定する
全ページで504なのか、特定の管理画面だけなのかを確認します。特定操作だけなら、そのプラグインや外部API連携が原因候補です。
# 時間のかかるリクエストをアクセスログから探す例
grep " 504 " access.log | tail -50DBとwp-cronを確認する
投稿数が多いサイト、WooCommerce、予約システムなどでは重いDBクエリが原因になることがあります。wp-cronが高頻度で走っている場合も、処理待ちが積み上がります。
- 特定URLだけか全体かを分ける
- 直前の重い処理を止める
- 外部API連携を一時停止する
- DB負荷とcronを確認する
- 必要ならサーバー側のタイムアウト設定を相談する
WordPressとサーバーのどちらを疑うべきか
切り分けの結論は、同じサーバー内の他サイト、静的HTML、管理画面、error_logを比べることです。WordPressだけならアプリ側、全体ならサーバー側の可能性が上がります。
静的HTMLでサーバー応答を見る
test.htmlを置いて表示できるなら、Webサーバー自体は応答しています。WordPressだけ落ちる場合は、PHP、DB、プラグイン、テーマに原因が寄ります。
echo "ok" > test.html
# ブラウザで https://example.com/test.html を確認復旧作業は変更を一つずつ行う
500番台エラーでは、プラグイン停止、PHP変更、.htaccess修正、サーバー設定変更を同時に行うと原因がわからなくなります。必ず一つ変更して確認、戻せる状態で進めます。
- 500はPHP・.htaccess・プラグインを優先
- 502は上流サーバー・PHP-FPM・プロキシを優先
- 503はメンテナンス・過負荷・同時接続を優先
- 504はタイムアウト・DB・外部APIを優先
よくある質問
重さではなく原因が違います。500は内部エラー、503は一時的にサービス提供できない状態です。ログと発生条件で判断します。
直る場合もありますが、502や504ではサーバー側やPHP-FPMが原因のこともあります。番号ごとに見る場所を変える必要があります。
エラー番号、発生時刻、対象URL、直前の作業、error_log、アクセスログを伝えると調査が早くなります。
WordPress 500/502/503/504エラー復旧まとめ
500番台エラーは、番号によって原因の層が違います。500はWordPress内部、502は上流応答、503はメンテナンスや過負荷、504はタイムアウトを軸に見ると復旧が早くなります。
- まずエラー番号を正確に確認する
- error_logとアクセスログを保存する
- 500はPHPと.htaccessを確認する
- 502/504はサーバー応答とタイムアウトを見る
- 503はメンテナンスとリソース不足を見る
WordPress 500番台エラーが自分で直せない時は

ワードプレスのWordPressエラートラブル解決をしたいなら
クイックレスキューが解決します。
・WordPressが真っ白画面
・WordPressがログインできない
・ホームページのマルウェアや乗っ取り
・サイトの表示くずれ
・エラーが表示されている
これらでお悩みなら最短30分ですぐに解決します!
いまなら期間限定で
・万一改善されない場合は全額返金保証で安心!
・30日間動作保証で安心!
・初期費・調査料 0円で安心!



