At my current gig, Slater Hill, we recently dropped WordPress as our web-publishing platform in favor of SharePoint Online within Office 365. We decided that, as an Office 365 partner and consultant, it was time to put our money where our mouth is when it comes to web platforms. So here we are, open for business using the Public Website that comes with Office 365!
The included Public Website is based on SharePoint Online, but it’s not a full-featured SharePoint site collection, and does not make use of all the SharePoint Publishing features. In fact it’s quite stripped down. However, for small to medium-sized organizations looking for an easy-to-use website hosting platform, it’s probably got everything one needs. If you’re already an Office 365 customer and you don’t have advanced publishing needs, it’s even a bit of a no brainer (and if you need more, there are apps in the Office Store to extend the platform without doing your own customizations).
One thing we were particularly interested in seeing in this site was friendly URLs; for example, “http://www.slaterhill.com/solutions/workflow” instead of “http://www.slaterhill.com/Pages/workflow.aspx“. We were hoping to divorce the navigation from the site’s physical structure using Managed Metadata-driven navigation, a great new feature in SharePoint 2013.
Now, I know there’s MMS-driven navigation in the Office 365 Public Website. I can see it by inspecting the starter pages Microsoft includes out of the box. If I open the Page Ribbon for one of those pages, say, About Us, I can click the “Edit Navigation Properties” button (not a standard SharePoint 2013 command):
… and I am on the EditTermProperties.aspx admin page, with a TermStoreId and a TermId showing in the URL. Excellent! This proves there is an MMS Term Store driving the built-in navigation of my site. And with this edit screen, I have the power to modify the Friendly URL for my page, which will not be bound to the physical location of my page within the Pages library!
It all starts to fall apart
So what I did next was all wrong.
Being a “SharePoint guy” (and somewhat eschewing the user-friendly tools that seem tacked on to the O365 Public Site), when I wanted to add my own pages I proceeded straight to the Pages Library and started creating items right there. I can see that Office 365 has provided me with a few presets – great.
My newly-created pages did not automagically appear in the Top Links Bar of my site – which is fine with me, because all the Pages exist physically at the same level (unless I use folders), and I want to lay out my navigation my own way.
So having created my pages, I manually added direct links to them in the top bar using the EDIT LINKS command, as shown:
This all works just fine. But then I realized that doings things this way resulted in “non-friendly” URLs (not user friendly, and not search-engine friendly) – for example, as shown above, “/Pages/solutions.aspx”. I want the structure of my navigation to ignore/mask the physical organization of my pages, and also to be “SEO friendly” – e.g., the page shown above should appear to live at www.slaterhill.com/solutions, and a page logically stored within Solutions should be like this: www.slaterhill.com/solutions/document-management.
So I know from further up in this article that creating a Page in my site automatically creates a corresponding entry in my Managed Metadata Term Store for navigation. And I know the quick way to modify those entries – in the Page Ribbon, using the Edit Navigation Properties button. I go to one of my new pages, open the Ribbon, and voila:
No Edit Navigation Properties option!
Now I’m confused. Why is that option now missing from the button? I return to one of Microsoft’s out-of-the-box pages, and the option is still there. I decide to take matters into my own hands and barge my way into the Term Store Manager page. However, when I click the wheel icon and look for Term Store Management (site collection level) … that link has been removed in the Office 365 Public Website.
Just in case the page is still there, and it’s just the link that’s missing, I point my browser to /_layouts/15/termstoremanager.aspx … and get a blank white page. So the entire feature has been removed. Hmmm.
Perhaps the navigation in my Public Website is consuming a Managed term store at the Farm level? Or, I should say, at the Office 365 Tenant level? I browse to my Office 365/SharePoint Online admin page, then select Term Store in the left bar. Here is what I find:
No joy there. Where is this term store? And how can I get my hands on it to manage it?
And then all the answers come to me
As far as I can tell, there are NO tools to manage the out-of-box managed-metadata navigation for your Public Website.
But then I have a breakthrough – by creating a new Page in my site the other way (the more user-friendly way, with the wheel icon). I click “Add a page” under the wheel menu, like so:
When I do this, instead of getting prompted for a file name (as in the Advanced approach), I am asked for a friendly name:
And behind the scenes, when I click Create, an entry is made for me automatically in the Term Store. When I browse to this page using the friendly URL (very important – see the end of this article), under the Page Ribbon – I see an Edit Navigation Settings button! On this page, I can set the “friendly” name of the page, as well as whether this entry is automatically “fixed” to the Top Links Bar of the site.
Since the name/URL of this page is now under management, you can’t modify it manually using the EDIT LINKS bar – this screenshot confirms that:
So if I want my Pages to use Managed Navigation, I must create them using the wheel menu, NOT the Pages Library.
But now I have a new problem: I want nested friendly URLs. I open the Edit Navigation Settings for my page and try to enter “/solutions/business-intelligence” for my Business Intelligence page – and that is not allowed. So it appears I don’t get nested friendly URLs. All my pages will have friendly URLs (hiding the ugly “/Pages/” and “.aspx” characters), but will all appear to be at the same level. And any categorization in my site will not be self-explanatory from URLs my visitors see, e.g., you won’t be able to tell that “Business-Intelligence” falls under “Solutions” from the page address alone. Oh, well.
The final piece falls into place
However, I had one Office 365 discovery left to make. After I had added a page called Solutions and a bunch of pages that fall under it, all of those links appeared across the top of my site – at the same level. In Edit Links Mode (which only seems to work properly in Google Chrome, for some reason), I reorganized the links by dragging the sub-pages underneath Solutions, creating a dropdown/flyout effect. That not only got the Top Links Bar all sorted, but take a look at what dragging the link under Solutions in the physical navbar did to the Friendly URL of the page:
Instant nested Friendly navigation!
So what I’ve learned: in the O365 Public Website, the Add a Page link (under the wheel icon) and the “EDIT LINKS” command ARE the admin tools for managed-metadata-driven navigation! Once you have created a page and its associated term using Add a Page, you can change the term properties with the Edit Navigation Settings button — and the friendly URL path by rearranging the menus. Not ideal, but you do have control.
Final note – important!
When your pages have Friendly URLs assigned to them (which you can change as often as you like without changing the page name or storage location – but don’t change them post-launch or you’ll lose your Google juice), the page can be browsed in either “friendly URL mode” (http://slaterhill.com/solutions/workflow ) or ugly mode (http://slaterhill.com/Pages/Workflow.aspx ). But to get the Edit Navigation Settings option on the Page Ribbon, you MUST be browsing the page IN FRIENDLY URL MODE. The same Page will show or hide that option depending on how you’re browsing that page.