This is a research guide based on cited documentation. It is not a report of firsthand testing. Our editorial method

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 typeTypical visitorLikely APO result
Home, sales page, blog postAnonymousCacheable at the edge
Course catalogue or course overviewMostly anonymousCacheable if no bypass cookie and no excluded query string
Lesson, quiz, member dashboardLogged-in memberBypassed, served from origin
Checkout and renewalBuyer, often with a session cookieBypassed; checkout is an excluded path example
wp-cron.php and feedsMachinesExcluded 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.

  1. Cloudflare: Automatic Platform Optimization overview Accessed 13 Oct 2026
  2. Cloudflare: About APO Accessed 13 Oct 2026
  3. Cloudflare: APO plugin compatibility Accessed 13 Oct 2026
  4. Cloudflare: APO FAQ Accessed 13 Oct 2026
  5. 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.

Your decision at a glance

Compare the options

Full comparison

Documentation-based guidance. No tested ranking or performance score.

Managed VPS

KnownHost

Consider it for
Consider KnownHost Basic VPS when you need a specific server configuration and clearly defined management support. It was advertised from $43.25 per month; confirm the billing term and full quote.
Starting cost
Basic managed VPS advertised from $43.25/month on 2026-09-15; confirm term and full invoice
Before you choose
Not for undiagnosed application bottlenecks or sites a shared plan already covers. No course-capacity or migration test is claimed here.

Checked 15 Sep 2026 · Pricing source

View KnownHost plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure

Hosting

Liquid Web

Consider it for
Use Liquid Web when the job is a defined managed-server responsibility and the quoted plan lists which server tasks they own versus yours.
Starting cost
Quote-dependent; VPS commonly $10–$100 and managed configurations can exceed $100 per Liquid Web's cost explainer (2026-09-15)
Before you choose
Not a fit until the failing component is identified. Management does not include application debugging unless the written scope says so.

Checked 15 Sep 2026 · Pricing source

View Liquid Web plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure

Managed WordPress

Kinsta

Consider it for
Use Kinsta Single 20GB, listed at $35/month, when a WordPress course site needs published PHP-capacity controls and a staging rehearsal.
Starting cost
Single 20GB listed $35/month on 2026-09-15; first-month promotions and annual billing change the cash invoice
Before you choose
Do not treat visitor allowances as class concurrency. No plan here is verified for a specific learner count.

Checked 15 Sep 2026 · Pricing source

View Kinsta plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure

Managed WordPress

WP Engine

Consider it for
Use WP Engine Essential when the quoted plan covers your plugin stack, membership cache rules, and an isolated staging copy.
Starting cost
Essential 1-site card displayed $336/year on 2026-09-15 with promotional first-year pricing; confirm undiscounted checkout
Before you choose
Skip if you cannot rehearse membership access and payments at the destination. No measured speed advantage is claimed.

Checked 15 Sep 2026 · Pricing source

View WP Engine plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure

Shared hosting

SiteGround

Consider it for
Use SiteGround StartUp, advertised at $2.99/month for a prepaid first 12 months then $17.99/month, when one WordPress site needs shared hosting rather than a server you administer.
Starting cost
StartUp first-term $2.99/mo prepaid 12 months, renews $17.99/mo on 2026-09-15 (world page: ex. VAT); 1 website, 10GB, ~10,000 visits marketing estimate
Before you choose
Visit marketing estimates are not class concurrency. Renewal is $17.99/mo after the prepaid term. No course-capacity test is claimed.

Checked 15 Sep 2026 · Pricing source

View SiteGround plans

Affiliate link: we may earn a commission on an eligible purchase. Link disclosure

Cloud VMs

DigitalOcean

Consider it for
Use a DigitalOcean Droplet when you will administer a cloud VM, not when you need managed WordPress hosting.
Starting cost
Basic Droplet listed from $4.00/mo (512 MiB, 1 vCPU, 10 GiB SSD, 500 GiB transfer) on 2026-09-15; 3 static sites listed free. Confirm live checkout and bandwidth overage.
Before you choose
A listed VM size is not a WordPress or course-capacity claim. You own OS, updates, backups, and mail unless a separate product says otherwise. The static-site free tier is not a course site.

Checked 15 Sep 2026 · Pricing source

View DigitalOcean plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure