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

What WP Engine caches, and what it skips for learners

WP Engine's cache documentation lists default exclusions: the admin area, wp-login.php, pages named cart, checkout, store or check-out, and pages where a cookie containing wordpress_ has a value set. WordPress login cookies use that prefix (SiteGround, for instance, detects logged-in users by the wordpress_logged_in_ cookie), which is why logged-in learners generally reach PHP rather than the cache. WP Engine itself does not say in that article that logged-in users are excluded, so test it.

The page cache expires after 10 minutes, and cache-control headers cannot be set lower than 600 seconds; anything shorter needs a full exclusion rule. Edge Full Page Cache is different: WP Engine says it does not respect custom cookie exclusions, that PHP-generated personalized content may be cached and shown to other users, and that membership, community and LMS plugins generally benefit the least from it. For a LearnDash site, treat Edge Full Page Cache as something to leave off unless you have tested it carefully.

Adding LearnDash path exclusions

Path and query-argument exclusions can be added in the User Portal under the environment's Cache page, using + Add new exclusion; WP Engine says rules take 10 to 15 minutes to take effect and that the option is not available on all accounts, in which case support adds them. Cookie exclusions always require a support request. Rules are regex, such as ^/path-to-page/?$, and are case sensitive.

WP Rocket's documentation gives /courses/(.*) as the LearnDash pattern and says that on WP Engine, plugin-level exclusions only work once the host adds the same patterns. WP Engine warns that excluding too many pages affects performance and that it may remove exclusions that harm the server, so exclude learner paths specifically rather than the whole site.

PathWhy excludeExample rule
Course pagesShow enrollment status and progress^/courses/
Lessons and topicsMark Complete state and drip availability^/lessons/ and ^/topic/
QuizzesAttempts, answers and results^/quizzes/
Profile or dashboard pagePer-learner course list^/my-courses/?$ (use your own slug)
Registration and login pagesForms and noncesYour custom slugs; wp-login.php is excluded by default

Platform limits that matter for quizzes and progress

WP Engine's platform settings page, updated 8 July 2026, sets the default PHP memory limit at 40 MB for single sites and 64 MB for multisite, raisable in wp-config.php up to 512 MB. LearnDash requires 128 MB, so set WP_MEMORY_LIMIT to at least that before installing. Maximum execution time defaults to 60 seconds and can only be decreased, so long imports, bulk enrollments or large report exports should run in batches.

max_input_vars is fixed at 10,000 platform-wide, and uploads default to 50 MB for single sites, raisable by support to 256 MB. That matters if you upload course packages or large PDFs through WordPress; bigger files go over SFTP. A Long Query Governor kills extremely long database queries, which can surface as KILLED QUERY errors on very large progress reports.

SettingWP Engine defaultCan it change?LearnDash impact
PHP memory40 MB single siteRaise in wp-config.php up to 512 MBBelow the 128 MB LearnDash minimum until raised
Max execution time60 secondsCan only be decreasedBatch bulk imports and exports
max_input_vars10,000NoLarge quiz builders save within this limit
Upload size50 MB single siteSupport can raise to 256 MBUse SFTP or external hosting for large media
Long queriesLong Query Governor onDisabling is discouragedVery large reports may need filtering

PHP workers and plan choice

WP Engine says each uncached page request is handled by a PHP worker that processes one request at a time; when requests arrive faster than workers finish, a backlog forms, leading to 504 errors when it grows too large and 502 errors when requests take too long and are killed. Bots, AJAX and XML-RPC requests see these errors before real users because of queue priority. The article does not list worker counts per plan.

The plans page lists Essential from $28 a month billed annually, with 25,000 to 400,000 visits, 10 to 50 GB storage and a shared environment, and Business at $400 a month billed annually with an isolated environment. WP Engine says visit numbers are estimates and asks dynamic sites to contact sales. For LearnDash, ask sales directly how many PHP workers each tier provides and how many learners you expect online at once.

Turn on alternate cron

WordPress's plugin handbook explains that WP-Cron only runs when someone loads a page. WP Engine's alternate cron replaces that with a server-side check every minute. You turn it on in the User Portal under the environment's Utilities page; doing so sets DISABLE_WP_CRON to true, and adding the constant yourself does not enable alternate cron.

WP Engine notes two caveats: sites behind basic auth or custom password protection do not work with alternate cron because the cron must reach the site publicly, and cron work should complete in under 60 seconds to avoid 502 timeouts. If you keep a staging environment password-protected with basic auth, scheduled tasks there will not run on their own.

Setup checklist

  • Set WP_MEMORY_LIMIT to 128M or higher in wp-config.php before activating LearnDash.
  • Choose PHP 8.3 or newer to match WordPress.org's recommendation.
  • Set custom permalinks and LearnDash permalink options before building courses.
  • Add course, lesson, topic, quiz and dashboard path exclusions in the User Portal or via support.
  • Leave Edge Full Page Cache off unless you have tested logged-in pages with two learner accounts.
  • Enable alternate cron in Utilities and confirm events run with WP Crontrol.
  • Ask sales for the PHP worker count on your plan and compare it with your peak concurrent learners.

Questions before you decide

Does WP Engine cache pages for logged-in LearnDash students?

Its page cache excludes pages where a wordpress_ cookie is set, which normally covers logged-in users, but Edge Full Page Cache ignores custom cookie exclusions and WP Engine says LMS plugins benefit least from it. Test with two learner accounts.

Why does LearnDash run out of memory on WP Engine?

WP Engine's default PHP memory limit is 40 MB for single sites, while LearnDash requires 128 MB. You can raise WP_MEMORY_LIMIT in wp-config.php up to 512 MB.

Can I extend the 60-second limit for big LearnDash imports?

No. WP Engine says the 60-second maximum execution time can only be decreased, so split large imports, bulk enrollments and exports into smaller batches.

Sources & verification

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

  1. WP Engine Support: Cache Accessed 30 Oct 2026
  2. WP Engine Support: Platform settings Accessed 30 Oct 2026
  3. WP Engine Support: PHP workers Accessed 30 Oct 2026
  4. WP Engine Support: WP-Cron and alternate cron Accessed 30 Oct 2026
  5. WP Engine: Plans Accessed 30 Oct 2026
  6. LearnDash documentation: Requirements Accessed 30 Oct 2026
  7. LearnDash: Permalinks settings Accessed 30 Oct 2026
  8. WP Rocket Docs: Using membership and community plugins Accessed 30 Oct 2026
  9. SiteGround KB: Dynamic Caching configuration Accessed 30 Oct 2026
  10. WordPress Plugin Handbook: Cron Accessed 30 Oct 2026
  11. WordPress.org: Requirements 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

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