Website Migration

Migrating from one CMS to another can be a complex process, but here are some things to consider when migrating from Contentful Enterprise Plan to Sitecore or Hygraph, aka GraphCMS:

SCube black logo
SCube black logo
SCube black logo
SCube black logo
SCube black logo

Content mapping

Content types, fields, and entries in Contentful, Hygraph aka GraphCMS, and Sitecore

Contentful

Hygraph aka GraphCMS

Sitecore

Blog Post

Blog Post

Blog

Landing Page

Page

Landing Page

Product

Product

Product

Author

Author

Author

Category

Category

Category

Asset

Asset

Media Item

Entry

Entry

Item

Form

Form

Form

Content fields available in Contentful, Hygraph aka GraphCMS, and Sitecore

Field

Contentful

Hygraph aka GraphCMS

Sitecore

Text

X

X

X

Rich Text

X

X

X

Image

X

X

X

Video

X

X

X

Audio

X

X

X

Number

X

X

X

Boolean

X

X

X

Date

X

X

X

Link

X

X

X

Reference

X

X

X

Array

X

X

X

Object

X

X

X

Location

X

X

-

SEO Metadata

X

X

X

Custom Code

-

X

X

How to map a content model for a blog post between Contentful, Hygraph aka GraphCMS, and Sitecore:

  1. Could you identify the content types between the CMS you want to map? Please list each content type and note their names, fields, and data types.

  2. Compare the content types in CMS to identify similarities and differences in their structures. Look for similarities in the names and data types of the fields, and try to identify any differences in how the areas are structured or organised.

  3. Identify any CMS fields that do not have a direct equivalent in the other CMS, and vice versa. For example, Contentful might have a tag field, while Hygraph might have a category field.

  4. Create a mapping document that outlines how each content type, field, and entry in Contentful will be migrated to Hygraph. This document should describe each content type and area, the field type, and additional notes or considerations.

  5. Create a plan for migrating your data from Contentful to Hygraph. This may involve exporting your data from Contentful in a format that can be imported into Hygraph. You should test this migration process on a small subset of your data to ensure it works correctly before migrating your entire data set.

Contentful

Hygraph aka GraphCMS

Sitecore

Blog Post

Blog Post

Blog

title

title

Title

content

content

Body

author

author

Author

tags

categories

Tags

featured_image

featuredImage

Image

related_posts

relatedPosts

Related Posts

author_bio

authorBio

Bio

custom_code

customCode

Custom Code

In addition to the content type and field mappings, the mapping document should also include the following information:

  1. Description of each content type and field: This should describe the purpose of each content type and field and how it is used in your content.

  2. Field types: This should list the data type of each field, such as text, number, date, etc.

  3. Field options and configurations: This should include any additional configuration options for each field, such as minimum and maximum values, validation rules, and formatting options.

  4. Relationships between content types: If you have content types that are related to each other, such as parent-child relationships or one-to-many relationships, you should include this information in the mapping document.

  5. Custom code or plugins: If you have any custom code or plugins that are used to extend the functionality of your CMS, you should include this information in the mapping document.

  6. Data types should specify the data types used in the mapping process. This can include data types such as text, numbers, dates, and booleans.

  7. Mapping rules: This should include specific rules for mapping data between Contentful, Hygraph, aka GraphCMS, and Sitecore. For example, if the data in Contentful uses a different naming convention than Hygraph or Sitecore, this should be noted in the mapping rules.

  8. Data cleansing and validation: This should include a plan for cleaning and validating data before it is mapped to the target CMS. For example, if there are duplicate entries or missing data in Contentful, this should be identified and corrected before the data is mapped.

  9. Data privacy and security: This should include any measures that will be taken to ensure the privacy and security of the data during the mapping process. For example, data should be encrypted during transit and at rest to ensure unauthorised parties cannot access it.

  10. Data mapping testing should include a plan for how the mapped data will be tested and validated to ensure that it is accurate and functioning as expected in the target CMS.

CMS Data Migration Strategy

1. Export Data from Current CMS:

a. Identify which data needs to be migrated b. Check for export format options available in the current CMS c. Export the data in the desired format (e.g. CSV, JSON, XML, etc.) d. Store the exported data in a secure location

2. Clean Up Exported Data:

  • Check for duplicates, missing data, and data consistency

  • Ensuring consistent naming conventions and data formats

  • Removing unnecessary data fields

  • Verify that the data has been exported correctly

  • Store the cleaned-up data in a secure location

3. Import Data into New CMS:

a. Identify which data needs to be imported b. Check for import format options available in the new CMS c. Map the data fields between the old and new CMSs d. Import the data into the new CMS e. Verify that the data has been imported correctly

4. Final Clean-Up:

