速度改善・安全対策

WordPressでCloudflare Snippets Error 1201〜1206が出るときの直し方|原因別の確認順

Cloudflare SnippetsをWordPressの前段へ入れたあと、Error 1201〜1206が表示されたら、番号を確認せずコードを作り直さないでください。6つの番号は、同じ「Snippetsの失敗」でも原因が異なります。

1201はオリジンへ進む処理の重複、1202はsubrequest数、1203はCPU時間、1204はメモリ、1205はデプロイ反映中、1206はJavaScript例外が中心です。Cloudflare全体やWordPressプラグインを先に止めるのではなく、直前に変更したSnippetとrule条件を特定します。

エラー番号、完全なURL、発生時刻、直前のコード、Snippet rule、正常だった版を保存してから修正してください。影響が広い場合も、原因Snippetだけを停止または適用範囲を狭め、無関係なDNS・WAF・キャッシュ設定は残します。

先に結論:1201〜1206は7段階で確認する

  1. 画面または応答本文のエラー番号を正確に読む
  2. 失敗した完全なURL、HTTPメソッド、時刻、再現操作を保存する
  3. 直前に変更したSnippet、rule条件、関連Rules・Workersを特定する
  4. 変更前のコードと正常応答を保存する
  5. 影響が大きければ原因Snippetだけを停止するか条件を狭める
  6. 番号ごとの原因だけを修正する
  7. 公開ページ、管理画面、API、フォーム、キャッシュ、転送を再確認する

Snippetsの導入目的と上限が曖昧な場合は、先にCloudflare SnippetsとRules・Workersの使い分けを確認してください。上限へ処理を押し込むより、標準RulesやWorkersへ移す方が安全な場合があります。

Error 1201〜1206の違い

布とフォームで6種類の異常状態を表した試験ホール

Cloudflare公式のSnippetsエラーは、各番号を次のように説明しています。

番号意味最初に見る場所基本対応
1201Snippetがオリジンへ複数回進もうとしたfetch(request)の呼び出し同一Snippetで1回にする
1202subrequest上限を超えたfetch回数、転送回数、プラン呼び出しとredirect chainを減らす
1203CPU時間上限を超えた反復、解析、変換処理処理を軽くするかWorkersへ移す
1204メモリ上限を超えた大きな本文・配列・複製保持量を減らすかWorkersへ移す
1205デプロイ反映中公開直後か、Retry-After数秒待って再試行
1206Snippetが未処理例外を出した型、参照、Promise、分岐例外箇所を直し適切に処理

1200はSnippetsの1201〜1206とは別で、Cache connection limitです。1200が表示されている場合はCloudflare Error 1200の確認手順を使います。

Workersの未処理例外1101、資源上限1102、呼び出しループ1019も似ていますが、製品と確認場所が異なります。エラー画面の番号と、対象URLへSnippetsまたはWorkersのどちらを割り当てているかを照合してください。

変更前に保存する証拠

布の正常試料と異常試料、砂時計、コード束を並べた検査場面

SnippetsはWordPressの外側で動くため、WordPressのエラーログだけでは原因が見えないことがあります。また、公式概要では現在Version ManagementがSnippetsに対応していません。コードを上書きする前に、戻せる材料を自分で保存します。

  • Error 1201〜1206の番号と文言が読める画面
  • 失敗した完全なURL、HTTPメソッド、操作内容
  • 初回発生・直近発生の時刻とタイムゾーン
  • Snippet名、コード全文、Snippet ruleの条件式
  • 直前に保存・デプロイした時刻と担当者
  • 変更前に正常だったコードと条件式
  • 同じURLへ一致する他のSnippets、Rules、Workers
  • 対象プランとsubrequest上限
  • リダイレクト先とredirect chain
  • 公開ページ・管理画面・APIなど影響範囲
  • ログイン中・未ログイン、別回線での再現結果
  • 応答ヘッダーにRetry-Afterがある場合はその値

影響が広いときの一次復旧

トップや管理画面を含む広い範囲が開かない場合は、原因と見込まれるSnippetだけを一時停止するか、rule条件を検証パスへ狭めます。変更前コードと条件式を保存したあと、正常だった版へ戻します。

  • 直前に変更したSnippetを特定する
  • 同じURLに一致する他Snippetとの順番を確認する
  • 原因Snippetだけを停止または限定する
  • 安定版コードとrule条件へ戻す
  • Cloudflareキャッシュの一括削除は必要性を確認してから行う
  • DNS only、Pause Cloudflare、WAF全停止を安易に使わない
  • 復旧時刻と実施内容を記録する

