WordPressへアクセスしたときに「502 Bad Gateway」と表示された場合、ブラウザとWordPressの間にあるWebサーバーやプロキシが、後段のサーバーから正常な応答を受け取れなかった可能性があります。
502エラーは、WordPress本体だけが原因とは限りません。Webサーバー、PHP-FPM、リバースプロキシ、CDN、サーバー負荷、プラグインなどを順番に切り分けることが重要です。
30秒でわかる結論
- 502 Bad Gatewayは、ゲートウェイやプロキシが上流サーバーから正常な応答を受け取れなかったときのHTTPエラー
- WordPressでは、NginxとPHP-FPMの通信失敗、PHPプロセス停止、サーバー負荷などで発生することがある
- CDNやリバースプロキシを使っている場合は、CDN側とオリジンサーバー側の両方を確認する
- 最初に「自分だけか」「サイト全体か」「一時的か」「特定ページだけか」を確認する
- 次にレンタルサーバーの障害情報・CPU・メモリ・PHP・エラーログを確認する
- 直前にプラグインやテーマを変更したなら、一時停止して切り分ける
- 初心者はサーバー設定を闇雲に変更せず、障害確認→ログ確認→WordPress切り分けの順で進める
502 Bad Gatewayとは?
502 Bad GatewayはHTTPステータスコードの1つです。
HTTP仕様では、ゲートウェイまたはプロキシとして動作しているサーバーが、処理に必要な上流サーバーから無効な応答を受け取ったときに502を返します。
WordPressでのイメージ
ブラウザ → Nginx → PHP-FPM → WordPressという構成で、NginxがPHP-FPMへ処理を依頼したものの、正常な応答を受け取れなければ502になる場合があります。
502はWordPressだけのエラーではない
502はWordPress固有のエラーではありません。
WordPressを使っていないWebサイトでも、プロキシやゲートウェイと上流サーバーの通信に問題があれば発生します。
原因をWordPressだけに限定しない
プラグイン停止だけで直らない場合、PHP-FPM、Webサーバー、CDN、ロードバランサー、レンタルサーバー側の障害なども確認する必要があります。
502・500・503・504の違い
| コード | 主な意味 | 確認の中心 |
|---|---|---|
| 500 | サーバー内部で予期しないエラー | PHP・プラグイン・テーマ・.htaccessなど |
| 502 | 上流サーバーから不正な応答 | プロキシ・PHP-FPM・上流接続 |
| 503 | 一時的にサービスを提供できない | 過負荷・メンテナンスなど |
| 504 | 上流サーバーの応答が時間内に来ない | 上流処理の遅延・タイムアウト |
502と504はどちらもゲートウェイやプロキシと上流サーバーの関係で発生しますが、502は「正常な応答を受け取れなかった」、504は「時間内に応答を受け取れなかった」という違いがあります。
WordPressで502エラーが出る主な原因
PHP-FPMが停止・異常終了している
NginxなどがPHP処理をPHP-FPMへ渡す構成では、PHP-FPMが停止していたり正常に応答できなかったりすると502になることがあります。
PHP-FPMは複数のPHP処理をワーカープロセスで受け持つ仕組みです。プロセス数、メモリ不足、異常終了などが影響する場合があります。
PHP処理が重すぎる
重いプラグイン処理、大量データの取得、外部API待ちなどでPHP処理が長時間続くと、Webサーバー側との通信が正常に完了しないことがあります。
CPU・メモリなどのリソース不足
アクセス集中や重い処理によりCPU・メモリが不足すると、PHPプロセスが処理できなくなったり停止したりする場合があります。
よくある状況
- アクセス急増直後に502が出る
- 管理画面で重い処理を実行した直後に出る
- 大量画像処理やバックアップ中に出る
- 複数の重いプラグイン処理が重なったときだけ出る
プラグイン・テーマが重い処理を起こしている
WordPress側のプラグインやテーマが直接「502を返す」というより、重いPHP処理や異常終了を引き起こし、結果としてWebサーバーが上流から正常な応答を得られず502になることがあります。
CDNやリバースプロキシとオリジンサーバーの通信異常
CDNを利用している場合、ブラウザ → CDN → レンタルサーバーという構成になります。
CDNからオリジンサーバーへ接続できない、SSL/TLS設定に問題がある、オリジンが停止している、といった場合にも502が表示されることがあります。
サーバー側の一時障害
レンタルサーバー会社側のWebサーバー、PHP、ネットワークなどで一時的な障害が起きている場合があります。
まず確認すること
一時的な障害か確認する
特定ページだけかサイト全体か確認
自分だけの問題か切り分ける
サービス側の障害・メンテナンスを見る
プラグイン更新・テーマ変更・PHP変更など
何度も更新ボタンを押し続けない
過負荷が原因の場合、短時間に何度もアクセスすると負荷を増やす可能性があります。一時障害の可能性があるなら数分おいて再確認します。
原因1.レンタルサーバー障害を確認する
最初に、レンタルサーバー会社の障害・メンテナンス情報を確認します。
確認ポイント
- Webサーバー障害
- PHP障害
- ネットワーク障害
- 収容サーバーのメンテナンス
- 同じサーバーの他サイトでも異常がないか
サービス側の障害なら、WordPress設定を変更しても直りません。復旧を待つ方が安全です。
原因2.CPU・メモリ・アクセス数を確認する
サーバー管理画面でCPU・メモリ・アクセス数などを確認できる場合は、502が出た時刻と重ねて見ます。
| 状況 | 考えられる原因 |
|---|---|
| アクセス急増と同時に502 | 同時処理数・CPU負荷 |
| メモリ逼迫後に502 | PHPプロセス異常終了など |
| バックアップ中だけ502 | CPU・I/O・PHP負荷 |
| 常時502 | PHP-FPM停止・設定異常・サーバー障害など |
数字は単独で判断しない
CPU使用率が一瞬高いだけで原因とは断定できません。「502が発生した時刻」と「負荷が上がった時刻」が一致するかを見ます。
原因3.エラーログを確認する
502の原因を絞るうえで重要なのがログです。
レンタルサーバーで確認できる場合は、次のログを見ます。
- Webサーバーのエラーログ
- PHPエラーログ
- PHP-FPMログ
- WordPressデバッグログ
見るべき内容
- 502が出た時刻のエラー
- PHP Fatal error
- upstream関連エラー
- connection refused
- reset by peer
- PHP-FPMのプロセス停止・再起動
- メモリ不足を示す記録
ログに原因が残っていれば、プラグイン停止やサーバー変更を闇雲に行わず、対象を絞って対処できます。
原因4.プラグインを切り分ける
直前にプラグインを追加・更新した直後から502が出る場合は、プラグインを原因候補にします。
すべてのプラグインを突然削除しない
削除すると設定やデータに影響するプラグインがあります。基本は「無効化」で切り分け、原因確認後に対応します。
原因5.テーマを確認する
テーマ更新やfunctions.php編集後から発生した場合は、テーマ側のPHP処理も確認します。
ただし、テーマ原因では500や「重大なエラー」として表れる場合も多いため、502だからテーマと決めつけないでください。
原因6.PHP-FPMを確認する
VPSや専用サーバーなど自分でサーバーを管理している場合は、PHP-FPMが正常に動作しているか確認します。
管理者が確認する項目
- PHP-FPMサービスが起動しているか
- WebサーバーとPHP-FPMの接続先が一致しているか
- Unix socketやTCPポートへ接続できるか
- PHP-FPMワーカーが枯渇していないか
- プロセスが異常終了していないか
- メモリ不足が発生していないか
PHP-FPMには、1リクエストが長時間続いた場合にワーカーを終了させるrequest_terminate_timeoutなどの設定もあります。
共用レンタルサーバー利用者はPHP-FPMを直接再起動・設定変更できないことが一般的です。その場合はログや障害情報を確認し、必要ならサーバー会社へ問い合わせます。
原因7.CDNを使っている場合の確認
CDNやリバースプロキシを使っている場合は、502がどこで生成されているかを切り分けます。
| 確認 | 分かること |
|---|---|
| CDN経由だけ502 | CDNとオリジン間の問題の可能性 |
| オリジンへ直接アクセスしても502 | レンタルサーバー・PHP側の可能性 |
| SSL変更後に発生 | CDNとオリジンのTLS設定を確認 |
| DNS変更後に発生 | CDNの接続先・オリジンIPを確認 |
CDNを無効化する前に設定を記録
本番サイトでCDN設定を変更すると、DNSやキャッシュ、SSLへ影響することがあります。現在値を記録し、サービス公式の切り分け手順を優先してください。
管理画面にも入れない場合はどうする?
WordPress管理画面も502になり、プラグインを停止できない場合があります。
その場合は、レンタルサーバーのファイルマネージャーやFTP/SFTPでプラグインディレクトリ名を一時変更して切り分ける方法があります。
例
wp-content/plugins/example-plugin を一時的に example-plugin-off などへ変更し、対象プラグインを読み込めない状態にします。
先にバックアップする
ファイル操作前にはバックアップを取り、変更した名前を記録してください。データベースやWordPress本体を削除する必要はありません。
502が一時的に直った場合も確認すべき?
1回だけ502が出て、再読み込み後すぐ直った場合は一時的な負荷やサーバー側の瞬間的な異常だった可能性があります。
ただし、繰り返す場合は放置しない方が安全です。
再発する場合に記録すること
- 発生日時
- 対象URL
- 管理画面か公開ページか
- アクセス集中の有無
- 実行していた処理
- 直前の更新・設定変更
- ログに出たエラー
やってはいけない対処
原因不明のままPHP設定を大幅変更する
タイムアウトやPHP-FPMの数値を大きくすれば解決するとは限りません。処理そのものが異常に重い場合、上限を増やすだけで負荷が長時間続くことがあります。
WordPressを再インストールする
502はプロキシ・PHP-FPM・サーバー側が原因の場合も多く、再インストールでは直らない可能性があります。
バックアップなしでプラグイン・テーマを削除する
切り分けでは無効化を優先し、削除は原因を確認してから行います。
エラー画面だけで原因を断定する
502というコードだけでは、どの上流処理が失敗したかまでは分かりません。ログとサーバー状態を確認します。
共用レンタルサーバーとVPSで対応は違う
障害情報、アクセス数、PHP設定、ログ、WordPressのプラグイン・テーマまで確認します。WebサーバーやPHP-FPM自体の再起動は運営会社へ任せます。
サービス独自のキャッシュ・プロキシ構成があるため、公式サポートの診断情報を優先します。
Nginx・Apache・PHP-FPM・systemd・ログ・メモリまで自分で確認します。
CDNだけでなくオリジンサーバーの状態も確認します。
教科書判定
初心者は「502=WordPressが壊れた」と決めつけず、サーバー障害→負荷→ログ→直前の変更の順で確認する
共用レンタルサーバーなら、NginxやPHP-FPMの設定を自分で変更する必要はありません。まず障害情報とサーバー管理画面を確認し、WordPress側では直前に変更したプラグイン・テーマを切り分けます。
502が短時間だけ発生して復旧した場合でも、何度も繰り返すなら発生時刻とログを記録してください。VPS利用者はWebサーバーとPHP-FPMの接続、プロセス状態、メモリ不足まで確認した方がよいです。
FAQ
Q.502 Bad Gatewayは自分のパソコンが原因ですか?
通常はサーバー側・プロキシ側の問題を示します。ただし、ブラウザキャッシュやネットワークの一時問題と切り分けるため、別端末・別回線でも確認してください。
Q.502と504の違いは何ですか?
502はゲートウェイやプロキシが上流サーバーから正常な応答を得られなかった状態、504は上流サーバーから時間内に応答を得られなかった状態です。
Q.プラグインが原因で502になりますか?
可能性はあります。重いPHP処理や異常終了によって上流処理が正常に返らず、結果として502になる場合があります。ただしサーバー障害やPHP-FPMも確認してください。
Q.502が出たらサーバーを乗り換えるべきですか?
1回の502だけで乗り換える必要はありません。頻発し、リソース不足やサーバー側制限が原因と確認できた場合にプラン変更や移転を検討します。
Q.502はSEOに悪影響がありますか?
短時間の一時的なエラーだけで直ちに順位が下がると断定はできません。ただし長時間・頻繁にサイトへアクセスできない状態は、ユーザーにもクローラーにも望ましくありません。再発する場合は原因を解消してください。
まとめ
この記事の結論
- 502はゲートウェイ・プロキシが上流サーバーから正常な応答を得られないときのエラー
- WordPressではPHP-FPM、サーバー負荷、重いPHP処理などが原因になることがある
- CDN利用時はCDNとオリジンサーバーの両方を確認する
- 最初に障害情報・発生範囲・直前の変更を確認する
- 次にCPU・メモリ・エラーログを確認する
- プラグインやテーマは削除ではなく無効化で切り分ける
- 共用レンタルサーバーではPHP-FPMを無理に変更せず、必要ならサポートへ問い合わせる
- VPSではWebサーバーとPHP-FPMの接続・プロセス状態まで確認する
「WordPressで503エラーが出る原因と対処法」もあわせて確認してください。