How the cutover works
Moving from the old membership plugin to FMS. The whole design exists to guarantee two things: nobody is charged twice, and nobody loses access.

Parallel run
FMS is loaded with a copy of the members and content rules while the old plugin keeps running the site. Nothing changes for readers. You verify against real data at your leisure.
Then, on one morning, everyone moves to FMS at once. Until then every member is On PMPro and the old plugin serves them as before. An owner or membership manager presses Hand over everyone… on the admin portal's Migration page. A few minutes later a switch on the website sends new members to FMS too.
The old plugin stays switched on for two or three days after the morning. In those days going back is a click:
- Untick the master switch. The whole website is the old plugin's again in seconds.
- Press Hand back everyone… on the Cutover page. One member goes back from their own page.
The master switch must be on for FMS to serve anyone.
The three groups
| Group | What happens | Reversible? |
|---|---|---|
| Prepare | Readiness checks and the FMS connection. | Nothing changes. |
| Data | Import Stripe subscriptions, export and import members, sync content restrictions. | Reads the site and Stripe, writes only to FMS. |
| Cutover | On one morning: flip the switch, hand over everyone, send new members to FMS, sweep the URLs. A few days later: swap the member pages and deactivate the old plugin. | Yes, until the old plugin is deactivated: the switch for the website, a hand-back for one group. |

Before the day
- Rehearse the whole thing on a copy of the site, everyone at once
- Readiness passes, apart from its two rows about moving members
- The Stripe import shows Imported for every account
- Member counts in FMS match the site
- A verification pass on Consolidation is clean
- The Mailchimp work is timed and the day sized, a week ahead. Thomas does this
The authoritative procedure, including the verification gates that must pass before the morning, is in the repository at docs/migration-runbooks/README.md. This guide is the friendly version of the same steps.
Start with step 1, Prepare, or read the whole thing on one page: Migration, start to finish.