when we start a new office 365 project, we will have a classic team site created for us at the root https://ourcomapnyname.sharepoint.com/. but now we want to follow the flat structure of sites and star using hub sites. so for this i am not sure what are the appraochies we can follow to :-

  1. convert the current classic team site into a communication site. we need to convert it into a communication site, since this is the template advised (by Microsoft) to be used for hub sites. as we want to set our root site collection to be the parent hub site for our company .

so what are the approaches we can follow? can i simply delete the root site collection, then create a new communication modern site at the root url of our tenant?

5 Answers 5


At #MsIgnite, Microsoft just announced a way to convert the root site into a modern communication site using PowerShell, but, this new PS command is not yet publicly available. So, currently, there is no way to directly convert root site to Communication modern site.

Deleting and recreating root site also is not a way because there is no way to create a modern site with root site address.

There is a similar blog about this topic for your reference: SharePoint Online- Enable New Modern experience on root site collection

In addition, if you're a global or SharePoint admin in Office 365, you can convert any existing site to a hub site using "Convert to hub site" button in new admin center. So, you can register hub site on the root site, then set hub site settings on Modern pages or create a Site Page page and set the new page as homepage.

  • Hi Kally, it means we can convert classic team site into hub site, but the display will be same(classic) for the root site. so how we can edit the top navigation in it (it is available in modern UI)? Commented Mar 25, 2019 at 13:46

Just today I was able to replace the root site collection for our dev tenant with a communication site.
The method I describe below:

  • Does not use templates in the manner described in a previous answer on this thread.
  • Will apply any site designs associated with the tenant and/or permit the post-hoc application of any themes or site designs.
  • Has the added benefit of deleting your old root site collection from the recycle bin - so archive or copy anything you may need before performing the below steps.
  • I will be the first to admit that this solution feels a bit hack-ish, but given that the PowerShell and o365 CLI methods do not operate in the expected or desired manner when trying to perform this very particular action, it really is the only way I have found to place a pristine new Communications site at the root of your SharePoint Online Tenant. After that, you can make it a Hub Site.

None of the following worked:

  • PNP PowerShell commands: New-PnPSite and New-PnPTenantSite after deleting the root site collection. - Neither of which permitted a Communication Site to be created.
  • SharePoint Online PowerShell command: New-SPOSite using the 'SITEPAGEPUBLISHING#0' template switch would not work either.
  • Even using the new o365 CLI also did not permit creation of a Communications site at the root.

What did work:

  1. Using the UI in the SharePoint Online Tenant Admin site (https://Tenant Name-admin.sharepoint.com), manually delete the root site collection. It will go to the recycle bin - which is fine.

  2. Create a New Site Collection using the UI. Because the root site collection is missing, the only location you can select in the "Web Site Address" will be your tenant root.

  3. To select a template, click the custom tab and ensure that 'Select template later' is selected. Fill in the rest of the information required and click OK. (see attached image)
    • If prompted, ensure that the checkbox is checked to delete the former root site collection from the recycle bin.
  4. After the Admin site has finished the site creation process, open the root site collection URL. You will see a tabbed template selection control prompting you to select a site collection template. Select any value using a left click. Then, right click the same selection and choose 'Inspect'.
  5. Your browser's F12 Dev Tools will open up scoped to the element we want to inspect. it will look something like this: <option value="STS#0">Team site (classic experience)</option>
  6. Change the option's value attribute to SITEPAGEPUBLISHING#0 so that this:

        `<option value="STS#0">Team site (classic experience)</option>`

    Now looks like this:

        `<option value="SITEPAGEPUBLISHING#0">Team site (classic experience)</option>`
    • Disregard any text between the opening and closing of the Option tag. It is utterly meaningless for our purposes*
  7. Then make sure that your changes to the DOM became effective by clicking on another DOM element in the F12 Dev Tools.

  8. Finally, click the OK button on the form in the Browser Window

Upon success, you will be prompted to confirm the site's security groups (i.e.: Visitors, Members, Owners).

Your root site collection is now a communications site. It will default to the Topic site design layout.

Create A Communication Site At The Root Of Your SharePoint Online Tenant


You actually can create a modern root sitecollection. I've been doing this since 2017, works fine. (I won't guarantee it will keep working, use this method at your own risk)

  1. First you'll need a communications site template (a .wsp file)
    1. Create a communication site
    2. Save the communication site as a template (/_layouts/15/savetmpl.aspx)
  2. You'll have to permantently remove your root-site (this will delete all data in your root sitecollection!)
  3. Create a new root sitecollection and select Choose a template later (under Custom)
  4. After your root sitecollection is created visit it
  5. Now you'll be asked to select a template, go to the solutions gallery
  6. Upload your communications site template (.wsp) and activate it
    1. If you're unable to upload your template you'll need to disable DenyAddAndCustomizePages
    2. To do this connect to your SPO tenant using Powershell: Connect-SPOService https://yourcompany-admin.sharepoint.com
    3. Disable DenyAddAndCustomizePages for the root: Set-SPOSite https://yourcompany.sharepoint.com -DenyAddAndCustomizePages $false
    4. Try uploading the template again
  7. Go back to your root site, now you'll be able to select your template under Custom
  8. Apply the template and enjoy your modern root site!

Although this is an old question, Google returned it when I was looking for a way to replace my SharePoint root site (classic team) with a modern communication site and use it as a hub. On the day I was searching MS announced a new feature: 'Site Swap'. So, for anyone else in my position, a single PowerShell command will do the job - Invoke-SPOSiteSwap. At the time of writing it was still being rolled out to Office 365 Organisations

I could not move a hub site, so I had to un-register the hub site then re-associate the other sites after the move. This was still a lot easier than deleting and re-creating the root site :)


In addition to swapping out the root site as described by @Diarmuid Deans, it seems it will soon be possible to Apply the communication site experience to the root site (see documentation to Modernize your root site).

The respective Road map item is scheduled for "November CY2019" (see roadmap).

According to the documentation the following PowerShell command can be used, once the feature is released.

Enable-SPOCommSite -SiteUrl https://contoso.sharepoint.com

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.