Tuesday, September 5, 2017

Paid Google Site Search is Going Away. What are my options in Sitecore?

I've seen this email a few times now - and as unfortunate as Google's decision is on removing a product that has powered hundreds of thousands of website's site search - this is real.

What does this mean for Sitecore site searches using GSS?

Depending on the original implementation, it could mean the search page stops working altogether - which could occur if your search results have been served via XML.  The XML results will no longer be served, and therefore your site won't have data to build the results page.

Alternatively, if the GSS implementation was a straight script and tag injection, the search page will still work, but you'll be met with 3-5 advertisements on the top results of your search results.

None of these options are ideal, of course.

In addition to one of those actions occurring on your site, you'll also lose any email support from Google, and be left to the mercy of capped query limits.

What are our options?

Luckily, there are a few.  Here are just some you can explore:

Keep what you can (if you can).

If you've confirmed that Google will still serve results and are okay with advertisements (potentially from competitors) slipped onto your website, then do nothing.  Just remember, if your monthly quota is reached, the search pages will stop showing results.

Leverage Sitecore's OOB Lucene Indexes

Sitecore comes with a fairly powerful search engine library and API, making it pretty straight forward to recreate what Google has been serving all built into your solution.  An experienced Sitecore developer should be able to whip up a straight site search based on a template restricted Lucene index in a reasonable timeline.

Odds are that all styles used in the GSS implementation can be reused for the Sitecore Search API implementation.  If you require a more complex solution such as facets / filtering / sorting, etc - this will obviously require more development time - but can be done in phases if the goal is to change over from GSA as soon as possible.  

If you're in the cloud, try Azure Search service

If you use Sitecore Azure PaaS and on Sitecore Experience Platform 8.2 Update-1 or above, you can use Azure Search are your primary search engine. It works similarly to the OOB Lucene implementation (with some exceptions) but is rather a service that lives in the Azure cloud and connected to your solution via a connection string.

Configuration is handled similarly to a Solr implementation and offers "extreme scalability, simplicity, and stability".  The Azure Search service also guarantees 99.95% uptime as a part of the Microsoft Azure service level agreement and can be easily scaled up or down on an as-needed basis.  
There are certainly some limitations with Azure search as of now, but it is worth exploring when choosing a replacement for GSA. 

More information:

Go with Coveo

Coveo offers an extremely powerful search platform that works on top of Sitecore and comes with all the bells and whistles of what you'd expect from a reputable search company.

Coveo features the ability to provide relevant search results, self-learning/self-tuning search, a secure and scalable cloud service, responsive design, and full integrated Sitecore components.   Coveo OOB allows Content Authors to build rich search pages with Sitecore Page Editor, tune search and promote content using Sitecore Rules Engine, and manage search indexes and crawl schedules via Sitecore Index Manager all without additional development resources.

With Coveo Cloud, you don't need to worry about any additional on premise hardware - but you should still be conscious of the additional license costs associated with this option.

If your goal is to take this opportunity to swap in a more elegant search solution - Coveo can help you upgrade the search experience, as opposed to simply replacing it.  

More information:

Searching with Solr

Solr has been a viable option for Sitecore search for years.  Comparable to OOB Lucene, Solr is an enterprise-level Lucene-based search platform making it easier to scale for larger implementation vs the OOB Lucene engine.    Ensuring compatibility for the version of Solr you should be using is critical in your decision here.

There are plenty of Sitecore provided resources and community driven blogs out there to help you get started.

More information:
Sitecore Docs - Walkthrough: Setting up Solr

Other Plug-and-Play Third Party Search Libraries

If development resources are strapped, you can explore an alternative like Bing Search or Cludo which would likely cut on internal development time, but also comes at an additional monthly cost to keep running.   I personally have little experience working with either of these, but both may be feasible in a pinch. 

Do you know of other options not mentioned here?
Feel free to comment below and describe your experience!