Preparing your WordPress migration
How to plan your WordPress migration, map out your current WordPress site structure, identify all your content types (posts, pages, custom post types), and make note of any special functionality you'll need to recreate.
So youβve decided to make the leap from WordPress to CloudCannon β and honestly, who could blame you? We all know how those plugin updates, constant maintenance, and security worries can start to wear you down.
CloudCannon's approach is refreshingly different: itβs Git-based, generates lightning-fast static sites, and still gives you that user-friendly content management you're used to, without all the overhead that comes with traditional CMS platforms.
If you already know which static site generator you'd like to use, great β you'll be able to skip almost all the steps in this tutorial! Here are a few popular options, complete with specific instructions:
- Eleventy: A utility (and CLI) to import your WordPress site directly into Eleventy β github.com/11ty/eleventy-import
- Hugo: A WordPress plugin to export your site, formatted for Hugo β github.com/SchumacherFM/wordpress-to-hugo-exporter
- Jekyll: A WordPress plugin to export your site, formatted for Jekyll β github.com/benbalter/wordpress-to-jekyll-exporter
Once you've used these tools and have your site ready for your SSG, you're all set to get started with CloudCannon!
If you're not sure which SSG you'd prefer, or your chosen SSG doesn't have an import tool, let's carry on:
Moving from WordPress to CloudCannon is like moving house: youβll need to pack things up, move them around, and set them up in a new way. But donβt worry! This article will walk you through the beginning steps of getting your content out of WordPress, ready to set up your shiny new CloudCannon workspace.
Yes, itβll take some planning and effort, but I promise the end result is worth it: you'll have a faster, more secure site thatβs actually enjoyable to maintain. Ready to get started?
Planning
Before we dive into the technical steps, let's take a moment to plan our migration strategy. This phase is like taking inventory β we need to know exactly what we're working with.
We'll start by mapping out your current WordPress site structure, identifying all your content types (posts, pages, custom post types), and making note of any special functionality you'll need to recreate. Then we'll use some helpful tools to export your content in a format that we can easily work with.
This groundwork might feel a bit tedious, but trust me β good preparation now will save you hours of headaches later.
Create a full site backup (just in case)
Before we make any changes, let's create a complete backup of your WordPress site. If anything unexpected happens during the migration, you'll have a perfect snapshot to fall back on. We'll back up not just your content, but your entire WordPress installation, including themes, plugins, and your database. This gives you a safety net and the confidence to proceed with your migration knowing you can always restore everything to exactly how it was.
Database backup
# Using WP-CLI
wp db export backup.sql
# Or using mysqldump
mysqldump -u [username] -p [database_name] > backup.sql
File system backup
# To back up your entire WordPress directory
tar -czf wordpress_backup.tar.gz /path/to/wordpress
# To back up just your content
tar -czf wp-content_backup.tar.gz /path/to/wordpress/wp-content
Site audit checklist
Now it's time to take inventory of your WordPress site's current state, systematically documenting every corner of your website. We'll look at your content structure, review your active plugins, and identify any potential migration challenges. This audit helps us create a clear picture of what needs to be moved and helps prevent any surprises down the road.
Plugin analysis
- Generate a plugin list:
# Using WP-CLI
wp plugin list --format=csv > plugin_list.csv
- Document each active plugin:
- Plugin name and version
- Core functionality provided
- Whether functionality needs to be replicated in CloudCannon
- Potential static alternatives
Example documentation format:
Plugin,Version,Purpose,Required in CloudCannon,Alternative
Yoast SEO,19.4,SEO management,Yes,CloudCannon schemas + SSG settings
Contact Form 7,5.6,Forms handling,Yes,Built into CloudCannon
WP Super Cache,1.7,Caching,Yes,Built into CloudCannon
SearchWP,4.3.17,Search,Yes,Pagefind
Custom post types inventory
- List all custom post types:
// Add to functions.php temporarily
add_action('init', function() {
$post_types = get_post_types([], 'objects');
file_put_contents('post-types.json', json_encode($post_types, JSON_PRETTY_PRINT));
});
- Document each custom post type:
- Post type name
- Associated taxonomies
- Custom fields
- Templates used
- Content relationships
Hereβs an example documentation format:
post_type: services
taxonomies:
- industry
- service_type
custom_fields:
- duration
- process_steps
- key_benefits
templates:
- single-service.php
- archive-service.php
relationships:
- case_studies
- team_members
Content structure mapping
- Create a content hierarchy diagram
- Document content relationships
- Map URL structure
- List all taxonomies and terms
Your structure might look something like this:
βββ Services
βββ Industry
β βββ Healthcare
β βββ Finance
β βββ Technology
βββ Service type
β βββ Consulting
β βββ Implementation
β βββ Training
βββ Delivery method
β βββ On-site
β βββ Remote
β βββ Hybrid
βββ Service details
βββ Process steps
β βββ Discovery
β βββ Planning
β βββ Implementation
βββ Key benefits
βββ Time savings
βββ Cost reduction
βββ Quality improvement
Feature audit
Finally, let's identify all the special functionality your WordPress site currently provides. This means documenting things like contact forms, commenting features, search functionality, or any custom integrations. Understanding these features now helps us plan how to rebuild them effectively in your new CloudCannon setup.
Create a spreadsheet covering all of your siteβs additional functions. For example:
- Dynamic features inventory
- Interactive elements
- Third-party integrations
- API dependencies
Example format:
Feature | Current implementation | Required? | Migration strategy |
---|---|---|---|
Search | WordPress native | Yes | Pagefind static search |
Comments | WordPress native | Yes | Static comments/Disqus |
Forms | Plugin | Yes | CloudCannon native |
If you're looking for additional services to replicate features from your WordPress site, check out our Jamstack Ecosystem guide β it lists a huge range of services that work with CloudCannon sites.
By this point, you'll have a very clear picture of all your site content, and which additional features your site relies on.
Lessons in this Tutorial
WordPress migration guide
- Preparing your WordPress migration
- Exporting your WordPress content
- Processing your WordPress content