1. Home
  2. Migrations
  3. Pre-Migration Checklist: Essential Steps Before Any Migration

Pre-Migration Checklist: Essential Steps Before Any Migration

Pre-Migration Checklist

🚨 CRITICAL: Complete this checklist BEFORE starting your migration. 80% of migration issues are caused by skipping preparation steps. Do not proceed until every item is checked off.

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

⚠️ No backup = No migration. If something goes wrong and you don’t have a backup, your site could be permanently broken. Take this seriously.

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:

  1. Download the backup file
  2. Check file size (should be several MB to GB depending on site)
  3. Verify both files AND database are included
  4. 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)

Why staging? Test your migration on a copy of your site before touching your live site. This catches issues before they affect real members.

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):

  1. Log into your hosting control panel
  2. Look for “Staging” or “Clone Site” feature
  3. Create staging copy of your live site
  4. Note staging URL: ________________
  5. Verify staging site loads correctly

How to create staging site (manual method):

  1. Create subdomain: staging.yourdomain.com
  2. Install fresh WordPress
  3. Import backup from live site
  4. Update wp-config.php database credentials
  5. Run search-replace for domain URLs
  6. 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

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

⚠️ Do not start your migration until EVERY item below is checked:

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:

  1. Choose your migration guide
  2. Follow the step-by-step guide
    • Test on staging first
    • Verify everything works on staging
    • Then migrate live site
  3. 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.

Updated on January 15, 2026
Was this article helpful?

Related Articles

NO QUESTION GOES UNANSWERED

Live Weekly Q&A

Join us for live Q&A. Learn the basics, discover what's possible, and connect with AccessAlly users.

Need Support?

Have questions? Get in touch. Our inbox support hours are 9am-5pm EST, Monday - Friday.

Laptop with the AccessAlly demo site

AccessAlly is the most flexible way to sell and elegantly deliver digital offerings. All in one place.

WATCH THE DEMO

You'll get follow-up emails about AccessAlly and new features. Opt out anytime. Full privacy policy here.