website img

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:

Content mapping


You must map the content in your current CMS instance to the structure of your new CMS model. This means identifying how your existing content types, fields, and entries will be migrated to the new system. Please ensure you understand how your current content is organised and must be structured in Hygraph.

Data migration


Once you have mapped your content, you must migrate it from Old CMS to New CMS. This can involve exporting your data from the old CMS in a format that can be imported into the new CMS. Could you ensure you have a clear plan for migrating your data, including any scripts or tools you will need to use?

API integrations


If you use any third-party APIs with Contentful, you must ensure these integrations are updated to work with Hygraph. This may involve changing API endpoints or authentication methods.

Customisations


If you have customised your Contentful setup with custom code or plugins, you must consider how these customisations will be migrated to Hygraph. You may need to rewrite some of your code or find new plugins with similar functionality.

User training


Finally, you must train your team on how to use Hygraph. This may involve creating documentation or holding training sessions to help your team get up to speed with the new system.

Content mapping

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

ContentfulHygraph aka GraphCMSSitecore
Blog PostBlog PostBlog
Landing PagePageLanding Page
ProductProductProduct
AuthorAuthorAuthor
CategoryCategoryCategory
AssetAssetMedia Item
EntryEntryItem
FormFormForm

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

FieldContentfulHygraph aka GraphCMSSitecore
TextXXX
Rich TextXXX
ImageXXX
VideoXXX
AudioXXX
NumberXXX
BooleanXXX
DateXXX
LinkXXX
ReferenceXXX
ArrayXXX
ObjectXXX
LocationXX–
SEO MetadataXXX
Custom Code–XX

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

  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
