Moving to a WordPress Multisite network? – In this guest post, MemberPress creator and entrepreneur Jan Czichos agreed to share lessons his team learned while doing their own migration. Check it out if you’d like to make your MemberPress data migration an easy sail.
Migration Scenario: From Point of Departure to Target State
Every migration scenario is different depending on the underlying motivation and objectives.
In our case, we had 3 main objectives:
- Business objective: Migrate to a WP multisite network aimed at easy onboarding of partners to a shared platform.,
- Financial objective: Create a process with minimal maintenance and administrative effort.
- Marketing objective: Create additional SEO benefits.
With that in mind, we’ll walk you through our starting point and target state so you can get an idea of the technical scope of the migration.
Where We Started
A WordPress single site with Member Press (MP) Pro that enables customers to:
- Benefit from MP premium features like MP courses for selling digital products.
- Keep their accounting operation in compliance with local regulatory requirements (Germany) using a PDF invoice add-on.
We wanted to upgrade to a WordPress multisite network that still supports all the premium features for customers, but also
- Allows marketers (partners) to join the network.
- Enables them to kick-start their own digital marketing services to customers.
You can read more about use cases for WordPress multisites in our project summary article.
Additional Local Requirements Can Make Migrations Tricky
Are you serving customers that don’t speak English as their primary language? If so, then you may be faced with additional requirements that your target state needs to support/comply with.
The following local requirements had a direct impact on the migration timeline, effort, and degree to which we had to rely on Memberpress support:
- Custom fields and custom translation settings
- Custom (invoice) template
- Custom naming convention for invoice numbers
- German accounting rules and the requirement to maintain transaction history all the way back to 2020
- MP running on the sub-site of the multisite network
- German legal requirement regarding the checkout process and data privacy.
Support Resources, Migration Process and Tools
Sometimes, finding the right resources can be time-consuming and stretch your migration timeline. To prevent that, we compiled a list of resources and tools that we successfully used for our migration.
Out of the box, we were able to leverage the following resources from MemberPress:
- Support site – specifically, the Migrating & Importing Overview.
- This helpful article on content migration.
- These very clear and useful video tutorials.
Next, let’s talk about the process (and tools) we used to migrate MP:
- Configure MP settings including custom fields and payment methods.
- Migrate Thank You, Account, Login, Group, and Membership pages (WordPress standard importer).
- Migrate content of custom email templates (copy & paste).
- Import Memberships, Rules, and Reminders (WordPress standard importer).
- Import Members, Subscriptions, and Transactions (MP importer).
- Move the translation files to the /../plugins/mepr-i18n folder (FTP Client).
- Move custom template file(s) to the /../plugins/memberpress-pdf-invoice/app/views/account/invoice folder (FTP Client).
- Restore custom filters and actions in the child theme of the multisite subsite (Visual Studio Code).
- Restore continuous integration (CI) for PDF invoices (Visual Studio Code).
- Import courses and lessons (WP All Export plugin and MP importer).
The process and tools worked perfectly for us and should do the trick for most MemberPress data migrations to a WP multisite.
We learned a number of lessons along the way which we want to share with you to make your next migration even smoother.
Lessons Learned: 5 Potential Roadblocks and Related Solutions
1. Language Settings
We did not install MP on the main site of the multisite network.
The language setting would not work out of the box.
Step 1: Change the file directory from /plugin/mepr-i18n/ to /plugin/memberpress/i18n.
Step 2: Update language files to the new version.
Step 3: Migrate translation data into the updated language files.
Step 4: Activate upper case rule for the term “weeks” (in German “Wochen” – temporary fix in MemberPress).
Don’t wait to review MP release update notes. Review them as and when they become available.
2. Billing Period
In Germany, we have additional accounting requirements. Each invoice must specify the service delivery period.
Although we anticipated problems with this added consideration, there were actually no roadblocks. Restoring the custom filter in the child theme of the multisite subsite worked out just fine.
3. Theme Styles
We design course material (premium content) using our clients’ corporate designs so they are consistent with non-restricted website content.
Stylesheets from the WordPress theme, including corporate colors, fonts, and text styles, would not be available off the shelf.
Manually enqueue stylesheets of the WordPress theme by adding a filter to the child theme of the multisite subsite.
The support teams from both MemberPress and the theme developer were more than happy to help us create consistent theme styles.
4. Legal Requirements
There are two legal requirements that we needed to account for:
- To ensure compliance with local data privacy regulations, Google fonts may not be loaded from Google’s server.
Google fonts needed to be loaded from our own server.
Step 1: Restore a filter in the child theme of the multisite subpage that displays an additional ToS checkbox in the first of a two-step checkout process.
Step 2: Store Google font files on your own web server and add two filters to the child theme of the multisite subsite. MemberPress support provided us with a custom filter to help us.
General activation of custom fonts for MP does not automatically enable custom fonts in the PDF invoice add-on!
5. Invoice Number Format
Accounting best practices suggest a naming convention for invoice numbers that include the current year.
We wanted to be able to reissue invoices from previous years from the new system without changing data invoice data from past transactions.
During the standard migration procedure, the MP importer creates new transaction and invoice numbers when migrating transactions.
As a result, PDF invoices from previous years would no longer show the original invoice number.
MP invoice number format settings are as follows:
We migrated transaction and invoice data using the standard tools from our PHPMYAdmin database.
Consult MP premium support before migrating transactions and invoice numbers!
If you have any tips or suggestions to add to this list, share them with the MemberPress community in the comments section below.
3 Reasons to Use Premium Support
Very few businesses have access to a team with all of the relevant skills and expertise needed to pull off a seamless migration to a multisite.
That’s why we recommend making full use of support teams and using premium services from existing partners. Here are three things that made all the difference to the smoothness of our migration.
1. Leverage Multisite Expertise
For data migration to a WordPress multisite network, you should definitely leverage support from your web host!
Example: Migrating from a WordPress single into a multisite required us to deal with a slightly different database table structure. The site ID of the relevant multisite subpage becomes part of the table name.
We received valuable guidance and support on how to move MP tables between our WP main site and our subsite.
2. Delegate Admin Access
We saved time and sped up the migration notably by enabling direct access for MP support members to the multisite.
Example: MP support:
- Checked the results of the data migration.
- Provided detailed reports all the way down to the database table level.
This allowed us to perform data cleansing and correction with minimal effort.
The support team also went the extra mile. They created test records and checked whether sequential numbering worked.
Shout out to the MP support team for exceeding our expectations!
3. Contact and Cooperate with the Product Owner
Leverage developer support when customizing your MP installation. Having access to product developers was one of our key criteria for choosing MP.
How we cooperate in this partnership:
- We invested a considerable amount of time to illustrate and describe our local requirements.
- MP appreciates that effort by routing the specification to the right product developer, and then replies with a proposed solution that is pre-tested.
We hope our firsthand account of migrating data from MemberPress to a WordPress multisite network has been helpful and informative.
With the tips we have provided, you should feel more confident in making the move to a multisite network. The process of data migration is not as daunting as it may first seem.
We are sure that your MemberPress data migration will be a smooth and successful process if you follow the steps we have outlined. Good luck on your journey!
Want to share your experiences of migrating to a multisite network? Let us know in the comments section below.
If you liked this post, make sure you subscribe to the MemberPress blog!