ARTICLE CONTENT:
Pre-Migration Checklist
Overview
This checklist applies to ALL migration types:
- Switching CRMs (ActiveCampaign, Ontraport, Keap, Drip, Kit, etc.)
- Migrating TO AccessAlly from other platforms
- Migrating AWAY from AccessAlly
- Payment system migrations
Time to complete: 2-4 hours (depending on site size)
Required skills: WordPress admin access, basic technical understanding
—
Critical: Do These BEFORE You Start
1. Backup Everything
What you need to backup:
WordPress Site Backup
☐ Full site backup (files + database)
- Use your hosting provider’s backup tool (cPanel, Plesk, etc.)
- Or use a backup plugin (UpdraftPlus, BackupBuddy, etc.)
- Verify backup file is downloadable and complete
- Store backup in a safe location (not just on the server)
How to verify your backup is complete:
- Download the backup file
- Check file size (should be several MB to GB depending on site)
- Verify both files AND database are included
- Test restore on a test site if possible
Recommended backup plugins:
- UpdraftPlus – Free, reliable, supports remote storage
- BackupBuddy – Premium, comprehensive, good for migrations
- Duplicator – Free, excellent for site migrations
→ How to Backup Your WordPress Site
CRM Data Export
☐ Export contacts from current CRM
- Export ALL contacts (not just tagged/active)
- Include all custom fields
- Export tags and tag categories (if applicable)
- Save as CSV file
- Store in safe location (backup folder)
☐ Export automation rules/sequences
- Document or screenshot all automations
- Note trigger events and actions
- Map automation flow (diagram if complex)
- Save automation exports if CRM supports it
☐ Export custom fields documentation
- List all custom fields with data types
- Note which fields are required
- Document field purposes
- Save field mapping spreadsheet
Payment Gateway Data
☐ Export transaction history
- Export from Stripe, PayPal, or other gateway
- Include date range covering all active subscriptions
- Save as CSV for reference
☐ Document active subscriptions
- Export subscription list from payment gateway
- Note subscription IDs, products, amounts
- Cross-reference with CRM data
AccessAlly Configuration
☐ Export AccessAlly settings
- Screenshot CRM connection settings
- Document tag-based access rules
- List all products/offers configured
- Save order form configurations
☐ Document current setup
- Which CRM you’re currently using
- How many products/membership levels
- Number of active members
- Number of pages with tag-based access
—
2. Audit Your Current Setup
Use this audit to understand what you’re migrating:
Member Count Audit
☐ Count active members
- Go to WordPress → Users
- Count users with Subscriber/Member roles
- Note: ________ active members
☐ Count active subscriptions
- Check payment gateway subscription count
- Note: ________ active subscriptions
Membership Structure Audit
☐ List all membership levels/products
- Product 1: ________________
- Product 2: ________________
- Product 3: ________________
- [Add more as needed]
☐ Document access rules for each level
- Which tags grant access?
- Which pages/posts are protected?
- Are there any expiration rules?
Tag Audit
☐ Count total tags in CRM
- Note: ________ tags in [CRM name]
☐ List critical tags used by AccessAlly
- Tags that grant content access
- Tags applied by order forms
- Tags used in automations
- Tags used for email segmentation
☐ Check for tag categories (Keap only)
- If migrating FROM Keap: Document which tags are in categories
- If migrating TO ActiveCampaign: ⚠️ WARNING – Read about tag category prepending
- → Tag Category Prepending Issue
Form Audit
☐ List all forms on your site
- Opt-in forms: ________ forms
- Order forms: ________ forms
- Profile update forms: ________ forms
☐ Document form configurations
- Which forms apply tags?
- Which forms use auto-login?
- Which forms connect to payment gateways?
Automation Audit
☐ Count automations in CRM
- Note: ________ automations in [CRM name]
☐ List critical automations
- Welcome sequence: [describe]
- Failed payment sequence: [describe]
- Renewal reminders: [describe]
- Access expiration: [describe]
- [Add more as needed]
—
3. Create Test Environment (Staging Site)
☐ Create staging site
- Option A: Use hosting provider’s staging feature (Kinsta, WP Engine, etc.)
- Option B: Use Local by Flywheel for local testing
- Option C: Create manual staging site on subdomain
How to create staging site (hosting provider method):
- Log into your hosting control panel
- Look for “Staging” or “Clone Site” feature
- Create staging copy of your live site
- Note staging URL: ________________
- Verify staging site loads correctly
How to create staging site (manual method):
- Create subdomain: staging.yourdomain.com
- Install fresh WordPress
- Import backup from live site
- Update wp-config.php database credentials
- Run search-replace for domain URLs
- Verify staging site loads
→ How to Create a Staging Site
☐ Verify staging site is working
- Can you log into WordPress admin?
- Do pages load correctly?
- Is AccessAlly plugin active?
- Can you access protected content?
☐ Create test CRM account/list
- Create separate list/tag in destination CRM for testing
- Label it clearly: “STAGING TEST – DO NOT USE”
- This prevents staging tests from affecting live CRM data
☐ Set up test payment gateway (sandbox mode)
- Enable Stripe test mode OR PayPal sandbox
- This lets you test purchases without real charges
- Document test API keys separately from live keys
☐ Request 2-site exception (if needed)
- AccessAlly normally allows 1 live + 1 local site
- During migration, you may need staging exception
- Contact AccessAlly support to request temporary 2-site exception
- Provide staging URL and explain you’re migrating
—
4. Data Mapping
Map data between your current and destination systems:
☐ Use the Data Mapping Reference
- → Data Mapping Reference Guide
- Find your specific CRM combination
- Download field mapping template
☐ Create contact field mapping spreadsheet
- Column 1: Current CRM field name
- Column 2: Destination CRM field name
- Column 3: Data type
- Column 4: Required? (Yes/No)
- Column 5: Notes
Example mapping:
| Current Field | Destination Field | Type | Required? | Notes |
|---|---|---|---|---|
| firstname | first_name | Text | Yes | Standard field |
| Access Level | Membership_Level | Text | No | Custom field |
☐ Create tag mapping spreadsheet
- Column 1: Current tag name
- Column 2: Destination tag name
- Column 3: Used for access? (Yes/No)
- Column 4: Used in automations? (Yes/No)
- Column 5: Notes
☐ Identify unique contact IDs
- What field is used as unique identifier in current CRM?
- What field will be used in destination CRM?
- Plan for contact ID remapping if needed
☐ Map subscription products
- List current product IDs
- List destination product IDs
- Map which current product = which destination product
☐ Document automation triggers
- What triggers each automation in current system?
- What will trigger it in destination system?
- Are triggers identical or do they need adjustment?
—
5. Plan Downtime
Your site will need to be in maintenance mode during migration:
☐ Choose migration time window
- Recommended: Late night or early morning (low traffic)
- Avoid: During active launches, promotions, or high-traffic periods
- Scheduled date: ________________
- Scheduled time: ________________
- Estimated duration: ________ hours
☐ Prepare customer communication
- Email template announcing scheduled maintenance
- Send 72 hours before migration
- Send reminder 24 hours before
- Include expected downtime window
Email template example:
Subject: Scheduled Maintenance – [Date] [Time]
Hi [Name],
We’re performing scheduled maintenance on [Date] from [Start Time] to [End Time] [Timezone].
What this means:
- The site will be temporarily unavailable during this window
- You won’t be able to log in or access content
- Any active sessions will be logged out
- This is to improve our systems – thank you for your patience!
When we’re back:
- You may need to log in again
- Your access to all content will remain the same
- If you experience any issues, contact support at [email]
Thank you for your understanding!
[Your Name]
☐ Set up maintenance page
- Install maintenance mode plugin (WP Maintenance Mode, Coming Soon, etc.)
- Configure maintenance message
- Test maintenance mode (enable, verify, disable)
- Don’t enable yet – just have it ready
☐ Prepare support plan
- Who will handle support during migration?
- How will you respond to urgent issues?
- Do you have backup contact for emergencies?
—
6. Test Access & Permissions
Verify you have everything you need before starting:
☐ WordPress admin access
- Administrator-level account
- Can install/activate plugins
- Can edit pages and settings
☐ Current CRM access
- Admin-level access to current CRM
- Can export contacts
- Can view automations
- API credentials available
☐ Destination CRM access
- Admin-level access to destination CRM
- Can import contacts
- Can create automations
- API credentials generated and saved
☐ Payment gateway access
- Admin access to Stripe/PayPal/etc.
- Can view subscriptions
- Can access API keys
- Test mode keys available (for staging)
☐ Hosting/server access
- cPanel or hosting control panel access
- Can create staging sites
- Can perform backups
- Can restore backups if needed
☐ Domain/DNS access (if needed)
- Can update DNS records if migration requires it
- Know how to revert DNS changes
—
Migration-Specific Checklists
In addition to the universal checklist above, review the checklist for your specific migration type:
CRM Switch Migrations
☐ Read CRM switch checklist
☐ Test CRM API connection
- Test current CRM connection in AccessAlly
- Generate destination CRM API credentials
- Don’t connect to destination CRM yet (wait until migration)
☐ Plan tag recreation
- Will tags transfer automatically or need manual creation?
- Prepare list of tags to create in destination CRM
Platform Migration (TO or FROM AccessAlly)
☐ Read platform migration checklist
☐ Content migration plan
- Which pages/posts need to move?
- Will you manually copy or use migration plugin?
- How will media files (images, PDFs) transfer?
AccessAlly Managed Migration
☐ Read AccessAlly Managed checklist
☐ Understand email behavior changes
- If migrating TO AA Managed: Email works differently
- If migrating FROM AA Managed: Email will work differently
- Plan for email sequence recreation
—
Final Pre-Migration Verification
Critical verification checklist:
☐ Full WordPress backup created and downloaded
☐ CRM contacts exported and saved
☐ Payment gateway data exported
☐ Staging site created and working
☐ Data mapping spreadsheet completed
☐ Migration time scheduled and communicated
☐ Maintenance page ready (but not enabled yet)
☐ All access and permissions verified
☐ Support plan in place
☐ Rollback plan documented
If ANY of the above are not checked, STOP and complete them before proceeding.
—
What Happens Next
Once you’ve completed this checklist:
- Choose your migration guide
- → Migration Hub – Find your specific migration path
- Follow the step-by-step guide
- Test on staging first
- Verify everything works on staging
- Then migrate live site
- Complete post-migration verification
—
Common Pre-Migration Mistakes (Don’t Do These)
❌ Skipping backups – “I’ll do it later” = disaster waiting to happen
❌ Testing on live site – Always test on staging first
❌ Migrating during high-traffic times – Schedule low-traffic windows
❌ Not communicating downtime – Surprise maintenance upsets members
❌ Incomplete data mapping – Results in broken access rules post-migration
❌ No rollback plan – If migration fails, you’re stuck
❌ Rushing the process – Take the time to do it right
—
When to Stop and Get Help
Stop and contact support if:
- You can’t create a complete backup
- You don’t have admin access to all required systems
- Your hosting doesn’t support staging sites and you can’t create one
- The data mapping seems overwhelming or confusing
- You’re not comfortable with any of the technical steps
- Your site has >1,000 active members (high-risk DIY)
Contact AccessAlly Support for professional migration assistance.
—
💡 Pro Tip: Print this checklist and check off items as you complete them. Don’t rely on memory – migrations have too many moving parts. A systematic approach prevents 80% of migration issues.