4 min

September 26, 2024

How to Migrate from Wordpress to Storyblok

Moving from one Content Management Platform (CMS) to another can seem like a complicated task. Especially, when going from the popular Wordpress to a more modern and flexible solution like Storyblok. In this article, we'll discuss the key steps of the migration process, as well as a solution to the blog storage problem and the time required for the whole process.

Listen to the audio version of this article.

elevenlabs cover
Loading the Elevenlabs Text to Speech AudioNative Player...

Preparing for migration

Migrating content from Wordpress to Storyblok requires careful and detailed planning. Start by making a list of all the element that need to be migrated. Examples include: posts, pages, categories, tags, media files, links, and other data.

Exporting data from Wordpress

After you finish preparing, the next step is to export the data from Wordpress directly. Wordpress offers useful tools to export content in XML format, which includes all posts, pages, categories, and other relevant elements.

Note: If you use custom fields, when exporting custom fields and metadata, you need to ensure they are properly migrated.

Importing data into Storyblok

Once the data export from Wordpress is completed, the next step is to import it into Storyblok. This process can be more complicated, because Storyblok has a different data structure from Wordpress.

Our solution includes:

- Data conversion. XML from Wordpress needs to be converted into a format that is compatible with Storyblok, such as JSON or transformed XML (with XSLT).

- Import Content. With Storyblok API, you can import the transformed data. It is important to accurately map the content structure to be compatible with the new system.

Examples

Firstly, you need a story identifier (storyId) and a project identifier (spaceId) to which you want to import the story. Then you will need to make a PUT request and add authorization to the header with your personal access token 0auth (Link) as the value. Last but not least, the request body should contain the story you want to import in this format.

It is important to note that imported stories can only be in JSON or XML format and properly formatted to Storyblok standards.

Import Stories as XML

Endpoint

Method

Header

Body

Example

Import Stories as JSON

Endpoint

Method

Header

Body

Example

Summary

The entire migration process, including exporting, converting data and importing it into Storyblok, can take anywhere from a few hours to a few days, depending on the size and complexity of the blog. The key here is preparation and testing, which can significantly speed up the implementation of the new platform.