Migrate your WordPress site to Craft CMS using the official wp-import command-line tool (Craft 5.5+), which pulls in posts, pages, media, users, taxonomies, ACF fields, and Gutenberg blocks directly from your WordPress REST API. The content import itself can take under an hour for a typical site. The real work is what comes after: rebuilding templates in Twig, replacing plugins with Craft equivalents, mapping URL structures for SEO, and – most importantly – rethinking your content model to take advantage of what Craft actually does well.
The biggest thing I’ve seen with WordPress-to-Craft migrations is that people get really anxious about the amount of content they have to migrate and their ability to do it. So here is what I always tell them: set your baseline.
If you have 200 posts, that is not a lot. Worst case, you could manually migrate that content one post at a time. You could put on a movie, copy and paste, and get it done over the course of a few days. It would not be great, but you could do it. That is your baseline. It is not what you should do – but knowing you could do it manually frees up your mind to stop being anxious about the work and actually think through the best approach.
With that baseline set, you have two real migration paths. The first is the official WordPress importer tool from Pixel and Tonic, the makers of Craft CMS. It has support for ACF fields, and you can run the migration with a single command. The second is a data interchange approach: get your content into a format like JSON, XML, CSV, or even a Google Sheet, and use the Feed Me plugin to pull that data into Craft and map it to your sections, fields, and entry types. Both paths are significantly better than copying and pasting. But knowing the floor takes the pressure off.
WordPress’s market share has dropped to roughly 42.8% in early 2026, down nearly 7 percentage points since 2022, according to W3Techs, the primary source for CMS usage statistics. The Mullenweg/WP Engine dispute triggered 159 Automattic employees departing in October 2024 (TechCrunch), followed by a 16% workforce layoff in April 2025 (TechCrunch). Developers who spent years building on WordPress are evaluating alternatives – not because WordPress stopped working overnight, but because the ecosystem’s stability is no longer something you can take for granted.
The release of Craft 5.5 in November 2024 changed the practical calculus. Before wp-import existed, migrating from WordPress meant exporting to XML or JSON and running multiple Feed Me imports with manual field mapping at every step. wp-import collapsed that into a single command. The barrier dropped from multi-day content wrangling to running a command and reviewing the output.
wp-import pulls content directly from your WordPress REST API. According to the wp-import GitHub repository, it handles users, posts, pages, categories, tags, media assets, custom post types, custom taxonomies, 30+ ACF field types (including Repeater, Flexible Content, Gallery, and Image fields), and 35+ Gutenberg block types. It requires Craft 5.5 or later and the CKEditor plugin, which the WordPress Starter Project ships with pre-configured.
Here is what wp-import does not handle: template conversion, plugin functionality, custom theme logic, SEO metadata, URL structure mapping, forms, or ecommerce data. If you have WooCommerce products, membership tiers, or custom plugin integrations, those stay behind.
This distinction matters and most sources blur it. wp-import handles the content migration. It does not handle the site migration. The content import is the straightforward part. Everything else – templates, plugins, URLs, functionality – is where the actual project lives.
This is the high-level sequence. (For a complementary perspective on migration planning, see OurNameIsMud’s migration framework.) Each step could be its own CraftQuest course, but understanding the full arc tells you what you are signing up for.
1. Audit your WordPress content. Inventory your post types, ACF field groups, taxonomies, and media library. Identify what maps cleanly to Craft’s native field system and what needs rethinking. Note any WooCommerce data or custom plugin integrations that wp-import will not touch.
2. Set up Craft CMS with the WordPress Starter Project. Install Craft 5.5+ using the WordPress Starter Project, which ships with CKEditor pre-configured and the wp-import command ready to go. DDEV is the recommended local development environment for Craft.
3. Run wp-import. A single command pulls your content from the WordPress REST API into Craft. Your WordPress site’s REST API must be accessible from wherever you are running the command, including endpoints for custom post types and ACF field groups. Developer Jeff Bridgforth documented his migration and completed the content import in under an hour – he also used CraftQuest courses to learn Craft 5 during the process, and discovered and reported a featured-image import bug that the Craft team fixed within two weeks. Note that wp-import is not fully “fire and forget” – it prompts you for mapping decisions during the import.
4. Rebuild templates in Twig. WordPress PHP template tags do not convert. Your templates must be rewritten in Craft’s Twig templating language. This is typically the largest time investment in the entire migration. The mental model transfers though – you are still looping through entries, outputting fields, and writing conditionals. The syntax is just cleaner.
5. Replace WordPress plugins with Craft equivalents. The common mappings:
Not every WordPress plugin has a Craft equivalent. But Craft’s native field system replaces much of what ACF does in WordPress, and the plugin ecosystem – while smaller – tends toward higher quality and better maintained packages.
6. Map URLs and set up 301 redirects. WordPress defaults to URL patterns like /2024/01/post-slug/. Craft’s URI format is fully configurable per section. Map your old URLs to the new structure and set up 301 redirects using the Retour plugin or server-level redirect rules. Verify coverage with a crawl tool like Screaming Frog before launch.
7. Test and launch. Content integrity check, broken link scan, form testing, SEO verification. Stage the Craft site alongside the WordPress original and compare. This is not the step to rush.
The content model adjustment is the real migration. WordPress developers think in “posts and pages with custom fields bolted on.” Craft developers think in entry types with native field layouts. In WordPress, ACF is a dependency you install to get flexible content structures. In Craft, that flexibility is the core. The shift from ACF-dependent modeling to Craft’s native approach is where the conceptual migration happens – and it is more significant than any technical import step.
Twig is a speed bump, not a wall. Developers comfortable with PHP template tags typically get productive with Twig within a few days. The syntax is different but the underlying logic transfers directly.
The control panel wins over content editors. I have seen agencies consistently report that once content editors get into Craft’s control panel, they prefer it to WordPress. The authoring experience is the argument that closes the deal with stakeholders who are skeptical about the cost of migrating.
“The biggest part I’ve seen is people get really anxious about the amount of content that they have to migrate and their ability to do it. So I always say: set your baseline. If it’s a low amount, know that you can do it manually if you have to. You can put on a movie and copy and paste and get it done over the course of a few days. It wouldn’t be great, but you could do it. And then with that as the baseline, you free yourself up to think through the best way to migrate.”
– Ryan Irelan, CraftQuest
If you are evaluating: Install Craft CMS with the free Solo license and run wp-import against a staging copy of your WordPress site. You will know within an hour whether your content imports cleanly.
If you are ready to learn: CraftQuest’s Craft CMS learning paths cover everything from installation through advanced content modeling – built for developers making this transition.
If you need the technical reference: The wp-import GitHub repository has full documentation, including supported field types and custom adapter instructions.
The content import with wp-import can take under an hour. A full site migration – including template rebuilding, plugin replacement, and SEO setup – typically takes 1-4 weeks depending on site complexity. The content import is the easy part.
Yes. wp-import supports 30+ ACF field types including Text, Image, Gallery, Repeater, and Flexible Content (source). Fields are mapped to Craft’s native field types or CKEditor. Some complex configurations may need manual adjustment after import.
Yes. WordPress PHP templates do not convert to Craft’s Twig templates. Template rebuilding is typically the largest time investment in a migration. Twig’s syntax is cleaner than WordPress’s PHP template tags, and most developers find it faster to work with once learned.
Common replacements: Yoast SEO maps to SEOmatic, Gravity Forms to Formie, WordPress comments to Verbb Comments, and WooCommerce to Craft Commerce. Craft’s native field system also replaces much of what ACF does in WordPress.
Yes. Craft CMS provides the official wp-import tool (requires Craft 5.5+). It imports content, media, users, taxonomies, ACF fields, and Gutenberg blocks via the WordPress REST API. For older Craft versions (4.x and earlier), the Feed Me plugin handles imports from WordPress exports.