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

Why LMS updates deserve a staging step

An LMS update can change database tables, enrollment logic, quiz handling or the checkout integration. If it breaks, students cannot reach lessons and payments may not create enrollments, which is worse than a broken page because it costs money and trust. Testing on a copy first adds time to every update, but it surfaces these failures before students do.

The catch is that a course site's database changes constantly. Every purchase, enrollment and lesson completion is a database write. That is why the workflow below tests on staging but applies the update to live directly, instead of copying the staging database over live.

What each host documents about staging

BehaviourKinstaWP EngineSiteGround
AvailabilityStandard and Premium staging; up to 5 Premium environmentsUp to three environments per site: production, staging, developmentGrowBig and GoGeek plans, WordPress sites
Clone includesMost recent production database and filesFull copy of all files and tables, or custom selectionCopy of the site in a separate environment
Email from stagingTransactional email enabled by default; use a plugin to disableNot stated in the copy or environments docsNot stated in the staging tutorial
Cron on stagingLive server cron jobs are not active on stagingNot statedNot stated
Caching on stagingFull-page cache and OPcache off by defaultSame default caching as productionNot stated
Push optionsFiles only, database only, selected files, folders or tables, or everythingFull copy or custom: files, database or selected tablesFull Deploy or Custom Deploy with table selection
Backup around pushBackup of the target before pushDestination backed up before and after copySeparate restore-after-deployment tutorial; take your own backup
Documented limitsFew seconds of downtime at the end of a pushRecommends against pushing the full database to productionDatabase under 2 GB, under 500 tables, 15 staging operations a day, no Multisite

The workflow, step by step

  • Pick a quiet time, away from renewal days and launches.
  • Refresh staging from live so it has current plugins, settings and data.
  • On staging, stop outgoing email: Kinsta notes staging sends transactional email by default, and a test checkout should not email real students.
  • Put the payment gateway on staging into test or sandbox mode.
  • Read the LMS and add-on changelogs for database upgrades or removed features.
  • Update the LMS core plugin first, then its add-ons, then other plugins, one group at a time.
  • Run the test script below.
  • If everything passes, take a fresh backup of live.
  • Apply the same updates on live in the same order, rather than pushing the staging database.
  • Run the live smoke test with a real low-value or 100% discount purchase if your processor supports it.
  • Watch the error log and new orders for 24 hours.

Test script for enrollment and checkout

PathWhat to do on stagingPass when
Student loginLog in as an existing test studentDashboard shows enrolled courses
LessonOpen a lesson with video and a downloadVideo plays, file downloads, progress saves
QuizSubmit a quizScore records and the next lesson unlocks if it should
Drip contentCheck a lesson scheduled to unlock laterStill locked with the right date
CheckoutBuy a course in test mode as a new userOrder created, user created, enrollment granted
Membership renewalTrigger or simulate a renewal if your plugin allowsAccess continues and status is correct
Admin reportsOpen the LMS reports and the orders listNo errors, new test records visible
Error logCheck PHP error log after the testsNo new fatal errors or warnings from updated plugins

When you can push from staging, and how

Sometimes you want to push work from staging, such as a new course page design or a theme change. Use the selective options. Kinsta can push only files, or selected files, folders or tables; it warns that any changes to the live database since the staging site was created will be lost on a database push and that it does not separate new WooCommerce orders from old ones. WP Engine performs a search and replace on copied tables and says it does not recommend pushing the entire database to production. SiteGround's Custom Deploy compares staging with live and lets you choose which files and tables to apply, and it asks that staging core be at least the live version before deploying.

A safe rule for course sites: push files, never the tables that hold users, orders, enrollments or progress. If a change lives in the database, such as plugin settings, re-enter it on live by hand.

Common traps

  • Staging cron is off on Kinsta, so scheduled LMS tasks such as drip emails will not run there; test them with a manual trigger if your plugin has one.
  • WP Engine staging uses production's default caching, so clear cache after updates or you may test the old version.
  • Social auto-posting plugins can publish staging URLs; Kinsta recommends deactivating them on staging.
  • A license that counts activations may treat staging as another site; check before you activate there.
  • Keep WordPress core on staging at least as new as live before any SiteGround deploy.

Questions before you decide

Can I just push staging to live after testing an update?

Not the database. Kinsta, WP Engine and SiteGround all document that a database push replaces live tables, so orders, enrollments and accounts created since the copy would be lost. Repeat the update on live or push files only.

Will my staging site email students?

It can. Kinsta says staging environments have transactional email enabled by default and suggests a plugin to disable it. Disable outgoing email and put payments in test mode before running checkout tests.

Which SiteGround plans include staging?

SiteGround documents staging on GrowBig and GoGeek plans for WordPress sites. Its deploy tutorial lists limits including databases under 2 GB, fewer than 500 tables and 15 staging operations a day, and it is not compatible with Multisite.

Sources & verification

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

  1. Kinsta: staging environment Accessed 30 Oct 2026
  2. Kinsta: push environments Accessed 30 Oct 2026
  3. WP Engine: environments Accessed 30 Oct 2026
  4. WP Engine: copy an environment Accessed 30 Oct 2026
  5. SiteGround: staging tool tutorial Accessed 30 Oct 2026
  6. SiteGround: deploy staging to live 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