Written by Giles Bennett
Magento's Achilles heel has always been its search functionality. Whether it's returning too many of the wrong results, or not enough of the right results, or - as we experienced in one interesting instance - the same results no matter what search term was inputted, it's always been a weak point. In this day and age where customers are used to searching, and are used to super-accurate results, that weak point can translate into customer frustration which, in turn, translates into cart abandonment. Assuming they ever find the product that they're looking for in the first place.
So here, in no particular order, are three easy suggestions that can be implemented through the admin panel to make search more accurate for your customers.
1 - Review and restrict what attributes are being searchAny attribute in Magento - be it one that is already there when the store is set up, or a custom attribute that's set up to record information about your specific products - can be set to be searchable or not searchable. If your search results are returning too many results, then the chances are that it's because it's searching too many attributes. In the admin panel under Catalogue / Attributes / Manage Attributes, set the filter for 'Searchable' to 'Yes' and press return to filter down your search results. You'll then be shown those attributes which are searched to find matching results.
The first thing to do is to ask if all those attributes really need to be searchable? For each and every attribute that is currently set to be searchable that doesn't need to be, click on, set 'Use in Quick Search' and 'Use in Advanced Search' to be 'No', and save - once you've done that, you'll probably then need to reindex the database under System / Index Management.
2 - Review what people are searching for
A little-known, but very useful, part of Magento's admin panel shows you what people have searched for historically. Under Catalogue / Search Terms you see a list of all the search terms that have ever been inputted into your store - click twice on the 'Results' heading to order them by the most-used first, and you'll see what people are searching for.
If you click on any search term, you're then presented with a number of options. If people are searching for 'jumpers', using the synonym box you can tell it to also return search results for 'sweaters'. You can also use this to correct spelling mistakes - if people are searching for 'jupmers', then you can tell it to return search results for 'jumpers,sweaters' to cover both bases.
3 - Redirect search terms straight to a specific page
If the search terms page in the admin panel reveals that people are searching for a specific brand, or a specific category of products, or a specific product, that cannot be confused with any other brand, category or product (and, to be on the safe side, is unlikely to ever be capable of being confused with any other brand, category or product, then you can miss out the middle man. Rather than having the search return a search results page, which then means that they have to click on the relevant product (which, if they're looking for a particular category of goods won't be an option anyway) you can put the send them straight to the product page, category page or brand page. Just put the page that you want them to end up on into the Redirect URL box, and any search which matches that term (and any synonyms you've specified for it, if appropriate) will take them straight there. It doesn't even have to be a product page - it can be a CMS page if you wish.
With a few simple tweaks, you can rapidly increase the accuracy of search results in a Magento store. In practice it's only likely to be beneficial to review and improve those search terms which have been used more than 5 or 10 times, which is why we suggest ordering by the number of results, but anything you can do to improve the accuracy of the results that customers get, or the speed with which they get to where they want to be, will increase conversions.