Rules to Better SharePoint Migration from 2016 to Online


Hold on a second! How would you like to view this content?
Just the title! A brief blurb! Gimme everything!
  1. Do you have a Migration plan?

    At a high level, the plan is:

    • Choose your SharePoint Online Plan (for most companies already included in o365 plan)
      Compare SharePoint Online options​​
    • Choose a migration tool to help you migrate the content online
      i.e. at SSW we use Sharegate
    • Install the migration tool
    • Migration tool - Configure connections to your source and target SharePoint site collections
    • Migration tool - Migrate your content
      • Structure migration and content (dry-run)
      • Analyse result reports 
      • Fix potential errors and warnings (repeat until you get to zero - see rule #2)
      • Structure migration and content (for real)
    • Remove permissions on your on-premises SharePoint site(s) and give access to SharePoint Online
    • After a week, decommission your on-premises farm​

  2. Do you know how to avoid errors (with Sharegate)?

    Even if you get rid of unsupported content before migration, your first dry-run migrations are very likely to include errors. Here are the most common errors and how to fix them.

    Document ID Service

    Error: Document ID Service feature cannot be automatically activated. Please activate the feature manually from the Site Collection Administration page.

    Solution: Active Document ID feature on SharePoint online (target).



    Error: Copying the content from a MicroFeed list is not supported.
    Copying the content to a MicroFeed list is not supported.

    Solution: Clean up all “MicroFeed" lists as they are not supported to be migrated to the cloud.


    Figure: errors due to micro feed migration

    ​Lookup fields

    Error: Property Receipt: The following values are unavailable: 'XXXXX'. Please specify another value.

    Solution: Disable circular references for lookup fields.

    Calculated columns

    Error: The formula of a calculated column cannot contain volatile functions like Today and Me.

    Solution: Remove Calculated columns using “Me" or “Today" markups (unsupported)


    External Content Types

    Error: Entity (External Content Type) cannot be found with Namespace = 'xxxxxxxxx', Name = 'xxxxx'.

    Solution: Enable/Configure External Content Types if needed on destination (target) .

    Orphan users

    Error: Property 'xxx': The following users and groups were not found: XXXXX The current user has been assigned.


    Property Target Audiences: The Target Audience 'xxxxxxxxxxxxxx' could not be found.

    Solution: The error won't stop the migration of the item, but to get rid of it, the missing user needs to be present in target directory (it can be disabled though).

    Too many Requests

    Error: The remote server returned an error: (429).

    Solution: Re-run content migration migrate them. Big items are likely to give this error multiple times. If this happens, simply use content migration for these specific items on a separate migration task.

    Custom pages

    Error: Warning for version 1.0: Unable to convert WebPart: The content of the WebPart is not in a WebPart Zone for page 'xxxxxxxxxxxxxxxxxxxx'.


    Error: Unable to recover source WebParts: You are not authorized to perform the requested operation.


    Error: This page contains WebParts for which the correct zone could not be found. They have been assigned to the default zone, and may need to be edited manually.

    Solution: Get rid of SharePoint Designer customization on webpart pages.

    Managed metadata

    Warning: This item has values in managed metadata columns which are not supported by the Insane Mode.

    Solution: Remove managed metadata on folders.

    ASPX Pages

    Warning: The Insane Mode does not support copying ASPX pages. The copy will continue without using Insane Mode.

    Solution: you should manually check ASPX pages for errors after migration.

  3. Do you know how to avoid errors?

    There are certain features in SharePoint on-premises that are no longer supported with SharePoint Online. 

    If you migrate using the Sharegate migration tool, you want to have zero errors in their reports. To do so, here are what you should do before considering migration: 

    • Get rid of SharePoint Designer customizations on List form
    Bad example: Page customized using SharePoint Designer
    Good example: Out of the box list view page

    Remove unsupported columns such as:

    • Publishing HTML
    • Publishing Hyperlinks
    • Calculated Columns with volatile functions ('Me', 'Today'…)
    • Managed Metadata columns on folders
    • Get rid of MicroFeed
    Bad example: Sharegate migration report shows error if MicroFeed(s) have not been removed​
  4. Do you know how to prepare your migration? (before migration)

    Before migrating your content over SharePoint Online, you want to get rid of unused or old content. Migration is the perfect time to audit your content and delete what you can. You may also use the migration to identify (and get rid of) Orphan Users, and Documents with Custom permissions (look for SharePoint best practices on permissions).

    Use the Sharegate migration tool to generate reports on your site collections and sites, so you can easily identify problems. Reporting tool comes with a lot of out of the box reports, and you can even create custom ones.

    Figure: Sharegate reporting menu have 4 main reports

    Once identified, check with Site Owners to ensure the content can be deleted. Alternatively, if you don't want to delete content, you can ZZed it.​​

  5. Do you know what to do after migration?

    Although Sharegate migration tool works very well to help you with your SharePoint migration, some manual steps might be necessary to complete the migration. These extra steps include:

    • Configuring any custom Search scopes/refinements
    • Remove permissions from On-premise Intranet (or turn it to Read-Only)
    • Ask users to change their mapped folders
    • Communicate about the changes
    Figure: After migration set your custom refinements so users can filter down into a specific area