Classic Site Modernization Breaks Navigation: Root Cause and Fix
🔍 WiseChecker

Classic Site Modernization Breaks Navigation: Root Cause and Fix

When you modernize a classic SharePoint site, the top navigation bar and quick launch menu often disappear or stop working. Users see empty menus, missing links, or a broken site structure after the modernization process. This happens because the classic navigation provider is not replaced by the modern navigation provider during the upgrade. This article explains why the navigation breaks and provides a step-by-step fix to restore it.

Key Takeaways: Fixing Navigation After Classic Site Modernization

  • SharePoint admin center > Classic SharePoint admin center > Site collections: Verify the site collection mode before starting modernization.
  • PnP PowerShell Enable-CommSite cmdlet: Converts a modernized classic site to a communication site, which enables the modern navigation provider.
  • SharePoint site settings > Navigation Elements: Manually turn on the global navigation and current navigation under modern site settings.

ADVERTISEMENT

Why Classic Site Modernization Breaks Navigation

Classic SharePoint sites use a navigation system built on the Structural Navigation provider. This provider stores navigation nodes in the site’s content database and renders them through server-side code. When you modernize a classic site, SharePoint removes the classic master page and page layouts but does not automatically migrate the navigation data to the modern navigation provider. The modern navigation provider relies on managed metadata (for global navigation) and structural navigation (for current navigation) but expects a different data format.

The result is that the site appears in modern UI mode, but the navigation web parts receive no data. The top navigation bar shows no links, the quick launch menu is empty, and custom links added in the classic site are gone. This is not a corruption of the original navigation data — the data still exists in the classic navigation store. The problem is that the modernization process does not trigger the conversion of that data into the format that modern navigation expects.

The Role of Site Collection Mode

A classic site collection retains its site collection mode even after the modern UI is enabled. The mode determines which navigation provider is active. If the site collection mode remains “Classic experience,” the modern navigation provider is not loaded. You must change the site collection mode to “Modern” to activate the correct navigation provider. This is the root cause of most navigation breakages after modernization.

Steps to Restore Navigation After Modernization

Follow these steps in order. Do not skip the PowerShell step — the admin center alone cannot change the site collection mode for modernized sites.

  1. Check the current site collection mode
    Go to SharePoint admin center > Classic SharePoint admin center > Site collections. Select the modernized site and look at the Site collection mode column. If it shows “Classic experience,” the navigation will not work in modern UI.
  2. Install and connect to PnP PowerShell
    Open Windows PowerShell as an administrator. Run Install-Module PnP.PowerShell -Scope CurrentUser to install the PnP module. Then connect to your tenant with Connect-PnPOnline -Url https://yourtenant.sharepoint.com/sites/yoursite -Interactive. Sign in with a SharePoint admin account.
  3. Convert the site to a communication site
    Run the cmdlet Set-PnPHomePage -SitePage Home.aspx to set a modern home page. Then run Enable-CommSite -SiteUrl https://yourtenant.sharepoint.com/sites/yoursite. This cmdlet changes the site collection mode to “Modern” and activates the communication site navigation provider. Wait 5 minutes for the change to propagate.
  4. Enable navigation elements in site settings
    Go to Site settings > Navigation Elements (or Settings > Navigation in modern UI). Turn on Enable global navigation and Enable current navigation. If these options are missing, the conversion in step 3 did not finish — wait and refresh the page.
  5. Add links to the modern navigation
    In Site settings > Navigation, click Add link to recreate your navigation structure. Use the same link URLs from the classic site. You can also use PnP PowerShell to bulk-add navigation links with Add-PnPNavigationNode -Location TopNavigationBar -Title "Link Name" -Url "https://...".

Alternative Method: Restore Classic Navigation Temporarily

If you need the classic navigation back immediately while you plan the migration, you can revert the site to classic mode. Go to Site settings > Site collection features and deactivate the Modern UI experience feature. This restores the classic master page and the old navigation. This is a temporary workaround — the site will lose modern UI features like the modern page library.

ADVERTISEMENT

If Navigation Still Has Issues After the Main Fix

Top Navigation Bar Shows Only “Home” After Conversion

This happens when the site conversion succeeded but no navigation nodes were migrated. The modern navigation provider starts empty. Use the steps in method 1 to add links manually or via PowerShell. You can also use Get-PnPNavigationNode -Location TopNavigationBar to check existing nodes.

Quick Launch Menu Is Missing Entirely

The quick launch menu in modern sites is called current navigation. If it is missing, go to Site settings > Navigation Elements and ensure Enable current navigation is turned on. If it is already on, run Repair-SPOSite -Identity https://yourtenant.sharepoint.com/sites/yoursite in SharePoint Online Management Shell to repair the site’s navigation infrastructure.

Custom Script and Navigation Links Are Blocked

Classic sites often use custom JavaScript to modify navigation. Modern sites block custom scripts by default. If your navigation relied on script injection, those scripts will not run. Remove custom script dependencies and use the native navigation settings instead. You can enable custom scripts at the tenant level in SharePoint admin center > Settings > Custom Script, but this is not recommended for security reasons.

Classic Navigation vs Modern Navigation: Key Differences

Item Classic Navigation Modern Navigation
Data storage Content database (structural nodes) Managed metadata service or site-level structural nodes
Rendering method Server-side master page (v4.master) Client-side web parts (TopNavigationBar, QuickLaunch)
Custom script support Full support via Script Editor web part Blocked by default; use SharePoint Framework extensions
Max number of links No enforced limit (performance degrades after ~100) Up to 200 links per navigation level
Site collection mode required Classic experience Modern experience (communication site)

After you complete the steps above, your modernized site will have a working navigation bar with the same links you had in the classic site. Test the navigation on a few pages to ensure all links resolve correctly. For large navigation structures, use PnP PowerShell to export the classic navigation nodes with Get-PnPNavigationNode -Location QuickLaunch and import them into the modern site. This saves time compared to manual link entry.

ADVERTISEMENT