Recently I've got a few requests to transform classic root team sites with publishing enabled into modern SharePoint sites. The technic described in this article allows you to keep all your existent content, and at the same time allows you to take advantage of the out of the box responsive layouts and modern web parts.
Create a modern landing page
2. Click on settings and then "Add a page":
Once created give it a name and build your new landing page.
Once you've built it according to your needs go to "Site Contents".
Open the Site Pages library.
Click on the "Show Actions (…)".
Click on "Make Home Page".
Manage the navigation
The new landing page is being displayed as a modern Team Site showing just the vertical navigation, to use the horizontal navigation follow the steps below.
Go to Site Settings.
Click on "Navigation Elements".
3. Uncheck the "Enable Quick Launch".
Create a full width landing page
Even though you now have a modern landing page the content is still being formatted like a team site. To get it like a modern communication site with a full width top area and centered web part zones I've used a modified version of the Team Site Full Width Extension built by Luis Ribeiro.
This extension will make your site full width giving it a modern look and feel you are looking for.
To install the extension, follow the steps blow:
Download and extract the solution.
Open your App Catalog and upload it.
Run the install.ps1 file.
Provide the URL to the site collection where you want to apply the solution.
Type Y to make the first web part zone full width.
Type N to just center all the web part zones.
The result will look like the image below.
Conclusion
This is not the only way to make your root site as a modern SharePoint site, this approach is suitable for scenarios where you need to keep your classic pages as they are but still want to take advantage of the modern SharePoint features.
If this approach is not exactly what you need have a look at this thread in the Microsoft Tech Community.
As always, the code for this solution on GitHub, feel free to use it and contribute to make it better.
Joao Ferrerira
Office Development MVP | SharePoint Team Lead at Bindtuning