a. Check for duplicates, missing data, and data consistency in the new CMS b. Remove any unnecessary data c. Verify that the data has been imported correctly

5. QA Checklist:

a. Verify that all data has been successfully migrated b. Check that data is displaying correctly in the new CMS c. Verify that all links and media are functioning properly d. Check that all meta tags and SEO settings have been properly set up e. Verify that user accounts and access permissions have been properly set up f. Perform a final review of the new CMS to ensure that everything is working correctly

CMS Data Export Formats

Here is an example table outlining the export and import format options for Contentful, Hygraph aka GraphCMS, and Sitecore:

CMS

Export Formats

Import Formats

Contentful

CSV, JSON, XML

CSV, JSON, XML

Hygraph aka GraphCMS

CSV, JSON, XML

CSV, JSON, XML

Sitecore

XML

XML

CMS Data Migration Plan

CMS Data Migration Plan

Checklist

Export Data from Current CMS

Identify data, check export formats, export data, store in secure location

Clean Up Exported Data

Check for duplicates, missing data, data consistency, remove unnecessary data, verify data export

Import Data into New CMS

Identify data to be imported, check import formats, map data fields, import data, verify data import

Final Clean Up

Check for duplicates, missing data, data consistency, remove unnecessary data, verify data import

QA Checklist

Verify all data migrated, verify data displays correctly, check links and media, verify meta tags and SEO, verify user accounts and permissions, perform final review of new CMS

API Migration Strategy for CMS Migration

API Integration, Migration, and Refactoring Plan

Checklist

API Integration Plan

Identify APIs, check the documentation, determine integration method, test integration, and ensure standards are met.

Migration Plan

Identify data, determine migration method, check for necessary transformations, map data fields, migrate data, verify data migration, check for issues, and perform necessary refactoring.

Refactoring Plan

Identify areas to be refactored, determine the refactoring method, prioritize areas, create a timeline, test refactored system, ensure standards met

1. API Integration Plan: a. Identify which APIs will be integrated b. Check the documentation for each API c. Determine the best integration method (e.g. REST, SOAP, GraphQL) d. Test the API integration e. Ensure the integration meets the required performance, scalability, and security standards

2. Migration Plan: a. Identify which data needs to be migrated b. Determine the best migration method (e.g. manual migration, ETL, middleware, etc.) c. Check for any necessary data transformations or data cleansing that needs to be done d. Map the data fields between the old and new systems e. Migrate the data f. Verify that the data has been migrated g correctly. g. Check for any issues that may have arisen from the migration h. Perform any necessary refactoring to resolve issues

3. Refactoring Plan: a. Identify areas of the system that need to be refactored b. Determine the best refactoring method (e.g. incremental, total rewrite, etc.) c. Prioritize the areas of the system that need to be refactored d. Create a timeline for the refactoring process e. Test the refactored system f. Ensure the refactored system meets the required performance, scalability, and security standards

API

Type

Documentation

Integration Method

Migration Method

Refactoring method

Verification

Chart

Integration, Migration, Refactoring

Link to the documentation

REST, SOAP, GraphQL

Manual Migration, Middleware

incremental, total rewrite

Performance, Security, Scalability

Migration Custome code between CMS

Bespoke Code-based Migration Plan

Checklist

Identify Bespoke Code

Review existing codebase, identify purpose and functionality, determine requirement in new CMS, identify dependencies

Develop Code Migration Plan

Review codebase for compatibility, determine need for refactoring, determine migration method, develop timeline, test migrated code

Refactor Migrated Code

Review migrated code for refactoring needs, determine method for refactoring, prioritize areas for refactoring, develop timeline, test refactored code

Identify the bespoke code:

a. Review the existing codebase to identify any bespoke code b. Identify the purpose and functionality of the bespoke code c. Determine if the bespoke code will be required in the new CMS d. Identify any dependencies or integrations that the bespoke code has with other parts of the system

Develop a code migration plan:

a. Review the existing codebase to identify any compatibility issues with the new CMS b. Determine if any code refactoring or updating is required for the bespoke code to work in the new CMS c. Determine the best method for migrating the bespoke code (e.g. manual migration, automated migration, etc.) d. Develop a timeline and project plan for the code migration e. Test the migrated code to ensure it is working as expected in the new CMS

Refactor the migrated code:

a. Review the migrated code to identify any areas that require refactoring or updating b. Determine the best method for refactoring the migrated code (e.g. incremental refactoring, total rewrite, etc.) c. Prioritize areas of the migrated code that require refactoring d. Develop a timeline and project plan for the code refactoring e. Test the refactored code to ensure it is working as expected in the new CMS

Migration Training Strategy for CMS users

User Training Plan

