cURL error 28は、まず「どの通信が止まったか」を切り分ける。
WordPressのサイトヘルスやプラグイン更新時に「cURL error 28」と表示される場合、WordPressから外部サービスへの通信が一定時間内に完了しなかった可能性があります。最初から設定を大きく変えず、一時的な通信障害か、特定の外部通信だけ失敗しているのかを順番に確認します。
- 数分後に再確認する
- サイトヘルスのどの項目で出ているか記録する
- WordPress.orgやREST APIへの通信を確認する
- WAF・セキュリティ・キャッシュ設定を確認する
- 繰り返す場合はホスティング側のログを確認する
1.cURL error 28は何を意味する?
cURLの28番は、通信処理が設定された時間内に完了しなかったときに使われるタイムアウト系のエラーです。WordPressでは、更新確認、REST API、ループバック、外部API通信などで表示されることがあります。
2.まず一時的な通信障害か確認する
外部サービスやサーバーの一時的な混雑でも発生するため、同じ操作を短時間に連打せず、少し時間を置いて再確認します。繰り返す場合は、エラーが出るURLや時刻を控えます。
3.サイトヘルスのエラー内容を読む
「ツール → サイトヘルス」でREST API、ループバック、WordPress.orgへの通信など、どのテストが失敗しているか確認します。エラー文をそのまま保存しておくと、ホスティング会社へ相談しやすくなります。
サイトヘルスの重大な問題を確認する方法もあわせて確認できます。
4.WAF・セキュリティ・キャッシュを確認する
外部通信やREST APIを制限する設定があると、通信が完了せずタイムアウトする場合があります。WAF全体を無効にするのではなく、該当時刻のログや直前の設定変更を確認します。
403も同時に出ている場合は、WordPressの403エラー確認手順へ進んでください。
5.DNSやサーバー負荷も原因候補
名前解決の遅延、サーバー負荷、外部通信制限などでもタイムアウトが起こる場合があります。自分で原因を特定できない場合は、発生時刻・対象URL・エラー全文をホスティング会社へ伝えます。
状況別の切り分け
| 発生場面 | 確認ポイント |
|---|---|
| サイトヘルスだけ | 失敗しているテスト名、REST API、ループバック |
| プラグイン更新時 | WordPress.orgへの通信、サーバー負荷 |
| 特定APIだけ | 外部サービス側、WAF、DNS |
| 403も同時発生 | WAF・セキュリティ設定 |
JSONレスポンスエラーも出る場合
ブロックエディターの保存でエラーが出る場合は、REST APIの通信問題が共通している可能性があります。正しいJSONレスポンスではありませんと出るときの確認手順も確認してください。
サポートへ渡す記録テンプレート
| 記録項目 | 残す内容 |
|---|---|
| 発生時刻 | 最初に確認した時刻と再発時刻 |
| エラー全文 | cURL error 28を含む表示内容 |
| 対象機能 | サイトヘルス、更新、REST API、外部APIなど |
| 対象URL | 表示されている場合のみ記録 |
| 直前変更 | WAF、セキュリティ、キャッシュ、DNS、PHP設定 |
WAFは全体を無効にせず、該当時刻のログと対象通信を確認します。特定の外部サービスだけ失敗するのか、複数通信が同時に失敗するのかを分けて記録すると切り分けやすくなります。
やらない方がよいこと
タイムアウトを解消する目的だけでPHP設定や通信タイムアウト値を大きく変更するのは避けます。まず原因が外部通信、DNS、WAF、負荷のどこにあるかを切り分けます。
サポートへ相談する目安
一時的な通信遅延か、どのテストで失敗しているかまでは自分で確認できます。cURL error 28が繰り返す、複数の外部通信が同時に失敗する、DNS・WAF・サーバー負荷のどこが原因か切り分けられない場合は、エラー全文・対象URL・発生時刻を添えてホスティング会社へ相談してください。
よくある質問
cURL error 28が1回出ただけなら放置してよいですか?
一時的な通信遅延なら再発しないこともあります。更新や投稿保存に影響がなく、その後正常なら経過を見られますが、繰り返す場合は確認が必要です。
WAFをOFFにすれば直りますか?
原因がWAFとは限りません。全体を無効にせず、ログで該当通信がブロックされているか確認してください。

