This blog post examines the different options for creating Global Navigation in SharePoint Online. Global Navigation refers to navigation menus that span across multiple site collections.
The first method we’ll consider is navigation driven by Managed Metadata term sets. This has been a common practice in SharePoint for years, so if you’ve been in the game a while, you’ve likely heard of this technique.
How it’s done:
You can see how to implement Managed Navigation with this Support Article from Microsoft.
- It’s OOTB (“Out of the Box”) and works with Classic SharePoint’s Publishing Infrastructure.
- If you are working with publishing within a single site collection, it affords you a lot of flexibility and power to create navigation that becomes contextual to how the user browses through the site (e.g. Breadcrumbs, top and left hand navigation).
- Managed Navigation drives the friendly URL scheme available in Classic SharePoint Publishing.
- Does not work in Modern group-connected SharePoint sites. You’ll need to create Classic Sites and activate the Publishing features in order to use this technique. Managed Metadata Navigation is supported on the Modern experiences within a Classic Site, however.
- Will not immediately apply to all of your sites. You will need to go in to each site and create the term sets for each one. Obviously if you have a large number of sites, this can be quite a bit of work! Not to mention the effort that would be necessary to update links in the future. In other words, you need to create and setup a separate navigation provider for each site collection and populate the links.
- Managed Navigation is not responsive / mobile friendly.
Long story short, if you are using classic SharePoint Publishing, this might be a viable option. But if you’re starting out in SharePoint building something new, we highly recommend you don’t look at SharePoint Publishing. While not deprecated, the classic experiences are basically frozen in time from Microsoft’s perspective. They are entirely focused on the new modern experiences, and much of the power of publishing exists within that framework.
Hub Site Navigation
Microsoft has recently rolled out a new feature to SharePoint Online: Hub Sites. Now you can bring more structure and cohesion to your intranet by associating many group-connected collaboration or communication sites, allowing them to share a common navigation menu. Read more on creating Hub Sites here.
How it’s done:
- Choose (or create) a site that you want to become a Hub Site.
- Run the PowerShell command Register SPO-Hubsite yoursiteURL
- Navigate to your Hub Site in the browser. You should now see a new horizontal menu bar across the top of the page. Choose Edit to begin adding navigation links.
- To associate a site to your new hub, navigate to the site, choose the Cog Icon and then choose Site Information. There will now be a dropdown menu for Hub Site Association, and you should see your Hub Site available there as a choice.
- You should now see the same navigation menu that you configured in your Hub Site across any associated site. Note: it may take a while (Microsoft says up to two hours) for this to take effect.
- The navigation menu is managed in one place. No need to replicate your links in every site, it’s all managed from the Hub Site.
- Dropdown items are possible. Up to three levels of nested items are supported.
- Not a true global navigation. A site must be associated to a Hub Site to receive the menu, and a site can only attach to a single Hub. This means that to use this method to achieve a global navigation menu, you would need to associate every single site to the same Hub, which is likely not the site architecture that is optimal for your organization. Hub Sites should be used to create a hierarchy to your SharePoint environment, such as grouping departments, divisions etc.
- No Security Trimming. You cannot security trim hub site navigation. Any links you put in the hub site navigation will be visible to all users.
- Minimal Visual Customization. This is true for all of the OOTB navigation providers in SharePoint. You are limited to very basic buttons and drop down menus with links. In classic SharePoint with Managed Navigation you could at least use CSS to enhance these menus. In the Modern SharePoint experiences this will be very difficult given Microsoft’s modular CSS implementation, and is not officially supported.
If you have developer expertise in house, creating something from scratch is always an option.
How it’s done:
- If you are using Modern SharePoint experiences, than a SharePoint Framework Extension is the way to go. If you need to make it work retroactively in the Classic Experiences see our post here.
- Choose a data source for your navigation (you could use the Term Store, a SharePoint list or some sort of external Azure hosted service). Write code within your extension to query your navigation data source and render it.
- You can get started creating SharePoint Framework Extensions here.
- Completely Customizable. Being your own solution built from scratch you can make it look and behave exactly howe you want it to.
- Endless Possibilities. The only limits to what you can do with this is what you can dream up, and the development resources you have available.
- Ongoing Management. Once you’ve built it, you need to maintain it. You will need to stay on top of what Microsoft is doing with the modern experiences and ensure that your extension evolves with the SharePoint Framework.
- No Support. Like anything custom built, its fantastic when you have the resources to maintain it. But as people change within the organization, or as resources are reallocated, often these customizations become a burden rather than a benefit.
Full disclosure: we make Masthead. We are pretty proud of it. It’s the culmination of building dozens upon dozens of navigation solutions for clients using all the approaches outlined above. We are intimately familiar with the pros and cons of each, because we’ve worked with all of them.
We think Masthead is something special. We’ve tried to take the best of all the options and the features we’ve seen to be most needed from our experience in the field. It requires no development knowledge, and we’ve made it as easy as possible to get started.
How it’s done:
Learn more at https://masthead365.com. You can easily request a demo, or try the product out for yourself.
- Security Trimming. You can make subsets of menus and links only available to certain users.
- Easily build dropdown menus using a drag-and-drop editor. Arrange your menu items just the way you want them, including nested items. No code required!
- Add icons to your menu items. Choose the perfect visual aid for your menu items from an icon set – no need to hunt down and upload graphics.
- Add your company logo and colours. Make all your sites match your brand in just a few clicks.
- Control the launch behaviour of your links. Want a particular link to open in a new tab? You got it!
- Add a footer. Masthead also supports a footer navigation menu, and a text zone for any other corporate messaging.
- It’s a third party service. We get it because we’ve been there. There’s always something “dirty”, for the lack of a better word, about using Third Party Services (or ISVs – Independent Solutions Vendors – as Microsoft calls us) as part of your implementations. We’re consultants first, and we’ve done everything we can to build Masthead the way we would want it in our own deployments to make it as seamless as possible.
- It costs money. No way to avoid it. It costs $1000 Canadian a year. We think it’s a pretty good deal. To build something like this, whether using insource or outsourced development, resources would easily run you $5000+. That’s five years of Masthead.
Masthead is currently free to use on one site. Give it a try, we’d love to hear what you think. Even if you don’t, we hope you’ve found the information in this post useful.