Checklist

Create Documentation

Identify features, create comprehensive user manual, include visual aids, ensure easy navigation

Create Tutorials

Create video tutorials, break down into manageable segments, ensure easy to follow, make accessible

Conduct Workshops

Hold regular workshops, use manual and tutorials as reference, provide platform for questions and feedback

Onboarding Plan

General training, unique training, workshops, feedback and refinement

Create Documentation:

a. Identify all the features of the new CMS b. Create a comprehensive user manual with step-by-step instructions for each feature c. Include screenshots or videos to make the documentation more visual and engaging d. Ensure that the user manual is easy to navigate and search

Feature

Description

Instructions

Screenshots

Videos

Content Creation

Create new content for the website

Click on "New Content" button, select content type, fill in fields

Yes

Yes

Content Editing

Edit existing content

Click on content to edit, make changes, save

Yes

Yes

Media Library

Store and manage media files

Click on "Media Library" button, upload or select file, manage files

Yes

Yes

User Management

Manage user accounts and permissions

Click on "User Management" button, add or edit user account, set permissions

Yes

Yes

Create Tutorials:

a. Create video tutorials for each feature of the CMS b. Break down each tutorial into manageable segments c. Ensure that each tutorial is easy to follow and understand d. Make the tutorials easily accessible on a company intranet or learning management system

Feature

Tutorial Title

Tutorial Length

Tutorial Description

Link

Content Creation

Creating New Content

5 minutes

This tutorial provides step-by-step instructions for creating new content in the CMS.

[Link]

Content Editing

Editing Existing Content

4 minutes

This tutorial provides step-by-step instructions for editing existing content in the CMS.

[Link]

Media Library

Managing Media Files

6 minutes

This tutorial provides step-by-step instructions for managing media files in the CMS.

[Link]

User Management

Managing User Accounts

8 minutes

This tutorial provides step-by-step instructions for managing user accounts in the CMS.

[Link]

Conduct Workshops:

a. Hold regular workshops to provide hands-on training for users b. Use the user manual and video tutorials as a reference during the workshop c. Provide a platform for users to ask questions and provide feedback d. Record the workshops for future reference

Workshop Topic

Workshop Date

Workshop Time

Description

Recording Link

Content Creation

June 1, 2022

10:00 AM - 12:00 PM

This workshop provides hands-on training for creating new content in the CMS.

[Link]

Content Editing

June 2, 2022

2:00 PM - 4:00 PM

This workshop provides hands-on training for editing existing content in the CMS.

[Link]

Media Library

June 3, 2022

9:00 AM - 11:00 AM

This workshop provides hands-on training for managing media files in the CMS.

[Link]

User Management

June 4, 2022

1:00 PM - 3:00 PM

This workshop provides hands-on training for managing user accounts in the CMS.

[Link]w

Onboarding Plan:

Onboard Plan

Timeline

Description

Deliverables

Week 1: Introduction to the CMS

Days 1-5

Provide an overview of the new CMS and its features, as well as the benefits it offers.

Day 1

Kickoff meeting to introduce the project team, goals and objectives of the CMS.

Project Team introduction presentation

Day 2

Overview of CMS features and benefits.

CMS features and benefits presentation

Day 3-5

General training sessions on how to use the CMS.

User manual, video tutorials, and workshops

Week 2: Department-specific Training

Days 6-10

Provide specialized training for each department or team to focus on the unique features and functionality relevant to each department.

Day 6-7

Training sessions for Marketing team to understand and utilize the CMS to manage their content.

Marketing training manual, video tutorials, and workshops

Day 8-9

Training sessions for Sales team to utilize the CMS to access relevant content and support their sales initiatives.

Sales training manual, video tutorials, and workshops

Day 10

Recap and Review session to ensure that all the department understands how to use the CMS effectively.

Department-specific training materials, workshops

Week 3: Advanced Training

Days 11-15

Provide additional training for advanced features or integrations.

Day 11-12

Advanced training sessions on CMS's integrations with other software tools.

Advanced training manuals, video tutorials, and workshops

Day 13-14

Advanced training sessions on CMS's APIs and how to use them to optimize content management.

Advanced API training manuals, video tutorials, and workshops

Day 15

Recap and review session to ensure that all the departments understand how to use the advanced features of the CMS.

Advanced training materials, workshops

Week 4: Feedback and Refinement

Days 16-20

Encourage users to provide feedback on the training and the CMS itself. Use the feedback to refine and improve the training materials and the CMS.

Day 16-19

Solicit feedback from users on the CMS and training materials.

Feedback surveys, feedback meetings

Day 20

Final meeting to review feedback and make any final adjustments to the training materials and the CMS.

Final training manual, video tutorials, and workshops