Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

よくある質問

最終更新 Markdown で表示Agent セットアップ

「Cache Level: Cache Everything」付きの「Edge Cache TTL」ページルールは、まだ作成する必要がありますか?

いいえ。Edge Cache TTL ページルールを作成する必要はありません。WordPress プラグインをインストールすると、APO はコンテンツを 30 日間自動でキャッシュし、変更から 30 秒以内に無効化します。ただし、APO はキャッシュ関連のページルールに対応しているため、既存のページルールが APO が配信するリソースに影響しないことを確認してください。

Origin Cache Control は APO を上書きしますか?

いいえ。APO はエッジでのキャッシュについて Origin Cache Control を無視しますが、クライアントには元の Origin Cache Control を返します。

APO を使うと、ブラウザーの cache-control ヘッダーがなくなるのはなぜですか?

Browser Cache TTLRespect Existing Headers にしていると、APO 使用時にブラウザーの cache-control ヘッダーがなくなることがあります。例:

curl --silent --verbose --output /dev/null https://example.com/ --header 'Accept: text/html' 2>&1 | grep cache-control
< cache-control: max-age=86400, stale-while-revalidate=86400, stale-if-error=86400

APO では stale-if-error ディレクティブはまだ必要ですか?

いいえ。この機能は APO に組み込まれているため、stale-if-error ディレクティブは不要です。

投稿とホームページのキャッシュステータスを確認すると、応答ヘッダーが cf-cache-status: BYPASS です。APO は動作していますか?

Chrome DevTools を開いていると、Chrome はデフォルトで Cache-Control: no-cache を送ります。Disable cache (while DevTools is open) のチェックを外すと、cf-cache-status: HITcf-apo-via: cache ヘッダーが返されます。

cURL で cf-cache-status を確認すると、常に MISSDYNAMIC が返ります。ブラウザーでは HIT なのに、ほかのツールでは DYNAMIC です。想定どおりの動作ですか?

APO は、リクエストの Accept ヘッダーと URL パスに基づき、HTML キャッシュの対象かどうかを決めます。

  • Accept ヘッダーに text/html が含まれる(品質値が 0 より大きい)場合、リクエストは HTML リクエストとして扱われ、キャッシュ対象になります。
  • Accept ヘッダーが HTML を明示的に拒否する(Accept: text/html; q=0)場合、リクエストは HTML としてキャッシュされません。
  • Accept ヘッダーに text/html がない場合(Accept: */*Accept ヘッダーなしを含む)、APO は代わりに URL パスを評価します。静的でないパス(ページや投稿など)へのリクエストは HTML キャッシュの対象のままです。静的ファイル拡張子へのリクエストは対象外です。

一部のテストツールは Accept ヘッダーを送りません。これらのリクエストでは、上記のとおり APO は URL パスを使うため、キャッシュ結果はリクエストパスとその他の対象条件に依存します。ブラウザーに近い HTML リクエストを確実に再現するには、cURL コマンドに -H 'accept: text/html' を含めます。

APO を有効にすると、Google Fonts も最適化されますか?

はい。APO を有効にすると Google Fonts も最適化されます。フォント URL を確認すると最適化を確認できます。たとえば、サイト読み込み時に URL は https://fonts.gstatic.com/s/... から https://example.com/fonts.gstatic.com/s/... に変わります。プロキシされたフォントでは、cf-apo-via:proxy ヘッダーが返されます。

APO でクエリ文字列のキャッシュをカスタマイズできますか?

クエリパラメーターの詳細は クエリパラメーターとキャッシュされた応答 を参照してください。

フォント URL が変換されないのはなぜですか?

content-security-policy 応答ヘッダーがあるが、下記の値が欠けている場合、APO はフォント URL の変換をスキップします。

問題を直すには、content-security-policy ヘッダー値が、style-src または default-src ディレクティブで unsafe-inline を許可する必要があります。例: Content-Security-Policy: style-src unsafe-inline;

ヘッダーは、font-src または default-src ディレクティブで self を許可する必要があります。例: Content-Security-Policy: font-src self;

APO を使うと、ゾーンログに Worker のサブリクエストが出るのはなぜですか?

APO はコンテンツ配信の最適化に Cloudflare Workers を内部で使うため、Worker のサブリクエストが発生します。これらのサブリクエストは、ゾーンログ(Logpush など)に表示されることがあります。

APO プラグインで「This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.」と表示されるのはなぜですか?

成熟したプラグインでは、WordPress の未テスト警告が出るまでの期間より長く更新がないことは珍しくありません。この警告は通知目的であり、プラグインが動かなくなったことを示すものではありません。プラグインは引き続き保守されています。

役に立ちましたか?