Snippetを直すためにWordPress本体、テーマ、プラグイン、DNSを同時に変更しないでください。変更箇所を増やすと、何が復旧に効いたか分からなくなります。

Error 1201の直し方

1201は「Snippet tried to continue to origin multiple times」です。公式は、1つのSnippetがfetch(request)を複数回呼んだときに発生し、1回だけにするよう案内しています。

  • 通常分岐と例外分岐の両方でfetchしていないか
  • 共通処理の前後で同じrequestをfetchしていないか
  • 早期returnせず後続処理でもfetchしていないか
  • 再試行処理が同じrequestを繰り返しオリジンへ送っていないか
  • レスポンスを受けた後に同じrequestをもう一度fetchしていないか

複数のSnippetsが順番に実行される仕組みと、1つのSnippet内で同じrequestを複数回fetchすることを混同しないでください。該当Snippetの制御経路を整理し、オリジンへ進む呼び出しを1回にします。

Error 1202の直し方

1202はSnippetのsubrequest上限超過です。2026年8月17日に確認した公式表では、1回のSnippet実行で使えるsubrequest数はProが2、Businessが3、Enterpriseが5です。変更される可能性があるため、現在の契約画面も確認します。

重要なのは、リダイレクト先を追う途中の要求も数えられることです。1回のfetchに見えても、接続先が301・302を繰り返すとsubrequestを消費します。

  • コード内のfetch回数を数える
  • 接続先URLが最終到達先か確認する
  • httpからhttps、www有無、末尾スラッシュの転送を確認する
  • 同じ情報を複数回取得していないか確認する
  • 不要なフォールバックや再試行を減らす
  • 上限内に収まらない処理はWorkersまたはオリジン側へ移す

ブラウザーが同じURL間を往復するリダイレクトループなら、subrequest上限だけでなくWordPressのリダイレクトループ確認手順で、WordPress・サーバー・Cloudflareの転送設定を確認します。

Error 1203の直し方

1203はSnippetがCPU時間上限を超えたエラーです。Snippetsの共通上限は5msです。外部応答を待つ壁時計時間ではなく、コードが計算に使う時間を意識します。

  • 大きな配列・文字列への繰り返し処理を減らす
  • 正規表現の対象範囲と複雑さを見直す
  • HTML全体の解析・置換が本当に必要か確認する
  • 同じ計算を分岐ごとに繰り返さない
  • 不要なJSON解析・再生成を減らす
  • 処理量が本質的に大きいならWorkersへ移す

Workersへ移したあと1102が出る場合は、WorkersのCPU・メモリ上限確認手順で、処理削減、分割、ストリーミングを検討します。

Error 1204の直し方

1204はSnippetのメモリ上限超過です。Snippetsの共通上限は2MBで、大きな応答本文、配列、複製したResponse、展開後のJSONなどを同時に保持すると超える可能性があります。

  • 応答本文全体を文字列・JSONとして保持していないか
  • 同じデータを複数の変数・配列へ複製していないか
  • 大きなHTML・API応答を一括変換していないか
  • 不要なヘッダー・データを蓄積していないか
  • 限定パスへ処理を狭められないか
  • 大きなデータ処理が必要ならWorkersまたはオリジン側へ移せないか

1203と1204を同じ「重い処理」とだけ扱わず、計算時間と保持データ量を分けます。小さなデータでも複雑な計算なら1203、大きな本文を単純に保持するだけでも1204になり得ます。

Error 1205の直し方

1205は「Deployment in progress」です。新しいSnippetがCloudflareのネットワークへ反映中で、短い時間だけ要求が期待どおり処理されない状態です。公式は数秒後の再試行を案内しています。

  • Snippetを保存・デプロイした直後か確認する
  • 応答にRetry-Afterがあればその時間を待つ
  • 連続リロードや自動再試行を止める
  • コードを重ねて再保存せず、同じ版の反映を待つ
  • 時間を空けて同じ完全なURLで再確認する
  • 長く続く場合はエラー画面、時刻、Snippet名を添えてSupportへ相談する

