APO doesn't work on WordPress/WooCommerce, there is no cf-apo-via header in the response

Hi community,

Our website is www.naturalmoreish.com.au

I bought the APO service from the Cloudflare, changed the domain’s nameserver and DNS to the Cloudflare, installed the Cloudflare official plugin on our website and connected it to the Cloudflare. The APO is enabled on both the website and the Cloudflare website:

On the website:

On the Cloudflare:

I set them up 3 days ago but it doesn’t work yet. Regards to the Cloudflare APO documentation we should see a “cf-apo-via” header in the response headers but it doesn’t exist on our website response header:

If you check our website, you will see the “cf-cache-status” for the pages are always “DYNAMIC”. I bought the APO service to see “cf-cache-status: HIT” :slight_smile:

I tested it with different devices, different internet connections, clearing all cookies, disabling all the plugins, with a WordPress default theme, clearing all caches and it didn’t work.

We’re using the Kinsta servers if that helps.

As we don’t have a Cloudflare premium plan, so I can’t ask it from the Cloudflare support team so I hope that you can help me to resolve this issue.

Much thanks!

I see a header that says “Cache-control: no-store, no-cache, must-revalidate” and one that says Pragma: no-cache

That sure sounds like a setting on the server that’s forcing a No-Cache, Have you asked Kinsta about this?

1 Like

I talked with 2 or 3 of them and they all told me you should contact the Cloudflare support team for this :slight_smile: They don’t know anything about APO.

They say Kinsta has full supports with the Cloudflare services.

So, you say this is from our server-side issue? What should I say to the Kinsta? Because we don’t have any access to the server or cache settings there.

I’d test this with a direct connection to your origin IP address. That should be the main DNS “A” record for naturalmoreish.com.au

curl -svo /dev/null https://naturalmoreish.com.au --connect-to ::

but replace the 123s with the actual IP address. ‘curl’ needs to be executed from command line: Terminal on the Mac, or PowerShell on Windows.

This will give you the Response Headers from your server, where I expect you’ll see those no-cache headers I mentioned earlier.

1 Like

Thank you so much for the quick responses.

Below is the curl result with our actual server’s ip:

content-type: text/html; charset=UTF-8
< cf-ray: 6afe502bfe5e17f1-EWR
< cache-control: no-store, no-cache, must-revalidate
< expires: Thu, 19 Nov 1981 08:52:00 GMT
< link: <https://naturalmoreish.com.au/wp-json/>; rel="https://api.w.org/"
< set-cookie: PHPSESSID=0e93ec890788d3c13ad8ece7b8b957a3; path=/
< vary: Accept-Encoding
< cf-cache-status: DYNAMIC
< cf-edge-cache: cache,platform=wordpress
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< ki-edge: v=16.6
< pragma: no-cache
< x-content-type-options: nosniff
< x-edge-location-klb: 1
< x-kinsta-cache: HIT
< server: cloudflare
< alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400

Yes the pragma is no-cache and the cache-control is no-store, no-cache, must-revalidate. So, is this something related to Kinsta to be resolved?

Yep, because:

That’s before your Cloudflare account, so it’s out of your control.

Show them the entire text of your test, including the command. That should convince them it’s coming from them.


Much thanks for your effort. I will talk with them and let you know about this. Thanks!!

1 Like

Back in April, I see a post from someone who said APO doesn’t work with Kinsta.

1 Like

I saw that post, but the Kinsta wrote this on its blog:

Since Cloudflare APO only helps with optimizing frontend content, you’ll still need to host your site on a high-performance host like Kinsta to maximize the performance of backend tasks and the logged-in user experience.
(How to Set up Cloudflare APO for WordPress)

I’m sure they are just THINK we can use APO, they never tried APO by theirselves before.

1 Like

Just FYI, kinsta is full of ■■■■. They have done multiple big article write-ups about apo.

Just find it funny they don’t know after all the so-called accurate testing they did in articles. If issues were there, they would have noticed apo issues.

Honestly, my two cents leave them. What they charge for traffic is criminal, visitors only including bots lol :laughing:

Btw they spruce google as their premium network. I left google cloud self-hosted with premium tier with a better backend than what they would set up for vultr and got better results.

They are average at best… Proof in the pudding.


My question is related to the APO service. I bought the APO service, changed our domain nameserver and DNS to the Cloudflare, installed the Cloudflare official plugin and connected it to Cloudflare and enabled the APO on the plugin and the Cloudflare website. On the Cloudflare website, in the Speed tab, I can see “WordPress plugin successfully detected on naturalmoreish.com.au”.

I did all this 3 days ago but unfortunately the APO doesn’t work on our website. I have tested it with different devices and different internet connections but it doesn’t work at all.

www.naturalmoreish.com.au is our website.

Our server is on the Kinsta. Here is the screenshot of our website’s respond header. You can see there is no cf-apo-via header (https://developers.cloudflare.com/automatic-platform-optimization/get-started/verify-apo-works).

I have tested disabling all plugins and tested with with a WordPress default theme but it doesn’t work. I cleared all cookies, caches and everything.

Please help me to find how to resolve this issue. As we don’t have a Cloudflare premium plan, we can’t use the support ticket so I hope you can help me.

Much thanks!

I suspect with Kinsta maybe using cp-apo-via header to verify CF APO might not be accurate as from quick TTFB test of your site at https://tools.keycdn.com/performance shows very fast sub <100-400ms TTFB for all geographical locations. Whether that is CF APO at work or combined with Kinsta CDN cache hard to know - would need to ask Kinsta.

each geographic location’s header responses when you click the little down arrow

I see the cf-apo-via headed here though = tcache served from CF tiered caching :slight_smile:

Make sure you’re inspecting these response headers with logged out session and Wordpress site cookies deleted otherwise logged in sessions will bypass CF APO cache at least.


Yes I don’t like the Kinsta anymore, their plans are so pricy! I have problems with their PHP worker limits. So, do you think the Google cloud and Vultr is better choice for WooCommerce?

Thank you so much, yes I could enable the APO yesterday. The Kinsta support doesn’t help at all. I changed our nameserver and used the Kinsta nameservers instead of my actual IPs and the APO works now.

1 Like

I can’t say much on woo sorry, and I never used it, so I really can’t advise sorry to say.

Regardless, if you know how or are willing to learn, buying a VPS with vultr, digital ocean, maybe Linode, some others out there will and setting and maintaining will reap you much better benefits.

But this isn’t for eveyone, self managed can be good but limits you if you get what I mean.

GCP AWS and azure are great. Don’t get me wrong, if you are doing some major, major stuff, but for small to medium sites, look at the more minor players; like my example, I found much better performance moving from GCP, which kinsta brag about.

1 Like

You can use other vps like AWS, digital ocean, Azure with spinupwp. You also won’t get problem managing vps and also you will get complete freedom :blush:

1 Like

Much thanks!

Thanks for your reply, we will migrate soon :slight_smile:

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.