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

Step 1: confirm the requirements match

The LearnDash requirements page in Nexcess's documentation lists WordPress 6.6 or later, PHP 7.4 or later, MySQL 5.6 or MariaDB 10.1 or later, a PHP memory limit of at least 128 MB and HTTPS, and states that LearnDash does not support multisite. WordPress.org itself recommends PHP 8.3 or greater and MySQL 8.0 or MariaDB 10.11.

Kinsta's PHP documentation lists PHP 7.4 through 8.5 as available and sets the memory available to each PHP thread at 256 MB on lower plans and 512 MB on higher tiers. Both comfortably exceed LearnDash's 128 MB floor. The one requirement that changes your plan is multisite: if you planned a network of course sites, LearnDash will not support it, so budget for separate single sites instead.

RequirementLearnDash minimumWordPress.org recommendationWhat Kinsta documents
PHP7.4 or greater8.3 or greater7.4, 8.0, 8.1, 8.2, 8.3, 8.4 and 8.5 offered
DatabaseMySQL 5.6+ or MariaDB 10.1+MySQL 8.0+ or MariaDB 10.11+Not stated on the pages reviewed; confirm in MyKinsta
Memory128 MB PHP memory limitNot specified256 MB per thread on lower plans, 512 MB on higher tiers
HTTPSRequiredRecommendedConfirm the certificate in MyKinsta before launch
MultisiteNot supportedNot applicableUse separate single sites for separate academies

Step 2: set permalinks before building courses

LearnDash says it works best with a custom permalink structure and that the default Plain setting can cause broken links and 404 errors. Its documentation also advises setting LearnDash permalinks during initial configuration, because switching them repeatedly after content exists can break links.

This matters for caching too. The cache exclusions in the next step are written as URL paths, so decide whether you will use nested URLs, where lessons, topics and quizzes sit inside the course URL, before you send those paths to support. LearnDash notes that nested URLs turn on automatically if Shared Course Steps is enabled.

Step 3: request cache exclusions from Kinsta support

Kinsta's server cache is full-page caching that expires every 24 hours by default. Its documentation says dynamic pages that are ineligible for caching are not cached, using a checkout page as the example, and that the Kinsta Support team can configure rules to bypass the cache for specific pages, with /login, /account and /register given as examples. There is no self-service exclusion field described on that page.

For LearnDash, WP Rocket's membership documentation lists /courses/(.*) as the LearnDash pattern to exclude, notes that you may need to add other pages your plugin uses, and says that on Kinsta and several other managed hosts you must ask the host's support to exclude those patterns for exclusions to work. That last point is the trap: adding exclusions in a caching plugin alone does nothing for Kinsta's server-level cache.

  • List your course, lesson, topic and quiz base paths from Settings, Permalinks (for example /courses/, /lessons/, /topic/, /quizzes/ if you kept defaults).
  • Add login, registration, profile and any custom dashboard pages.
  • Send the list to Kinsta support and ask which paths they applied and whether logged-in cookies already bypass cache on your site.
  • Test as a logged-in learner in one browser and logged-out in another: progress, Mark Complete buttons and quiz results should never show another user's state.

Step 4: choose a plan by PHP threads

Logged-in learners mostly bypass page cache, so their requests are handled by PHP. Kinsta's documentation says each PHP thread handles one request at a time, and if all threads are busy, additional requests wait; unoptimized sites can see timeouts or 503 and 504 errors. That makes thread count, not monthly visits, the number to compare for a course site.

Kinsta's PHP page includes a table of threads per plan. Read as a flattened table, it lists the following for lower tiers; Kinsta also lets you change thread count per site under Info, PHP performance. Prices are from Kinsta's pricing page, monthly with the annual-billing equivalent in brackets.

PlanPrice per monthPHP threadsMemory per threadFit for LearnDash
Single 35k visits$35 ($30 annual)2256 MBBuilding and pre-launch; small cohorts that rarely overlap
Launch$35 ($30 annual)4256 MBListed at 75,000 estimated visits; a better starting point if learners take quizzes at the same time
Single 65k visits$50 ($42 annual)4256 MBSame thread count as Launch at a higher price; compare storage and bandwidth
Single 125k visits$90 ($75 annual)6256 MBLive cohorts and scheduled quiz sessions
WP 2$70 ($59 annual)2256 MBTwo sites sharing two threads; tight for a live academy

Step 5: rely on Kinsta's server cron

WordPress schedules tasks with WP-Cron, which the plugin handbook says only runs on page load; a task due at 2pm may not run until the next visit. Any scheduled work on a course site, such as timed releases or emails sent by add-ons, can be delayed by an idle night.

Kinsta's knowledge base says it runs a server cron job on all sites every 15 minutes by default, and that you can go straight to disabling WP-Cron with define('DISABLE_WP_CRON', true); in wp-config.php, after which scheduled tasks continue to run. Verify with the WP Crontrol plugin or wp cron event list after the change.

Pre-launch checklist

CheckHow to confirmDone when
PHP versionMyKinsta site settings8.3 or newer selected
PermalinksSettings, Permalinks and LearnDash permalink fieldsCustom structure set before content is built
Cache exclusionsSupport ticket replyCourse, lesson, topic, quiz and account paths listed as bypassed
Cache isolationTwo browsers, two learner accountsNo progress or quiz state leaks between users
PHP threadsMyKinsta, Info, PHP performanceAt least 4 threads if quizzes run in scheduled sessions
Cronwp cron event list or WP CrontrolWP-Cron disabled and events still running on schedule
MultisiteSite architectureNot used for LearnDash

Questions before you decide

Can I add LearnDash cache exclusions myself on Kinsta?

Kinsta's server caching documentation says its support team configures rules to bypass cache for specific pages. WP Rocket's documentation also says that on Kinsta, plugin-level exclusions need the host to add the same patterns.

How many PHP threads does LearnDash need on Kinsta?

Neither vendor publishes a number. Kinsta says each thread handles one request at a time and extra requests wait, so if learners take quizzes together, start at 4 threads (Launch or Single 65k) rather than 2.

Do I need a real cron job for LearnDash on Kinsta?

Kinsta says it already runs a server cron on all sites every 15 minutes, so you only need to disable WP-Cron in wp-config.php and then confirm scheduled events still run.

Sources & verification

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

  1. LearnDash documentation: Requirements Accessed 30 Oct 2026
  2. LearnDash: Permalinks settings Accessed 30 Oct 2026
  3. WordPress.org: Requirements Accessed 30 Oct 2026
  4. Kinsta Docs: PHP settings and PHP threads Accessed 30 Oct 2026
  5. Kinsta Docs: Server caching Accessed 30 Oct 2026
  6. WP Rocket Docs: Using membership and community plugins Accessed 30 Oct 2026
  7. Kinsta: Pricing Accessed 30 Oct 2026
  8. Kinsta Knowledge Base: Disable WP-Cron Accessed 30 Oct 2026
  9. WordPress Plugin Handbook: Cron 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

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