What Is APO by Cloudflare and How To Confirm It’s Working?

While it has been only less than a year since Cloudflare announced its APO (Automatic Platform Optimization) service, it has rightly earned high praises, both from technical & non-technical users of the service.

As of right now, APO is only available for eligible & compatible WordPress sites — which account for 38% of all websites on the internet.

Now, before we understand what APO is, how it works, etc., you should know two key concepts to comprehend the details about this service appropriately.

2 Key Concepts To Know Before Fully Understanding What Cloudflare’s APO Is

These concepts are:

  1. Origin Server: At the end of the day, this is the server that contains and is responsible for serving the original web page.
  2. TTFB (Time to First Byte): This is basically the amount of time it takes to receive the very first byte from the server when a client (your browser) makes an HTTP request. Generally speaking, all websites aim for a faster TTFB response time. The faster it is, the faster everything else that follows can be.

What Is APO (Automatic Platform Optimization)?

Cloudflare’s APO is built with a mechanism where it is most effective by serving your entire site on its edge network in conjunction to caching third-party fonts. As a result, TTFB significantly improves, and so does FCP (first contentful paint) and Speed index.

Caching third-party fonts eliminates extra requests that would need to leave Cloudflare. Fonts can be render-blocking; but, putting it all on Cloudflare can increase paint rates.

This service can also work with websites serving dynamic content.

How HTML Caching in APO Unique From Most Caching + CDN Solutions

If you’re interested in knowing all the technical details, I’d highly encourage you to read the 4 WordPress scenarios from the Kinsta blog.

To put it briefly, though, for a non-technical user, implementing caching + leveraging a CDN most certainly help, the HTML is still served from the origin server. Simply stated, this is nothing but a distance problem. For example, say the origin server is located at location ‘A,’ and the request to access the webpage is made from location ‘B.’ Now, imagine the distance between A & B is 1,000 miles. In this scenario, the caching + CDN will optimize performance, but the request for HTML would still be a bottleneck as it is served from 1,000 miles away.

With Cloudflare’s APO, even your HTML is cached, and therefore, your website becomes origin-less in a manner of speaking.

Earlier, above, I used the word “entire,” and precisely, this is what I meant. So sticking with the same A & B example, with APO enabled, the request for the HTML won’t be made to your origin server. Instead, it would be made to a Cloudflare edge network located near B, thus, dramatically & drastically improving your TTFB.

How Can You Confirm Whether APO Is Working for Your Site?

After you’ve gone through the setup process described on Cloudflare’s blog (screenshot to follow), head over to GTmetrix.

how to get started with Cloudflare APO
How to get started with Cloudflare APO. Screenshot captured from Cloudflare.

Next, follow the steps below:

Step 1: In GTmetrix, plug-in a URL from your site where you know APO should work. Hit the “Test your site” button, and let GTmetrix finish its analysis.

Step 2: Then, hit the “Waterfall” tab.

GTmetrix waterfall tab
GTmetrix waterfall tab.

Step 3: Succeeding to going to the Waterfall tab, scroll down a little bit to locate your URL (the one you had plugged in, in step 1), hit the plus sign to expand the headers. Usually, your URL would be the very first item under the Waterfall tab.

find your url in the waterfall tab in GTmetrix
As shown, find your URL, and click on the plus symbol to open up the headers.

Step 4: From the details within the headers, look for the following three primary header responses and one secondary, along with what their values should be:

  1. cf-apo-via: Needs to have a value of tcache
  2. cf-cache-status: Needs to have a value of HIT
  3. age: This value is in seconds, and displays for how long (again in seconds) the page has been cached on Cloudflare.
  4. cf-edge-cache (secondary): You might notice this header being mentioned around. However, this only indicates whether the plugin was installed and verified, or if the page was allowed to be cached. In some cases, you might not even see this value in every single instance. In my opinion, and if not mistaken, this could be for various reasons, one of them being using another plugin that has Cloudflare integration.

    Generally speaking, you should see this value if you’re directly using a Cloudflare plugin. Howbeit, the absence of this header doesn’t mean APO isn’t working. Having said that, there are some technical nuances here, so if you have specific questions, my advice would be to get in touch with Cloudflare support directly.

    Anyhow, if you notice this header, the expected value should be–>cache, platform=wordpress
how a webpage header may look like after installing Cloudflare APO
How a webpage header may look like, after installing Cloudflare APO.

Lastly, if all you’re looking to see whether the plugin was detected, you can achieve that satisfaction directly from the Cloudflare Dashboard. All you have to do is head over to (after logging in) ↠ Speed > Optimization > scroll down to the “Automatic Platform Optimization for WordPress” card. If the plugin was successfully configured either directly, or through integration, Cloudflare will display that message like the screenshot below.

proof that that Cloudflare APO is active and that the plugin was detected
Proof that that Cloudflare APO is active and that the plugin was detected.

You May Also Want to Check Out:

Closing It Up

Almost like a magic pill, Cloudflare’s APO can significantly improve your page performance with just a few clicks. This can be hugely beneficial to a non-technical website owner.

If you’re in doubt, conduct some research on your end, and you’ll find numerous studies as well as speed improvement percentages cited all around the internet.

As for the cost, it’s almost free. For a user on a non-paid plan, the price is $5 a month. For any other paid plans, APO comes as part of the subscription.

Expert Sources and Citations

  1. Kinsta
  2. Cloudflare Blog
  3. Cloudflare Docs