ContentfulHygraph aka GraphCMSSitecore
Blog PostBlog PostBlog
TitleTitleTitle
ContentContentBody
AuthorAuthorAuthor
TagsCategoriesTags
featured_imagefeaturedImageImage
related_postsrelatedPostsRelatedPosts
author_bioauthorBioBio
custom_codecustomCodeCustom Code

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

  • 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.
  • Field types: This should list the data type of each field, such as text, number, date, etc.
  • 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.
  • 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.
  • 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.
  • Data types should specify the data types used in the mapping process. This can include data types such as text, numbers, dates, and booleans.
  • 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.
  • 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.
  • 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.
  • 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:


  • Identify which data needs to be migrated.
  • Check for export format options available in the current CMS.
  • Export the data in the desired format (e.g. CSV, JSON, XML, etc.)
  • 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:


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

            • 4. Final Clean-Up:


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

                • 5. QA Checklist:


                  • Verify that all data has been successfully migrated.
                  • Check that data is displaying correctly in the new CMS.
                  • Verify that all links and media are functioning properly.
                  • Check that all meta tags and SEO settings have been properly set up.
                  • Verify that user accounts and access permissions have been properly set up.
                  • 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:

    CMSExport FormatsImport Formats
    ContentfulCSV, JSON, XMLCSV, JSON, XML
    Hygraph aka GraphCMSCSV, JSON, XMLCSV, JSON, XML
    SitecoreXMLXML

    CMS Data Migration Plan

    CMS Data Migration PlanChecklist
    Export Data from Current CMSIdentify data, check export formats, export data, store in secure location
    Clean Up Exported DataCheck for duplicates, missing data, data consistency, remove unnecessary data, verify data export
    Import Data into New CMSIdentify data to be imported, check import formats, map data fields, import data, verify data import
    Final Clean UpCheck for duplicates, missing data, data consistency, remove unnecessary data, verify data import
    QA ChecklistVerify 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 PlanChecklist
    API Integration PlanIdentify APIs, check the documentation, determine integration method, test integration, and ensure standards are met.
    Migration PlanIdentify data, determine migration method, check for necessary transformations, map data fields, migrate data, verify data migration, check for issues, and perform necessary refactoring.
    Refactoring PlanIdentify areas to be refactored, determine the refactoring method, prioritize areas, create a timeline, test refactored system, ensure standards met

    1. API Integration Plan:


    • Identify which APIs will be integrated
    • Check the documentation for each API
    • Determine the best integration method (e.g. REST, SOAP, GraphQL)
    • Test the API integration
    • Ensure the integration meets the required performance, scalability, and security standards.


    2. Migration Plan:


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


    3. Refactoring Plan:


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


    APITypeDocumentationIntegration MethodMigration MethodRefactoring methodVerification
    ChartIntegration, Migration, RefactoringLink to the documentationREST, SOAP, GraphQLManual Migration, Middlewareincremental, total rewritePerformance, Security, Scalability

    Migration Custome code between CMS

    Bespoke Code-based Migration PlanChecklist
    Identify Bespoke CodeReview existing codebase, identify purpose and functionality, determine requirement in new CMS, identify dependencies
    Develop Code Migration PlanReview codebase for compatibility, determine need for refactoring, determine migration method, develop timeline, test migrated code
    Refactor Migrated CodeReview migrated code for refactoring needs, determine method for refactoring, prioritize areas for refactoring, develop timeline, test refactored code

    Identify the bespoke code:


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


    Develop a code migration plan:


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


    Refactor the migrated code:


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

    Migration Training Strategy for CMS users

    User Training PlanChecklist
    Create DocumentationIdentify features, create comprehensive user manual, include visual aids, ensure easy navigation
    Create TutorialsCreate video tutorials, break down into manageable segments, ensure easy to follow, make accessible
    Conduct WorkshopsHold regular workshops, use manual and tutorials as reference, provide platform for questions and feedback
    Onboarding PlanGeneral training, unique training, workshops, feedback and refinement

    Create Documentation:


    • Identify all the features of the new CMS
    • Create a comprehensive user manual with step-by-step instructions for each feature
    • Include screenshots or videos to make the documentation more visual and engaging
    • Ensure that the user manual is easy to navigate and search
    FeatureDescriptionInstructionsScreenshotsVideos
    Content CreationCreate new content for the websiteClick on “New Content” button, select content type, fill in fieldsYesYes
    Content EditingEdit existing contentClick on content to edit, make changes, saveYesYes
    Media LibraryStore and manage media filesClick on “Media Library” button, upload or select file, manage filesYesYes
    User ManagementManage user accounts and permissionsClick on “User Management” button, add or edit user account, set permissionsYesYes

    Create Tutorials:


    • Create video tutorials for each feature of the CMS
    • Break down each tutorial into manageable segments
    • Ensure that each tutorial is easy to follow and understand
    • Make the tutorials easily accessible on a company intranet or learning management system
    FeatureTutorial TitleTutorial LengthTutorial DescriptionLink
    Content CreationCreating New Content5 minutesThis tutorial provides step-by-step instructions for creating new content in the CMS.[Link]
    Content EditingEditing Existing Content4 minutesThis tutorial provides step-by-step instructions for editing existing content in the CMS[Link]
    Media LibraryManaging Media Files6 minutesThis tutorial provides step-by-step instructions for managing media files in the CMS.[Link]
    User ManagementManaging User Accounts8 minutesThis tutorial provides step-by-step instructions for managing user accounts in the CMS.[Link]

    Conduct Workshops:


    • Hold regular workshops to provide hands-on training for users
    • Use the user manual and video tutorials as a reference during the workshop
    • Provide a platform for users to ask questions and provide feedback
    • Record the workshops for future reference
    Workshop TopicWorkshop DateWorkshop TimeDescriptionRecording Link
    Content CreationJune 1, 202210:00 AM – 12:00 PMThis workshop provides hands-on training for creating new content in the CMS.[Link]
    Content EditingJune 2, 20222:00 PM – 4:00 PMThis workshop provides hands-on training for editing existing content in the CMS.[Link]
    Media LibraryJune 3, 20229:00 AM – 11:00 AMThis workshop provides hands-on training for managing media files in the CMS.[Link]
    User ManagementJune 4, 20221:00 PM – 3:00 PMThis workshop provides hands-on training for managing user accounts in the CMS.[Link]

    Onboarding Plan:

    Onboard PlanTimelineDescriptionDeliverables
    Week 1: Introduction to the CMSDays 1-5Provide an overview of the new CMS and its features, as well as the benefits it offers.
    Day 1Kickoff meeting to introduce the project team, goals and objectives of the CMS.Project Team introduction presentation
    Day 2Overview of CMS features and benefits.CMS features and benefits presentation
    Day 3-5General training sessions on how to use the CMS.User manual, video tutorials, and workshops
    Week 2: Department-specific TrainingDays 6-10GProvide specialized training for each department or team to focus on the unique features and functionality relevant to each department.
    Day 6-7Training sessions for Marketing team to understand and utilize the CMS to manage their content.Marketing training manual, video tutorials, and workshops
    Day 8-9Training 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 10Recap and Review session to ensure that all the department understands how to use the CMS effectively.Department-specific training materials, workshops
    Week 3: Advanced TrainingDays 11-15Provide additional training for advanced features or integrations.
    Day 11-12Advanced training sessions on CMS’s integrations with other software tools.Advanced training manuals, video tutorials, and workshops
    Day 13-14Advanced training sessions on CMS’s APIs and how to use them to optimize content management.Advanced API training manuals, video tutorials, and workshops
    Day 15Recap 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 RefinementDays 16-20Encourage 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-19Solicit feedback from users on the CMS and training materials.Feedback surveys, feedback meetings
    Day 20Final meeting to review feedback and make any final adjustments to the training materials and the CMS.Final training manual, video tutorials, and workshops