What changes during a migration
| Data | Risk during cutover | Protection |
|---|---|---|
| Lesson progress, quiz results | Written to whichever server a student reaches; lost if it is the old one after the final copy | Maintenance window, or a tested sync method from your implementer |
| New memberships and orders | Created on old server after final copy | Maintenance window; reconcile against payment processor records |
| Stripe webhook events | Endpoint unreachable, redirected or failing TLS on new host | Stripe retries live events for up to 3 days; resend from Dashboard up to 15 days |
| Scheduled jobs (renewal emails, drip content) | Run twice if both servers are active | Disable cron on the old server at cutover |
| Cache exclusions | Not copied with files; members see cached pages | Re-apply on the new host and verify |
Payments: what Stripe does for you
Stripe's webhook documentation says it attempts to deliver live-mode events for up to three days with exponential back-off, but retries sandbox events only three times over a few hours. Events can be resent manually from the Dashboard for up to 15 days after creation, or with the Stripe CLI for up to 30 days. It also notes that a 3xx redirect is treated as a failure, so if your old webhook URL redirects to a new domain, update the endpoint URL rather than relying on the redirect.
Stripe does not guarantee event order and may deliver the same event twice, so your membership plugin must tolerate both. After cutover, open the endpoint's Event deliveries tab and confirm recent events show Delivered.
Cutover sequence
- One week before: lower DNS TTL; rehearse the full move on staging with synthetic students and Stripe sandbox; time how long the final copy takes.
- Re-apply cache exclusions on the destination. For MemberPress that is /login, /account, /register, /thank-you, /unauthorized and /mepr, and on Kinsta exclusions must be requested from support.
- Window start: put the site in maintenance mode and disable cron on the old server.
- Take the final database and uploads copy; record the timestamp.
- Switch DNS. Confirm the Stripe webhook endpoint URL resolves to the new server with valid TLS 1.2+.
- Verify: log in as two synthetic students, open an entitled course, confirm an unentitled one is refused, save progress, submit a quiz, run a sandbox checkout.
- Reopen. Check Stripe Event deliveries for failures and resend any that failed.
Rollback without losing new records
Switching DNS back is not a full rollback once students and buyers have used the new server. Before pointing traffic back, export orders, memberships and progress created on the new server since cutover, and have a named person re-enter or merge them. Payment records can be reconciled from the Stripe Dashboard; progress cannot be recovered from anywhere else.
Keep the old server and its backups for an agreed period, with cron disabled so it does not send renewal emails or run drip schedules. Retire it only after a reconciliation shows no missing records. This is a planning checklist, not a record of a completed migration.
Questions before you decide
Can students keep using the course during migration?
Only if your implementer has a tested method to sync changes made after the final copy. Otherwise schedule a maintenance window; for most small course sites it is the simplest safe option.
Will I lose Stripe payments if the webhook fails during cutover?
The payment itself is recorded in Stripe. Live webhook events are retried for up to three days and can be resent from the Dashboard for 15 days, so fix the endpoint promptly and check Event deliveries.
Is changing DNS back enough to roll back?
Not if new progress, memberships or orders were written on the destination. Export and reconcile those before returning traffic.
Sources & verification
Product details and prices can change. Check the linked provider before buying.
- Stripe: webhook delivery, retries and manual resend Accessed 29 Oct 2026
- MemberPress: caching configuration by plugin and host Accessed 29 Oct 2026
- MemberPress: what web hosting works best with MemberPress Accessed 29 Oct 2026
- Original local WordPress restore: incomplete restore failure and recovery checks Accessed 14 Sep 2026
Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.