Site Navigation content Modelling
Hello,
I'm currently architecting a solution and thinking about how I will implement navigation. On the roadmap I see an item related to navigation structures, https://portal.productboard.com/kenticoxperience/1-xperience-by-kentico-roadmap/c/234-advanced-navigation-modelling.
Does anyone have any insight into how best to approach modelling my navigation now so that when this functionality is released I don't have to do major surgery? e.g. should I use content hub items for the menu with a certain structure that will make it easier to migrate to the above approach when it is released?
Environment
Xperience by Kentico version: [30.8.0]
.NET version: [8]
Execution environment: [SaaS]
Answers
Hi @davidfahy,
The exact strategy for advanced navigation modeling is in future XbyK releases https://portal.productboard.com/kenticoxperience/1-xperience-by-kentico-roadmap/c/234-advanced-navigation-modelling. as you mentioned and yet to know full details on it.
A recommended approach for navigation modeling in Xperience by Kentico is to keep navigation logic separate from the content tree and instead use reusable content hub items along with effective Taxonomy tags.
Why we should opt for:
Reusable navigation content: By storing navigation menus as content hub items, you enable reusability across different channels which makes it much easier to manage links, groupings, or even apply taxonomy tags for categorization or filtering.
Separation from content tree: Avoid using the content tree to define navigation, as this makes navigation less reusable, harder to maintain, and not future-proof. Tree-based navigation also has negative effects on caching and performance in complex sites.
Taxonomy and flexibility: Using content hub items allows you to add fields like taxonomies & tags, channels/sites, visibility, or language, which will help you adapt the navigation to different contexts and future migration needs.
Example: In content hub you can create all the navigations and classify each with taxonomies specified under one or more tags.
Set multi tag at content level:
Set single tag at content level :
When rendering it at different levels you can effectively apply the tag filter.
Thanks
David,
TLDR; both content tree and Content hub navigation modeling are supported today - so you can choose whichever option fits your marketer's workflow best.
When we add the advanced navigation feature it is very possible it will be a metadata structure for hierarchical relationships between reusable content items, so that navigation items can continue to be modeled as needed. It will solve the main disadvantage of using the Content hub for navigation today - less than ideal editing UX.
In the past, I always recommended modeling navigation as dedicated content-only items in the page tree with earlier versions of Kentico because
- Navigation is dedicated content, not a property of all pages
- Cache invalidation has less of a negative impact with dedicated navigation items
- There was no where else to manage navigation!
However, in Xperience I lean towards Content hub navigation modeling because that will always be valid - you can model whatever you want in the Content hub!
Non-url web page items are a feature we added to Xperience to support navigation early on in the product's history but we would prefer to no longer have that feature at some point in the future (no announcements about this today 😅). So, although the editing UX of web page tree navigation is nicer, it's slightly less future proof.
By the time we release advanced navigation support, AI should be able to help you with the content transformation to adopt it if for some reason we don't include support in the product itself.
Btw, Nikhila, that's a pretty creative solution. I never thought of using Taxonomy for navigation 🤔.
To answer this question, you have to login first.