Building a search engine for a website with a content management system is probably one of the trickiest features to get right.
As my colleague Duncan claims, this is all because of Google! We're so used to googling everything and getting very quick and relevant results that we've come to expect this as standard on every website. Expectations from users are so high that it's very challenging for UX designers, developers and testers because the tech behind the scene cannot be compared. Google's algorithm cannot be replicated on your Drupal or WordPress website... but we can get close to it!
Let's explore how you should approach search on your next digital project.
The UX planning before Search
Before you start thinking about the technical implementation, you need to analyse all the use cases for the search on your website and plan the user experience properly.
A good website is made when you do the hard work for your users, your customers.
It's important to plan the user experience to optimise your information architecture, so users can find the relevant information that they're looking for via menus links, banners and calls to action... That's the first steps.
If you have thousands of pages and a lot of content, it can be tricky of course. This is when a search engine really needs to become a core feature.
But even then, adding a search is not going to fix a bad user experience on your website: you need to think about the content strategy, how to tag it properly with themes, location, date, types... You need to think about how users want to filter and narrow down the content to find what they're looking for. Once this is all optimised, then you can think about the implementation.
Technical solutions for a website search engine
When it comes to Drupal, but the same applies to most other CMS, there are usually three options to build your website search.
- The first option is to use the out-of-the-box solution. As I said, whether it's Drupal or WordPress or other open-source CMS, search comes out-of-the-box as a feature. It simply queries the database, but unfortunately, it's not the most accurate when you start searching for multiple words, it cannot easily handle typos or apply different weights when the keyword is in the title or the body text, nor consider the frequency of the words. It's good for a basic solution, but there are better options.
- The second option is to use an external search service such as SOLR or Elastic Search, which can be hosted on your cloud environment like AWS and Azure. Those bring more advanced solutions, and we use them on some of our projects. However, it requires more configuration, ongoing maintenance, and a deep knowledge of the structure, the way to content is indexed It's often a bit of a "trial and error" to find the right parameters between the weighting of the keywords and the ordering of the results. It takes a lot of time to get search results that are satisfactory for many permutations.
- That's why my favourite option, the third option, is to use a SaaS provider who has built a specialist search engine. Our current favourite is Algolia, but there are others like SearchBlox, Coveo, Lucidworks... I've heard about a few more too. A tool like Algolia is much easier to configure, it integrates well with all the platforms for the developers, and it's really fast for the end-users when they run searches on your websites. It also includes my advanced things like: synonyms suggestions, A/B testing, and even personalisation when you have logged-in users. It can help with advanced analytics, and in the future, with AI and machine learning algorithms to predict related results or products recommendation in eCommerce.
To summarise, make sure you invest in a great user experience and information architecture before you spend time looking into the tech and picking the right tool for your needs.
Analytics and future of search
Don't forget to track anonymous users' searches in analytics, because you will learn and uncover valuable insights about what your customers are looking for on your websites in the first place - and then you can test whether they're finding it or not to tweak your search results!
We should also talk about voice search, as it's something that will continue to develop a lot in the next few years... It's a bit more advanced, so I'll keep that for a future episode.
That's it for today. If you're considering revamping your website or need help to improve your current search engine, just get in touch. Don't forget to subscribe to my YouTube channel and follow me on Twitter to keep learning with me and grow your career in digital.
Until next time, stay safe and see you soon.