We have split up a site with a massive amount of sub sites into some site collections and in the URL hierarchy some sub sites are site collections, i.e:

top level -> Site collection 1 | SC2 | SC3 | SC4
                                  |     |
                                  |     --- | Normal sub site 1 | SB 2 |
                                   --- | SC5 | SC6 |
                                                 --- | SB 3 | SB 4

I had a look at solutions like http://spcrosssitenav.codeplex.com/ http://www.shillier.com/archive/2011/03/17/cross-site-collection-navigation.aspx But they only display all site collections in a list with no hierarchical structure. They also don't display sub sites (that are not site collections) but that's a not a big problem as I could implement that myself.

Has anyone done this before and have any suggestions on how to provide a navigation that supports a structure like this? Preferably dynamic...

Thanks in advance.

2 Answers 2


This sounds like you would need to create a Custom Site Map Provider that fetches your site collection hierarchy. You could then point your menu at the new provider and have it render as if all the site collections were merely child sites.

You would have to consider security trimming as well as caching so that the results are 1) valid and 2) fast. If you have a lot of site collections or a lot of users, you will need to include caching in your design from the outset or else you will cripple your page response time.


A few options: Use the XML sitemappath provider. You need to deploy the sitemaps to the bin of your webapplication and all navigation elements can make use of that provider:

the other option: a custom service application which also provides an interface to administrate the navigation nodes. Wouter van Vught made a writeup on custom service applications and created a navigation demo :

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.