In this post we explore the various steps involved in migrating a site from Craft CMS to WordPress. The design of the site remains exactly the same while the underlying CMS is migrated.
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.
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.
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.
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.
Then we migrated all the taxonomy of categories and tags.
Finally we replicated all the navigation menus.
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.
This post covers only the development-oriented aspects of such a migration. There are a ton of other activities that are involved: