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

Why the labels matter more for a course site

A brochure site is mostly served from cache, so plan details such as PHP workers rarely matter. A course or membership site is the opposite: once a student logs in, the host stops serving cached copies and every lesson, quiz submission and progress update is built by PHP and the database. Kinsta documents that edge caching is bypassed anywhere a user is logged in; WP Engine excludes pages where a cookie containing wordpress_ has a value set; SiteGround states that it does not cache content for logged-in users by default.

That is why the same term can be harmless for one buyer and decisive for another. The glossary below gives a plain definition, the exact label each of the three hosts uses on its plan page or documentation as read on 30 October 2026, and the practical meaning for a site where most traffic is logged in.

Where a host did not state a value on the page we read, the table says so rather than filling the gap. Plan pages change; check the live page before you buy.

Term-by-term map of host labels

TermPlain meaningKinsta labelWP Engine labelSiteGround label
PHP workersProcesses that each build one uncached page at a timePHP threads ("previously known as PHP workers"); per-plan counts not on the pricing pagePHP Worker in support docs; count not on the plans pageNo worker count on the WordPress plan page
Full-page cacheA stored copy of a whole rendered page served without running PHPServer caching (full-page cache)Page cache, 10-minute default expiration; plans page markets EverCacheDynamic Caching, part of the SuperCacher; plan page says Multilevel caching
Edge cacheThe page cache copied to CDN locations near visitorsEdge Caching on Cloudflare, included free on all plansEdge Full Page Cache on the Cloudflare-powered network, 10-minute defaultNot named on the plan page; plan page lists CDN
Object cacheStores database query results in memory between page loadsRedis add-on, $100 per month per site, 2GB instanceObject cache toggle per environment, 1MB bufferMemcached, the third SuperCacher layer
StagingA private copy of the site for testing changesStandard staging free (capped at 2 PHP threads); Premium staging billedUp to three environments per site: Production, Staging, DevelopmentStaging on GrowBig; Staging + Git on GoGeek; not listed on StartUp
SSH / SFTPSecure command-line and file-transfer accessSSH on all Managed WordPress plans; each environment uses its own portSSL and SSH access on all plansWP-CLI and SSH on all three plans
VisitsThe traffic unit the plan is sized and billed onUnique IPs per 24 hours; overage $0.50 per 1,000One unique IP per day (UTC), known bots excluded; overage $2 per 1,000 on named plansPlan page says unlimited traffic
BandwidthData transferred to visitorsServer bandwidth overage $0.50 per GB; CDN $0.05 per GB75 GB on Essential; shared plans not charged bandwidth overagesNot stated on the plan page

PHP workers and threads: the queue in front of every student

A PHP worker handles one request at a time. WP Engine compares them to cashiers: each uncached page request is handled by a worker, and cached requests never reach one. Kinsta says the same in its own vocabulary, noting threads are only needed for database queries or data changes, and that an idle thread terminates after 10 continuous seconds and is recreated when needed.

When every worker is busy, new requests wait. Kinsta logs a thread limit reached event and says frequently hitting the limit can mean slow page loads or trouble accessing the site. WP Engine describes how its queue behaves under pressure: real users get priority over AJAX, XMLRPC and known bots, a 504 appears when the backlog evicts items, and a 502 appears when requests run too long and are killed.

For a course site, the useful question is not "how many workers" in isolation but "how long does one lesson page take to build". If a quiz submission takes one second of PHP time and you have four workers, roughly four such requests can run each second before others queue. Ask the host for the worker or thread count on the exact plan, then measure your slowest logged-in page on staging.

Cache layers: what helps logged-in students and what does not

Full-page cache and edge cache only help anonymous visitors: the sales page, the blog, the course catalog. Kinsta says edge caching copies the page cache to Cloudflare's network of 300+ data centers and is included free on all plans, but dashboards, cart pages and anywhere a user is logged in bypass it. WP Engine's page cache holds generated pages for ten minutes and skips wp-admin, wp-login.php and pages named cart, checkout, store or check-out.

Object cache is the layer that can help logged-in traffic, because it saves repeated database lookups while PHP still runs. Kinsta's Redis add-on costs $100 per month per site and runs a dedicated 2GB Redis instance; Kinsta names membership sites, ecommerce and forums as likely beneficiaries and says Redis will generally not help static blogs. WP Engine's object cache uses a 1MB buffer and warns that autoloaded options should stay below 800,000 bytes, because data that exceeds the buffer can trigger 502 errors. SiteGround's Memcached is part of the SuperCacher and must be enabled in Site Tools before the plugin can use it.

SiteGround offers a Logged-in Users Cache option that stores a separate cache for each user. That can help repeat views of the same lesson by the same student, but it multiplies cache size with every student, and progress or quiz pages still need fresh data.

  • Anonymous pages: full-page cache and edge cache do the work.
  • Logged-in lesson and quiz pages: PHP workers and object cache do the work.
  • Checkout and account pages: excluded from page cache by design at WP Engine and Kinsta.

