Or the 'SSA' as it will be known is used in two distinct types of areas:
- Searchable navigation - the search results pages, which is presented when a user enters a query and clicks on the 'Search' button. This is also considered the same when the user is presented with an advanced search form.
- Browsable navigation - pre-built search result links based on one or more category (or facets as we will come to call them) listings.
As sophisticated search mechanisms become a more important part of any site, it is necessary to offer users both options:
- a search interface - entering search terms, and
- a browsable interface - clicking on pre-built links that allow the user to drill down through results.
Thankfully SOLR can provide both of these types of interfaces with just a little bit of development work. The searchable interface is available straight out of the box, whilst the browsable interface uses the facets that are gathered from the indexing of the documents.
The site search is the most common of the search interfaces, with a well recognised, usable and understandable paradigm:
- The user enters text in the box
- The user clicks on the 'Search' button
- Results are presented to the user
At this point the user has a couple of options:
- Clicking on the next and previous page links if available
- Using different search terms
Rinse and repeat until one the user either a. finds what they want, or b. does not, gets frustrated and goes elsewhere.
If no results are found, then it is user friendly to suggest resources that may be of interest, this is not something that will be covered in this series of documents, instead we will be assuming that the search query always returns enough results to be of use to us.
The above is the most basic of a search interface, an extension to this is the advanced search interface. The advanced search interface allows the user to not only use a query keyword in the search but also select various categories (or facets) to further restrict their search. This is subtly different from using the browsable interface as the user is providing greater information to the SSA to retrieve more refined results, where the browsable interface helps to refine existing search criteria, or presents pre-built criteria with no search keyword.
Having these two interfaces allows the user to choose a quick search with just keywords which gives un-restricted results in a minimal amount of time, or alternatively take extra time to enter more details and receive more focused results. In either case, this then leads to a browsable interface.
Examples of searchable navigation These pictures were taken from CareerOne, one of Australia's leading Job search sites. As a caveat, synapticloop has worked on this site.
Shown below, the CareerOne simple search interface:
The above search interface image shows just a simple keyword entry box and a prominent 'Search' button, allowing users to quickly receive results with very little effort. Note that there is a link to the more advanced search, for those users that wish to spend some extra time filling in more details in return for more focused results.
When clicking on the link, the advanced search interface is displayed:
You will notice that the advanced search has all of the available options, however you may not always want to present the user with so many options, a half-measure is to present the most used options to the user in a cutdown interface which balances speed of input and search restrictions. On the home page of CareerOne, the user is presented with the following:[caption id="attachment_340" align="alignnone" width="231" caption="The CareerOne semi-advanced search interface showing just a few of the more popular facets to narrow down the search"][/caption] All of the above images fall into the searchable interface, there are two places where the browsable navigation is used which we look at next.
Examples of browsable navigation
The browsable interface is utilised in one of two places. The first being the search results page. After performing a simple search for the keyword "java" I am presented with the following results.
You will notice that I am given the choice to either search again, click on the 'Advanced Search' link, or alternatively refine my search by clicking one of the links on the left hand side to further refine my search. From the image, the search can be refined by:
- Industry type,
- State, or
- Job Type
Clicking on any of the links within the browsable navigation will further refine the search and narrow down the results to be more focused. More facets are available off the bottom of the image including:
- Date posted, and
This is one of the parts that we will explore to make the SSA more SEO friendly. The second part, which forms another equally useful part of the users' searches is the fully browsable navigation. Once again on the home page of CareerOne, the user is presented with a pre-built navigable list based on the Industry category:
From hereon in, the above example of browsable navigation will be calledsearch result snippets or just snippets for short.
The categories are enumerated and show the name and number of jobs available for each industry, allowing users quick access to a select number of facets. This too can benefit from being SEO friendly, and in fact is one of the ways in which current sites increase their SEO by using exactly this sort of browsable navigation.
Whilst slightly off-topic, the way in which the latter version of browsable navigation is generated can come in one of two types. Either the results are live and updated with every page hit, or alternatively, generated at suitable intervals and cached. We will not concern ourselves with the way in which this caching strategy is implemented, what we will be focusing on is the way to generate the browsable navigation in an SEO friendly matter.
We will start looking at the various URL encodings and start evaluating them against some arbitrary checklists including:
- SEO friendliness,
- Implementation complexity, and
- User satisfaction
The encoding types have been numbered from 0 to 5 and whilst the enumeration and numbering is at best arbitrary, from my experience with search engines and websites, the arrangement reflects a relative order from least SEO friendly to most SEO friendly.
Note: For all types of encoding, the URL has been placed on multiple lines, one parameter per line for readability and understanding, of course when typed into the browser address bar, this would be on a single line.
So, let's start with the first, most basic - Type 0 - Request Parameters.