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
| Term | Plain meaning | Kinsta label | WP Engine label | SiteGround label |
|---|---|---|---|---|
| PHP workers | Processes that each build one uncached page at a time | PHP threads ("previously known as PHP workers"); per-plan counts not on the pricing page | PHP Worker in support docs; count not on the plans page | No worker count on the WordPress plan page |
| Full-page cache | A stored copy of a whole rendered page served without running PHP | Server caching (full-page cache) | Page cache, 10-minute default expiration; plans page markets EverCache | Dynamic Caching, part of the SuperCacher; plan page says Multilevel caching |
| Edge cache | The page cache copied to CDN locations near visitors | Edge Caching on Cloudflare, included free on all plans | Edge Full Page Cache on the Cloudflare-powered network, 10-minute default | Not named on the plan page; plan page lists CDN |
| Object cache | Stores database query results in memory between page loads | Redis add-on, $100 per month per site, 2GB instance | Object cache toggle per environment, 1MB buffer | Memcached, the third SuperCacher layer |
| Staging | A private copy of the site for testing changes | Standard staging free (capped at 2 PHP threads); Premium staging billed | Up to three environments per site: Production, Staging, Development | Staging on GrowBig; Staging + Git on GoGeek; not listed on StartUp |
| SSH / SFTP | Secure command-line and file-transfer access | SSH on all Managed WordPress plans; each environment uses its own port | SSL and SSH access on all plans | WP-CLI and SSH on all three plans |
| Visits | The traffic unit the plan is sized and billed on | Unique IPs per 24 hours; overage $0.50 per 1,000 | One unique IP per day (UTC), known bots excluded; overage $2 per 1,000 on named plans | Plan page says unlimited traffic |
| Bandwidth | Data transferred to visitors | Server bandwidth overage $0.50 per GB; CDN $0.05 per GB | 75 GB on Essential; shared plans not charged bandwidth overages | Not 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.
- Kinsta: pricing Accessed 30 Oct 2026
- Kinsta: PHP performance and PHP threads Accessed 30 Oct 2026
- Kinsta: edge caching Accessed 30 Oct 2026
- Kinsta: Redis cache add-on Accessed 30 Oct 2026
- Kinsta: staging environment Accessed 30 Oct 2026
- Kinsta: connect to SSH Accessed 30 Oct 2026
- Kinsta: overages Accessed 30 Oct 2026
- WP Engine: plans Accessed 30 Oct 2026
- WP Engine: PHP workers and request prioritization Accessed 30 Oct 2026
- WP Engine: cache Accessed 30 Oct 2026
- WP Engine: object caching Accessed 30 Oct 2026
- WP Engine: how visits are counted Accessed 30 Oct 2026
- WP Engine: environments Accessed 30 Oct 2026
- WP Engine: bandwidth causes and effects Accessed 30 Oct 2026
- SiteGround: WordPress hosting plans Accessed 30 Oct 2026
- 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.