What APO is and what it costs
Automatic Platform Optimization is Cloudflare's WordPress-specific edge cache. Cloudflare's documentation says Cloudflare typically only caches static content, but with APO it can also cache dynamic content like HTML, and that APO allows Cloudflare to serve your entire WordPress site from its edge network. It also states that you must use the Cloudflare for WordPress plugin to begin using APO.
Cloudflare's Network and CDN plans page, read on 13 October 2026, lists APO at $5 per month on the Free plan and included with Pro, Business and Enterprise. For a small course business already on Cloudflare Free, that is $60 per year at the published monthly price.
The conditions Cloudflare requires before it caches a page
Cloudflare's APO About page lists conditions that must all be met for HTML to be cached. If any one fails, the request bypasses the cache, is served from the origin with cf-cache-status DYNAMIC, and the cf-apo-via response header gives the reason.
- The request method is GET or HEAD.
- The origin returns HTTP 200 with a text/html content type.
- The WordPress plugin's cf-edge-cache response header permits caching.
- No bypass cookies are present, for example logged-in, session or WooCommerce cookies.
- No cache-bypassing request headers are present.
- The URL path is not excluded; Cloudflare gives checkout, wp-cron.php and feeds as examples.
- The query string is absent or contains only supported marketing parameters.
- No Page Rule with Cache Level set to Bypass matches the request.
What that means for members, lessons and renewals
The About page also states that APO bypasses the cache for logged-in or administrator users so private content is not cached and shown to other visitors. That is the correct behaviour for a membership site, and it settles the question most owners are really asking: a member who is logged in and opening a lesson is served by your origin every time.
In a LearnDash or MemberPress site, the pages that carry the load at launch time are usually exactly the logged-in ones: lesson pages, quiz submissions, the account page, and renewal or upgrade checkout. APO does not change their speed. If those are slow, the work is on the origin, which is what our guides on slow logged-in MemberPress users and on Redis object caching cover.
Cloudflare's plugin compatibility list names WooCommerce, Easy Digital Downloads, Redis Object Cache and Object Cache Pro among compatible plugins. MemberPress and LearnDash do not appear on that list. Absence from the list is not a statement of incompatibility, but it means you should verify behaviour on your own pages rather than assume it.
| Page type | Typical visitor | Likely APO result |
|---|---|---|
| Home, sales page, blog post | Anonymous | Cacheable at the edge |
| Course catalogue or course overview | Mostly anonymous | Cacheable if no bypass cookie and no excluded query string |
| Lesson, quiz, member dashboard | Logged-in member | Bypassed, served from origin |
| Checkout and renewal | Buyer, often with a session cookie | Bypassed; checkout is an excluded path example |
| wp-cron.php and feeds | Machines | Excluded path examples |
Purging and stale content
Cloudflare's APO FAQ says that with the WordPress plugin installed, APO invalidates on change within 30 seconds. That covers edits made through WordPress. It does not cover content that changes without a post edit, such as an enrolment-closes countdown, a seats-remaining counter, or a price controlled by a scheduled coupon. If an anonymous page shows state that changes on a timer, either exclude it or remove the dynamic element from the cached HTML.
A practical pitfall: a sales page that shows a logged-out version to members who are not yet signed in may cache fine, but if your theme prints different calls to action based on a cookie your membership plugin sets for returning visitors, test that cookie path explicitly.
How to verify APO on your own site before paying for an upgrade
Use response headers, not page-speed scores. Request a public page twice without cookies and confirm the second response reports a cache hit. Then repeat the request while sending your real logged-in cookie from a test member account and confirm the response is DYNAMIC with a cf-apo-via reason. Finally, request a lesson URL logged out and confirm your membership plugin redirects or blocks it rather than serving a cached copy.
- Buy APO if: most traffic is anonymous marketing traffic and you are on Cloudflare Free.
- Skip it if: your complaint is slow lessons for logged-in students; APO bypasses those requests by design.
- Already on Cloudflare Pro or higher: APO is included, so the decision is only whether to enable and test it.
Questions before you decide
Will APO ever show one member's dashboard to another visitor?
Cloudflare documents that APO bypasses the cache for logged-in users and when bypass cookies are present, specifically to avoid serving private content to others. Verify with headers on your own site after enabling it.
Does APO replace a page cache on my host?
It overlaps for anonymous pages. It does nothing for logged-in members, so origin performance work still matters for course sites.
Sources & verification
Product details and prices can change. Check the linked provider before buying.
- Cloudflare: Automatic Platform Optimization overview Accessed 13 Oct 2026
- Cloudflare: About APO Accessed 13 Oct 2026
- Cloudflare: APO plugin compatibility Accessed 13 Oct 2026
- Cloudflare: APO FAQ Accessed 13 Oct 2026
- Cloudflare: Network and CDN plans Accessed 13 Oct 2026
Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.