Top navigation across all CP properties

Right now we have 3 properties if I’m not mistaken:

All 3 act as independent websites since all of them have their own top navigation or none in the case of the docs site.

One thing I like about is that wherever you go the navigation is always the same. It’s easy to navigate to the main sections quickly from any page, including search.

We should consider having something similar across all 3 websites, so they look like they belong together and improve UX for the visitors.


The theme used at WP invokes the header template part from the main site, on all the subsites. And they do use multiple multisites, and have special code for single signon.
The main search uses Google search. It was recently removed because Google was putting ads in. For a week or so, it was WP search and it was not as good.

I believe we use single instances of CP for the docs and the main sites. Our single sign-on uses Discourse, which works really well. Since the sites are separate, we probably would need to keep separate header files and coordinate changes.

What I’m curious about, and maybe @wadestriebel can shed some light on, what’s actually possible in terms of header customization on the Discourse forum? All the Discourse forums I’ve seen look the same in terms of structure and UX.

Thanks for this info, didn’t know that. What I would really love to see us do is a faceted search. So results could easily be categorized and/or filterable. So if user searches for “security” they would see results grouped by “Plugins”, “Guides”, etc. And an option to filter by those categories. But this comes with additional overhead maintaining search and resources needed to run it. If this is something we would want to tackle, Typesense would be a good option to look into. There’s also MeiliSearch, Tantivy, and of course ElasticSearch.

We can build a theme if we wanted to, not sure how much more control this would give us but I am sure it is more than we have now.

For the Directory we will be implementing Algolia, which will support most of this. I can’t see why we can’t roll it out across all the sites. I have already had a chat with them regarding the non-profit free plan so all that is pending is actually implementing it.

For the directory, we could also use MeiliSearch, but the others don’t offer as much built-in support for what we need on that side.

OK, thats good. Once we figure out what to do with the navigation for the main site and docs, we can tackle integration with the forum. Even if we can’t replicate it 100%, we can at least include some top level menu items.

That’s great. If we extend Algolia to include docs and maybe forum posts (should we?), are we still going to be within their free tier limit? We should have a backup in mind in case we reach the free tier limit and can’t afford to pay.

1 Like

All doc pages and all forum posts might push us to the limit, but we could try it :man_shrugging:

No harm in testing it out, and they will stop us if we go over our usage because I am not adding a credit card so :slight_smile:

1 Like

Here is a Discourse plugin:

Yes, no harm in trying. If we hit their limits, we can explore self-hosted option at that time.

I’m going to create a chart and map out the menu items for the menu in the next day or two. So we can have a starting point to discuss and tweak it.

1 Like

Discourse’s built-in search is pretty good, and there is an API endpoint for it:

Given the large volume of content here on the forums (much larger than any other source we have at the moment), I think it would be better to leave the forums out of Algolia, and implement a search page that calls out to multiple sources including the forums API instead.

Similarly for the docs site, we could include the user guides but we probably shouldn’t include all the code reference pages (I think there are several thousand of those).

1 Like

That should work. Nobody cares where search results come from on the backend. We could use API to pull in data from docs site, too. To get better search results, I’ve used Relevanssi plugin (supports 4.9 still) and created a custom API endpoint to ensure search results came from the plugin and not native search. This could also include code references. I’ve used WP search to look for specific functions before, it is helpful. I like the faceted search approach, which allows the user to filter search results based on what they need - plugins, themes, forum, documentation, code reference.