Cloudflareの構造化エラー応答では、1205に5秒のRetry-Afterが定義されています。ただし、実際の応答に動的な値がある場合は、その値を優先してください。1205を1203・1204と誤認し、反映中にコードを削る必要はありません。

Error 1206の直し方

修復した布モジュールで明るい天蓋を組み上げた場面

1206は「Snippet threw exception」です。公式は、実行時JavaScriptエラー、未処理のPromise rejection、型エラー、参照エラーを主な原因として挙げています。

  • 存在しない変数・プロパティを参照していないか
  • URL、ヘッダー、JSONが想定外でも処理できるか
  • null、undefined、空文字、空応答を確認しているか
  • await対象の失敗を処理しているか
  • 条件分岐の一部だけResponseを返していない箇所がないか
  • 例外処理で機密情報を応答へ出していないか

必要な場所へtry...catchを追加しますが、すべての例外を握りつぶして200を返すのは避けます。復旧用の安全な応答、元のrequestをオリジンへ渡す条件、明示的に失敗させる条件を設計し、認証・管理画面・決済などでは安全側に倒します。

Workersで同様の未処理例外が出る場合は、Cloudflare Error 1101の確認手順を使います。Worker同士の自己参照・相互参照なら、Cloudflare Error 1019の呼び出し経路確認へ進んでください。

修正後に確認する項目

  • 対象URLで1201〜1206が消えた
  • トップ、投稿、固定ページ、カテゴリー、検索、404が正常
  • WordPressログイン、管理画面、投稿保存、プレビューが正常
  • REST API、admin-ajax、wp-cron、サイトヘルスが正常
  • お問い合わせ、会員、予約、決済など使用中のフォームが正常
  • 画像、CSS、JavaScript、Webフォントが正常
  • リダイレクト先と回数が意図どおり
  • Cache-Control、Location、セキュリティヘッダーが意図どおり
  • 複数Snippetの実行順と上書き結果が意図どおり
  • ログイン中・未ログイン、PC・スマートフォンで正常
  • 1101、1102、1019、1200、リダイレクトループへ変化していない
  • 修正コード、rule条件、確認日時、復旧時刻を保存した

やってはいけない対処

  • エラー番号を確認せずコード全体を書き直す
  • 正常版を保存せずSnippetを上書きする
  • 原因Snippetを特定せずCloudflare全体を停止する
  • WordPress、DNS、WAF、キャッシュを同時に変更する
  • 1202を消すためプラン変更だけで処理の無駄を残す
  • 1203・1204へ再試行を繰り返す
  • 1205の反映中に何度も再デプロイする
  • 1206の例外をすべて握りつぶして正常応答に見せる
  • 公開ページだけ確認し管理画面・API・フォームを省く
  • 機密情報をエラー応答や共有資料へ含める

よくある質問

1205は何秒待てば直りますか?

公式は数秒後の再試行を案内しています。応答にRetry-Afterがあればその値を優先し、連続リロードや再デプロイを避けます。時間を空けても続く場合は、別の番号やデプロイ状態を確認します。

1202は上位プランへ変えれば解決しますか?

上限は増えますが、不要なfetchやredirect chainが残っていれば再発します。まず呼び出し先を最終URLへ直し、重複取得・再試行を減らします。処理の性質がSnippetsに合わない場合はWorkersまたはオリジン側へ移します。

1203と1204はどう見分けますか?

1203は計算に使うCPU時間、1204は保持するデータ量が中心です。大きな反復・解析・変換は1203、大きなHTML・JSON・配列・Responseの複製は1204を疑います。画面の番号を優先してください。

一時的にSnippetを止めても大丈夫ですか?

そのSnippetの役割によります。停止すると認証、転送、ヘッダー、キャッシュ、オリジン経路が変わる場合があります。変更前の動作と停止時の影響を確認し、原因Snippetだけを限定して、復旧後に必要機能を再確認します。

まとめ

Cloudflare Snippets Error 1201〜1206は、オリジンへの進み方、subrequest、CPU、メモリ、デプロイ反映、JavaScript例外という別々の原因を示します。番号を読まずに同じ対処をすると、復旧を遅らせます。

完全なURL、時刻、コード、rule条件、正常版を保存し、原因Snippetだけを安全に切り離してから番号別に修正してください。修正後は公開ページだけでなく、管理画面、API、フォーム、キャッシュ、転送まで確認することが再発防止につながります。

-速度改善・安全対策