How can I test search in a password-protected staging environment?

If your staging environment is not publicly accessible, then you will need to allow our crawler access to it.

There are a number of ways to achieve this if you want:

  • The easiest way to do this is to look for Sajaribot - at the start of the user-agent in HTTP requests, and allow these requests.
  • It is also possible to whitelist a range of IP addresses used by our crawling infrastructure. We generally recommend that you check these often as they are likely to change. Our primary crawling system runs within Google Cloud and has a very large and dynamic address range. Raise a request and we will get back to you with the current IP list.
  • If this is difficult, you can always index your production site instead, and then test new search interface integration on your staging site using your production data. This presents no performance issues and will not change the search functionality of your production site. This method allows the UI to be developed without the need for us to index your staging site.

How to hide a field in a search interface?

Background

When you generate an interface via console for a Site Search collection, we return title, description, URL, and image(optional) in the search results. In some instances, you might want to hide title, description, or URL.

Limitation

Our default interface uses URL field for click-tracking, and it must be returned in response, otherwise, the click-tracking won’t function. Hence, if you try to remove URL field, it will return an error:


tracking field 'url' missing from result.

Instructions

To hide ‘title’ or the ‘description’ field from the search interface:

  1. Generate an interface from the Integrate section in the console.
  2. After choosing the relevant options, and generating an interface, click on “View code“
  3. Add the “fields” parameter in the values object. See example below which will only return and render ‘title’ and ‘URL’:

values: {"q.override": true, "resultsPerPage": "10","q": getUrlParam("q"), "fields":'title,url'}