Content migration made easy with Kentico

With almost every project we get the question if it is possible to migrate the existing content from one CMS to another. This can be challenge for the team when large Excel files are delivered containing huge amounts of content, often just a couple of weeks before the new site needs to goes live. Kentico's Import Toolkit makes this chore a piece of cake!

Quick introduction

The Kentico Import Toolkit, introduced with Kentico CMS 5.5, allows you to import data into Kentico from external sources like SQL databases, XML files, CSV files or Excel files. The data can be imported into basically the most common content sources like pages, tables or objects:

Select object type to import

Based on the type of data to import, the toolkit will provide you with additional options. For example when importing pages under workflow the option to automatically publish the pages will appear.

Tip 1: make sure you save your import profile. This is useful when you want to tweak your configuration after doing a test run or in the case when you want to run the same import configuration for multiple enviroments.

After selecting the source of the data, you can map the columns to the targetted fields. In case of importing pages in the content tree, you will also need to specify the node ID of the parent page under which the content should be imported.

For more information on the Kentico Import Toolkit have a look at the Kentico documentation.

Advanced scenarios

Importing content into the CMS is the first and easy step of the content migration process. It gets more interesting when we will have to update the content to match specific requirements. Typically scenarios include:
  • Add categories and/or tags to the content items
  • Add support for old URLs (301 redirect)
  • Fix the HTML containing invalid markup
  • Transform date strings into specific date formats
  • Update HTML references to old URLs and images
  • Update the author of the content items
Based on my experience there are two quick and efficient ways to achieve this: run SQL scripts or execute custom code.

Tip 2: disable workflow to directly apply SQL updates into the Document, Tree and Page tables without having to worry about updating the versioning tables. You can enable workflow after you are done with the content migration.

Often the data is already provided but needs to be transformed into the right format. To simplify the migration, I recommend to import the raw data into one ore more custom (hidden) fields. Alternatively you can import them into default Kentico fields that are not used and clear them once you are done.

Portal Engine to MVC transition

A hot topic at the moment is the transition of Kentico Portal Engine to Kentico MVC. Based on my personal experience there is no easy way to convert your Portal Engine site to MVC. Main reason has to do with the layout (HTML) which is strictly tied to the content. It will take quite a lot of effort to transform the content from the Page tab (widgets) into their corresponding MVC counterparts.

Nevertheless this does not mean that it is not possible. You can still use a tool like the Kentico Import Toolkit to get a step in the right direction.

Tip 3: when doing Kentico MVC projects, the content is stored as Content Only. Please update the default value of the NodeIsContentOnly field to True when importing.

Change default value of content only field to True

Useful resources