Migrating from Craft CMS to WordPress
Introduction
Migrating a website from Craft CMS to WordPress and maintaining the same design involves replicating site settings, content, assets, taxonomy, and navigation menus. Read more to learn about the migration process in detail.
Overall Site Settings
First we migrated the site settings. General contains details such as sitename and logo. Routes is a listing of all redirects. Users also contains passwords and associated roles.
Craft Settings
WordPress Settings
Content
The first step is to replicate all the custom fields and groupings that have been created in Craft. We used the WordPress Custom Post Type (CPT UI) plugin to create custom fields and groupings. Then we replicated all the fields manually.
Craft Fields
WordPress Fields
The next step is to replicate the actual content. Unfortunately, this is a relatively time-intensive task. We looked at programmatic ways to extract and import data. However, they were more trouble than they were worth.
Craft Content
WordPress Content
Migrating the assets was relatively easy. All we had to do was to copy the folders and import them into WordPress. Of course, the folder structure had to be replicated manually.
Craft Assets
WordPress Assets
Then we migrated all the taxonomy of categories and tags.
Craft Taxonomy
WordPress Taxonomy
Finally we replicated all the navigation menus.
Craft Menus
WordPress Menus
Templates
After the content was migrated, the final step was to rebuild all the templates that power the various pages of the site. Although both Craft and WordPress are PHP powered sites, there was no easy way to reuse the templates. Craft uses a Twig templating engine while WordPress doesn’t. This is a fundamental difference and we had no choice but to rebuild all the templates.
Craft Template
WordPress Template
Other Activities
This post covers only the development-oriented aspects of such a migration. There are a ton of other activities that are involved:
- SEO
- Analytics
- Advertising
- DevOps
If you'd like to know more we’d love for you to join us on LinkedIn, Facebook or Twitter.