Staging and SSH/SFTP: what you get to test with

Staging is where you rehearse plugin updates and migrations. The details differ in ways that affect a load test. Kinsta's standard staging is free but capped at 2 PHP threads and 1 CPU, with full-page caching and OPcache disabled by default; Premium staging is a paid upgrade with more resources (12 CPUs against 1 in Kinsta's comparison table); Kinsta's proration example prices one month at $20, and you can add up to 5 Premium environments. Kinsta also allows selective push of files only or specific database tables, which matters for a live course site because pushing the whole database would overwrite enrollments made since the copy.

WP Engine groups up to three environments per site and copies between them with the Copy Environment tool, but redirect rules, custom cache exclusions, SSL certificates and Nginx rules do not copy. WP Engine also counts bandwidth from all environment types, including staging and development, toward the account.

SSH lets you run WP-CLI for search-replace, database exports and cache flushes. All three hosts list SSH on the plans we read. At Kinsta each environment uses a different SSH port, and a password change applies only to the environment you change it in, so check which port a script targets before you run it.

Visits and bandwidth: a worked estimate for a course site

Kinsta counts visits as unique IP addresses within a 24-hour period, and visits served from the edge cache still count. WP Engine counts one unique IP per day in UTC, sums daily counts for the month across all environments, and excludes known bots, suspected bots (from September 2025), static file requests and 403 responses.

Worked example: 500 enrolled students log in on an average day, each from one network, and 300 anonymous visitors read the sales page. That is about 800 visits a day, or about 24,000 in a 30-day month. A student who studies on a phone over mobile data and on a laptop at home can appear as two IPs, so add a margin; at 1.3 visits per student the month becomes about 28,500.

Now price an overage. Kinsta's Single 35k plan includes 35,000 visits; a launch month at 41,000 is 6,000 over, which at $0.50 per 1,000 adds $3.00. On a WP Engine plan named in its visits article, the same 6,000 extra visits at $2 per 1,000 would add $12.00. Visit overages are small next to the risk of running out of PHP capacity during a launch, which no visit allowance measures.

Checklist before you pick a plan

  • Ask for the PHP worker or thread count on the exact plan, in writing.
  • Confirm logged-in users bypass page cache, and whether an object cache is included or an add-on.
  • Check whether staging has the same thread count as live before load testing on it.
  • Confirm SSH and WP-CLI are available, and which port and credentials staging uses.
  • Estimate visits as unique IPs per day, not page views, with a margin for students on several networks.
  • Read the overage rate for visits and bandwidth and when it is billed.

Questions before you decide

Are PHP threads and PHP workers the same thing?

At Kinsta, yes: its documentation says PHP threads were previously known as PHP workers. Each one is a PHP process that handles one request at a time, and cached requests do not use one.

Does edge caching speed up lessons for logged-in students?

Generally no. Kinsta says anywhere a user is logged in bypasses edge caching, and WP Engine excludes pages where a wordpress_ cookie is set. Logged-in pages rely on PHP workers and object cache instead.

Is a Redis object cache worth $100 a month on Kinsta?

Kinsta prices the Redis add-on at $100 per month per site and names membership sites and ecommerce as the main beneficiaries, while saying it generally will not help static blogs. Test it on staging against your slowest logged-in page before committing.

How do Kinsta and WP Engine count visits?

Both count unique IP addresses per day. WP Engine uses UTC days and excludes known bots, static files and 403 responses; Kinsta counts unique IPs in a 24-hour period, including visits served from the edge cache.

Sources & verification

Product details and prices can change. Check the linked provider before buying.

  1. Kinsta: pricing Accessed 30 Oct 2026
  2. Kinsta: PHP performance and PHP threads Accessed 30 Oct 2026
  3. Kinsta: edge caching Accessed 30 Oct 2026
  4. Kinsta: Redis cache add-on Accessed 30 Oct 2026
  5. Kinsta: staging environment Accessed 30 Oct 2026
  6. Kinsta: connect to SSH Accessed 30 Oct 2026
  7. Kinsta: overages Accessed 30 Oct 2026
  8. WP Engine: plans Accessed 30 Oct 2026
  9. WP Engine: PHP workers and request prioritization Accessed 30 Oct 2026
  10. WP Engine: cache Accessed 30 Oct 2026
  11. WP Engine: object caching Accessed 30 Oct 2026
  12. WP Engine: how visits are counted Accessed 30 Oct 2026
  13. WP Engine: environments Accessed 30 Oct 2026
  14. WP Engine: bandwidth causes and effects Accessed 30 Oct 2026
  15. SiteGround: WordPress hosting plans Accessed 30 Oct 2026
  16. SiteGround: SuperCacher and Speed Optimizer Accessed 30 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 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