Cf-Apo-Via

Cloudflare's Automatic Platform Optimization (APO) for WordPress reports its serving decision in the unofficial Cf-Apo-Via response header. The value names where the response came from within the APO flow, separating edge-served HTML from requests that traveled to the origin.

Usage

APO serves WordPress HTML from Cloudflare's edge, bypassing the origin for cached pages. The header appears on responses from zones running the APO setup through the Cloudflare WordPress plugin, and travels alongside Cf-Cache-Status and Cf-Ray on every observed response, with Cf-Edge-Cache joining on a share of them.

Cloudflare documents APO without documenting the header's values, so the observed patterns are the available record. The value reads as a serving path, optionally followed by a reason after a comma.

Values

tcache

The most common observed value. The response came out of APO's edge cache without touching the origin.

origin,reason

Values starting with origin mark responses fetched from the origin server, with the suffix recording why: origin,miss for a plain cache miss, origin,host and origin,page-rules for configuration routing the request past APO, and origin,resnok where the stored response did not qualify for serving.

Example

An APO-served WordPress page delivered from the edge. The tcache value marks the edge-cache path, and the companion headers carry the Cloudflare cache verdict.

HTTP/1.1 200 OK
Content-Type: text/html
Cf-Apo-Via: tcache
Cf-Cache-Status: HIT
Cf-Edge-Cache: cache,platform=wordpress

Observed in the wild

Crawl data records the header on 55 hosts, with tcache on roughly half of the responses and the origin,* family covering the rest, origin,host and origin,miss leading.

See also

Last updated: September 21, 2026