When you update the navigation on a SharePoint hub site, the changes do not appear on associated sites. This problem occurs even after clearing the browser cache and refreshing the page multiple times. The root cause is a combination of how SharePoint caches navigation data at the site collection level and how the hub navigation feature propagates changes. This article explains why the navigation fails to update and provides a reliable fix to force the refresh.
Key Takeaways: Fixing Hub Navigation Updates on Associated Sites
- Site Settings > Regional Settings: Changing the time zone triggers a cache refresh for hub navigation data.
- SharePoint admin center > Active sites: Re-registering the hub site resets the navigation propagation to all associated sites.
- PowerShell Set-SPOHubSiteNavigation: Use the -SyncNavigationToAssociatedSites parameter to force immediate synchronization.
Why Hub Navigation Does Not Automatically Update on Associated Sites
SharePoint hub navigation is stored as a separate object in the site collection of the hub site. When you edit the navigation, SharePoint updates the hub site object but does not immediately push the changes to every associated site. Instead, the navigation data is cached for up to 24 hours on each associated site. This caching behavior reduces server load but causes a noticeable delay when users expect instant updates.
The hub navigation feature relies on a timer job named “Hub Site Navigation Sync” that runs every 15 minutes by default. If the timer job fails or is delayed, the navigation may never sync. Additionally, custom branding or third-party scripts that override the navigation control can prevent the updated navigation from rendering even after the sync completes.
The Role of the Hub Site Navigation Sync Timer Job
The timer job is responsible for copying the navigation nodes from the hub site to each associated site’s navigation cache. The job runs on the SharePoint server farm. In SharePoint Online, Microsoft manages the timer job, but it can still be delayed during peak usage. If you have a large number of associated sites, the job may take longer than 15 minutes to complete, causing some sites to miss the update.
How Caching Prevents Navigation Updates
Each associated site maintains a local cache of the hub navigation. The cache is stored in the site’s property bag and is refreshed only when the timer job runs. Clearing the browser cache does not clear the site-level navigation cache. This is why refreshing the page has no effect. The only way to force a refresh is to trigger a cache invalidation on the associated site.
Steps to Force Hub Navigation Updates on Associated Sites
Method 1: Change Regional Settings on an Associated Site
- Navigate to the associated site that is not showing the updated navigation.
Open the site in your browser. You must be a site owner or have the Manage Web Site permission. - Open Site Settings.
Click the gear icon in the top right corner and select Site Settings. If you do not see Site Settings, click Site Information and then View All Site Settings. - Go to Regional Settings.
Under Site Administration, click Regional Settings. - Change the time zone to any different time zone.
Select a time zone that is not currently set. For example, if your current time zone is (UTC-05:00) Eastern Time (US & Canada), change it to (UTC-06:00) Central Time (US & Canada). - Click OK to save the change.
SharePoint will refresh the site’s cache, including the hub navigation cache. The updated navigation should appear immediately. - Optional: Change the time zone back to the original value.
After confirming the navigation update, you can revert the time zone. The navigation will remain updated because the cache refresh already occurred.
Method 2: Re-register the Hub Site
- Open the SharePoint admin center.
Sign in to Microsoft 365 admin center, then go to Admin centers > SharePoint. - Go to Active sites.
In the left navigation, click Active sites. - Select the hub site.
Find the site that is registered as the hub. Click its name to open the details panel. - Under Hub, click Edit.
This opens the hub settings panel. - Uncheck the box “Associated sites will inherit the hub’s navigation” and save.
This removes the hub navigation from all associated sites. - Recheck the box and save again.
This re-registers the hub navigation and triggers a full sync to all associated sites.
Method 3: Use PowerShell to Force Navigation Sync
- Install the SharePoint Online Management Shell if not already installed.
Download and install the module from the Microsoft Download Center. - Connect to SharePoint Online.
RunConnect-SPOService -Url https://yourtenant-admin.sharepoint.comand sign in with a SharePoint admin account. - Get the hub site URL.
RunGet-SPOSite -Template “SITEPAGEPUBLISHING#0” | Where-Object {$_.IsHubSite -eq $true}to list all hub sites. - Force navigation sync.
RunSet-SPOHubSiteNavigation -HubSiteUrl “https://yourtenant.sharepoint.com/sites/hub” -SyncNavigationToAssociatedSites $true. Replace the URL with your hub site URL. - Verify the sync.
Open an associated site and check if the navigation updated. The sync usually completes within a few minutes.
If Hub Navigation Still Has Issues After the Main Fix
“Hub navigation shows old links even after sync”
This happens when the navigation cache on the associated site contains stale data that was not cleared by the sync. To force a full cache reset, add the URL parameter ?force=1 to the associated site URL and reload the page. For example, https://yourtenant.sharepoint.com/sites/associatedsite?force=1. This forces SharePoint to reload the navigation from the database instead of the cache.
“Hub navigation disappears entirely after re-registration”
If the navigation disappears after re-registering the hub site, the hub site’s navigation settings may be corrupted. Go to the hub site, click Settings > Navigation, and add at least one link. Save the changes. Then re-register the hub site using Method 2. The navigation will reappear on associated sites after the sync.
“Hub navigation updates for some sites but not others”
This indicates that the timer job is failing for specific sites. Check if those sites have custom master pages or scripts that modify the navigation control. Remove any custom navigation code temporarily and test the sync. If the navigation updates, the custom code is blocking the hub navigation. Replace the custom code with a solution that respects the hub navigation control.
| Item | Regional Settings Change | Hub Site Re-registration | PowerShell Sync |
|---|---|---|---|
| Description | Changes time zone to flush site cache | Unregisters and re-registers hub navigation | Uses Set-SPOHubSiteNavigation cmdlet to force sync |
| Complexity | Low | Medium | High |
| Time to complete | 2 minutes | 5 minutes | 10 minutes |
| Requires admin rights | Site owner only | SharePoint admin | SharePoint admin |
| Effect on other sites | None | All associated sites temporarily lose navigation | None |
You can now force hub navigation to update on any associated site using one of the three methods. Start with the Regional Settings change because it is the fastest and requires no admin access. If that does not work, re-register the hub site. Use the PowerShell method for large environments where you need to sync multiple hub sites at once. Remember that adding the ?force=1 URL parameter is a quick diagnostic step to verify whether the navigation data is actually present in the site’s database.