The MVP perspective: How to make the most of Episerver Search & Navigation
Very recently, Episerver has rechristened most of the parts of its platform to more accurately describe what they do. One of the functions that received a new name was Episerver Find, which is now called Episerver Search & Navigation. Its functionality, however, remains the same. And recently, I’ve encountered a few clients who have been using it for quite a while, but aren’t using much of its optimization functions.
So in this post, I will show you some of the out-of-the-box (OOTB) optimization features of Episerver Search & Navigation and show sample implementations I’ve done in the past. A few of you might find that this is old news, but I hope this helps those of you who want to know if they are making the most out of Episerver Search & Navigation.
1. Best bets
Best bets are basically the equivalent of promoted ads on Google Search. While Episerver uses its own ranking algorithm for search results, editors can promote specific content for specific keywords.
Here’s an example of the best bet on a CMS site:
Another example, this time on an e-Commerce website:
As is usual in Episerver, the UI is fully customizable. You can choose to display Best bets differently or just as a normal search result.
How Episerver ‘best bets’ are set up
Navigate to the Episerver Search & Navigation UI > Manage > Optimization > Best Bets
- Select a search term (or search terms) for which to create a ‘Best Bet’ (e.g. Towel)
- Pick the content you want to promote (e.g. Content page, e-Commerce product / category or external link)
- Title and description are optional. If you don’t provide any yourself, they will be auto-populated based on the content you selected to be promoted
- Decide whether the UI will be different between best bets and regular search results
2. Related queries
Colloquially, this option is also known as “People also searched for”. Related queries in Epi Find are created in two different ways:
- Auto-created by Episerver Search & Navigation based on actual search behavior of users – Episerver relates queries based on a couple of algorithms. One example of how this works is that a user searches for a specific keyword, does not click on any of the search results, makes a second query within 60 seconds and clicks on the search results this time. Epi links the first keyword to the second as a related query. No configuration is required, Episerver Search & Navigation takes care of this.
- Manually set by editors or marketers
Here’s an example on a CMS with related queries:
How to manually set up ‘Related queries’
Navigate to the Episerver Search & Navigation UI > Manage > Optimization > Related queries
Similar to related queries, Episerver Search & Navigation OOTB has a set of synonyms which helps it return smarter search results. However, this can also be manually set by content authors and marketers.
Here’s an example of a synonym set for “duvet” and “quilt”
How to manually set up ‘Synonyms’
Navigate to the Episerver Search & Navigation UI > Manage > Optimization > Synonyms
Similar to the above, autocomplete comes OOTB in Episerver Search & Navigation. With a bit of help from designers and frontend developers, you can display suggested results / keywords as your users start engaging with your search box.
5. Weight boosting
By default, these categories are all set to “Medium” when it comes to weight in rankings. However, editors and marketers can modify this based on preferred weights.
6. Optimize content based on Statistics
Assuming you have enabled tracking on your search results, Episerver Search & Navigation comes with a Statistics UI that you can later start exploring and in which you can analyze results. There are several types of Statistics available, including:
Most frequent searches
Using the stats, you can start understanding what keywords your users are searching for on your website.
Tip: Use your top / frequent search keywords for creating Best Bets
You can even drill down into the keyword and see more stats…
Searches without hits
This is where you will see content opportunities. Users tried to search for something for which your website doesn’t have content.
Tip: Either create new content or use the “Create related queries” and/or “Create synonyms” buttons below as these may apply to some of your keywords
Again, you can drill down into the keyword and see what other keywords the users searched for after not getting any hits…
Searches without relevant hits
Unlike above, these are search keywords that generated search results, but failed to produce any the user wanted to click.
TIP: Either create new content or use the “Create related queries” or “Create synonyms” buttons below
7. Integrate with Cognitive Services
With the rise of cognitive services (voice and image recognition services), customers and users have started moving away from traditional search by typing. Some of us have started using voice when searching on Google (I admittedly do this sometimes). But there are also customers who want to just drop an image into the search bar and let the system handle the rest.
An example implementation, available on Episerver Foundation, makes use of Azure’s Image cognitive services, which more or less works like the below.
This is especially helpful for E-Commerce websites with tens of thousands of products, allowing customers to just drag and drop an image of clothing and let the system interpret it.
There’s lots to say about caching with Episerver Search & Navigation but for this specific article, I’m going to keep it short.
The first thing I would check is if I have caching enabled within the Episerver Search & Navigation Client. To enable, you will have to add.StaticallyCacheFor(x) to your query calls into the Episerver Search & Navigation index / service. The x is the period of time for which you want to cache the search results in-app. This would save you a trip to the Episerver Search & Navigation index if the query has already been performed recently and stored within the in-memory cache.
In a load-balancing scenario, you might have to use a shared memory cache / Redis cache to store your Episerver Search & Navigation query results and share across multiple web servers.
Further reading on this topic:
StaticallyCacheFor(Timespan t) – more details from Episerver World
Delayed tracking of Episerver Search & Navigation queries and bulk upload to Episerver Search & Navigation via a scheduled job – written by Jeroen Stemerdink
Common Episerver Search & Navigation caching pitfalls – written by Daniel Dahlin
These optimization features aren’t at all new and if you already are using Episerver Search & Navigation, you should already be able to optimize your site’s search using the above functions. Happy optimizing!