I have always been a defender of using the “OOB” Out Of the Box tool of a product before it comes to adding some custom code to it. However, let’s be honest, for years SharePoint was not great at it when only using out-of-the-box features. I even gave a talk in the past where we discussed how to gain the love back from users.
In the SharePoint world, “Team site” was the default layout for any SharePoint Intranet for years, and still are. Left navigation being super boring, especially when more than 15 links and scrolling 2 meters down the page! So most companies ended to customise their site so much that the next version of SharePoint meant to do it all again.
But with the latest SharePoint modern sites and pages, it’s sleek, minimalist, clean and .. well, not clunky anymore! SharePoint owners are now super excited to use them as their intranet pages.
There is just one problem:
we haven’t been told how to use these as the “top level page” of an intranet. The first page that user will see when they click on the SharePoint homepage: https://mydomain.sharepoint.com.
Thanks to this blog article by Jimmy Hang and reading the comments, I have summarised how to do so. And I can confirm to have repeated the steps in 3 different tenants, therefore, no, Microsoft did not remove the ability to use these “workarounds.”
Delete Top Site
the top site collection of SharePoint already exists (as a boring team site), go to SharePoint admin and delete it (if empty ;-).
Recreate top site collection without selecting a template
Do not select any template, use the option “Custom / select template later”
Create a modern communication site anywhere
Create a new site from the new SharePoint Admin Center or from the “SharePoint” site list, if this option is not disabled for your tenant.
Enable to run custom scripts on self-service sites on your tenant
Preferably from PowerShell for quasi-immediate effect.
Connect-SPOService -Url https://mydomain-admin.sharepoint.com -credential firstname.lastname@example.org Set-SPOSite -Identity https://mydomain.sharepoint.com/sites/CommunicationTemplateOnly -DenyAddAndCustomizePages 0
Save this communication site as a template
Adding /_layouts/15/savetmpl.aspx after the site URL
Open top site collection
When prompted for a template, upload the template file to solutions, activated it.
Create the site using that template
But remember, if Microsoft decides to change only one small parameter in the root site or the template, it may break, so don’t do it in a live environment.