Notes From SharePoint Online Migration Planning

There are a lot of good blog posts out there which describe the things you should consider while migrating your SharePoint on-premise sites to Office 365-SharePoint online. What you will learn is that the most important step in any SharePoint migration is the planning; and yes, it is !

For planning SharePoint migration, you need a lot of information about your source environment so that the planning and execution of the migration can be as smooth as possible. From my experiences of SharePoint online migrations, I’ll try to jot down some notes which might be useful in planning migration and help you prepare for the dependencies before the actual migration starts.

Generate source inventory reports

Most of the migration tools in the market provide a separate tool or utility that can generate inventory reports and provide you an insight into the source SharePoint environment. If you are not using a migration tool (which is pretty rare) or find that the reports generated by the tools are not in a format you want, you can always write custom PowerShell scripts to export reports with the details you want. A few of these tools are not free and that can also be a deciding factor to write your own scripts. I have found CSV reports to be very handy because it enables you to sort, filter, categorize and present data very easily which is very important in planning phase of the migration.

Here is some of the information you would want from your source SharePoint environment inventory reports to plan the migration,


  1. Size of the site collections
    This is probably the most important piece of data you want from the source enviornment for planning. This tells you approximately how much content you are going to migrate to Office 365 and helps in planning and sequencing the migration of site collections and define a schedule.

  2. Number of subsites in each site collection
    There is a boundry or a ‘recommended’ boundry to the number of subsites you can create in a site collection in SharePoint online.

    If you are exceeding that limit, you may want to consider restructuring the subsites in different site collections,

  3. List item count/Large lists
    Sites with large lists may take more time to migrate. Knowing the list item counts in the source lists and libraries will help you plan/sequence the migration of sites.

  4. Item versions
    In SharePoint environment without any governance setup, you may come across items that have many versions. I have seen documents with 2500+ versions with each more than 1 MB in size. Now that is a lot of data, some of which might be unecessary.

    During the planning phase, extract information about such documents having more than ‘X’ number of versions so that these can be cleaned up in the source site itself and then migrated to SharePoint online.

  5. Site last modified
    There may be sites in your source environment which have not been modified for years. If the source is a SharePoint 2007 environment, there is a possibility that a few sites may not have been modified for more than 5-6 years. Having information about such sites can help you get in coversation with the business users and decide if the these sites must be archived and not migrated to the SharePoint online environment.

    Refer :

  6. In-use custom features
    If some custom features are activated on site collections/subsites, there might be some custom functionality (fields, content types, webparts etc) in use in that site. You should know about such sites to plan the remediation/re-development of such custom functionalities in SharePoint online or atleast to anticipate what are the possible issues in the target migrated sites.

  7. Lookup columns
    Most of the migration tools handle look up columns pretty well but it is good to know the list of lookup columns in a site so that these can be tested thoroughly post-migration.


Plan for Checked-out files

During the migration, you will come across files which are checked-out for editing by users. There are cases where users have uploaded files and never checked in a single version.

Extract a report of such files through your inventory scripts which will enable you to communicate to the business users in advance to check-in the files and ensure the migration of the latest version. If you do this communication during the migration execution as and when you come across such scenarios, you will lose some time in the comunication, user turn-around and then migrate the files separately.

User mapping

Identify your user migration scenarios,

  • Are the users being migrated to a different domain than the source?
  • If no, are the users getting migrated as-is to SharePoint online using migration tool?
  • Are the Distribution lists and AD groups added to the source site SharePoint groups available in the target AD ? If yes,are they getting migrated as-is?

A pilot migration can help clearly understand if the user, distribution list and security group migration scenarios are working properly. If the as-is migrations are not working, you may need some sort of user mappings from source user IDs to target user IDs. Knowing whether user mapping is required or not before the migration execution starts can save you a lot of time

Most of the migration tools allow us to import user mappings through a CSV/XML file. All the information you need (users list from on-premise AD, distribution list names and email IDs) can be collected and user mappings can be created in desired format before the migration execution begins.

Use the SharePoint online migration API

The default way migration tools connect and migrate content to SharePoint online tenant is through CSOM. In case where we want to migrate lists or libraries with large number of items, the CSOM approach is slower since the CSOM calls are throttled.

The SharePoint online migration API overcomes this :

Most of the migration tools now support this. So know your tool and understand how you can leverage this option because this approach has greater migration throughput then the CSOM approach.

Take only what you need

A SharePoint environment with no governance or archival mechanism in place can have a lot of unecessary data stored over the years. Since you are paying for the amount of storage that you use in SharePoint online, its best to clean-up the sites and data in the source environment and migrate only relevant data. Also, consider point # 4 and #5 from above for this.

This is an article from my blog :