"Faceted navigation” refers to how Ecommerce websites allow visitors to filter and sort results based on product attributes (based on a color, a brand, a price ...). It is often possible to tick several filters to create more advanced/refined combinations.
Relying on an optimized faceted search is ideal to dynamically cover a very large number of queries.
However, it is important to establish some restrictions and optimization rules in order to avoid creating spider traps (when bots get lost in a loop crawling a huge amount of successive pages of random combinations). Indeed, your crawl budget MUST be optimized and every rule should always be established in that regard.
Warning: these recommandations will require a lot of development work as well as some content creation work (in a second phase)
->You will receive further details and recommendations after completion of the semantic studies + staging site
For now, here are some guidelines:
This solution consists in not displaying the URLs in clear/plain text in the source code to prevent search engine spiders from following it and indexing it.
To do this, a couple solutions exist such as the use of AJAX. However, we recommend the following method: link encryption. There are plenty of information/tutorials about this method online. Here is the idea behind it:
The target URL is first encoded on the server side then rebuilt on the client's side (browser) thanks to a JS code. Example of what a search engine spider would see:
If JS is enabled (user's view), a script will decode the ID of the <span> tag and rebuild the link by replacing the <span> by <a
The JS file that allows decoding will have to be blocked by robots.txt via the Disallow command so that Google does not try to decode your links.
You can use the Caesar cipher encryption method for example. Do not use the Base64 encryption method.
After we receive the staging site we will give you the list of filters:
In our faceted search, users will be able to select "co opt" in the number of players filter + "horror" in the type of game filter (for example).
On a UX point of view, the user will also be able to select 2 or 3 types of games if they want to. The user should never be restricted in their choice. However, there will be strict rules for search engines for the way filters can be cumulated.
DO NOT INCLUDE "REGION", nor "LANGUAGE"
There is no search for keywords such as:
Therefore, a lot of useless pages are being created and they are polluting the exploration of search engines - see below
ADD REVIEWS
Having more obvious reviews could be a good addition, UX wise and SEO wise.
Make sure that all links are encrypted, except the "4 and up" stars to create the "best video games" page.
You can see the page "sorting by" options for more explanations
Source: Amazon and BestBuy
When a filter is selected in one category, the other filters of the same category will have to become inaccessible/obscure for search engines. For example, if the user selects "horror", all of the other filters for the type of game category will have to be inaccessible so that it is impossible to have a URL that would look like:
cdkeys.com/psn-games/ps4-games/horror/adventure
It would be useless because there is no search around type of game 1 + 2 +3 etc... and that would waste our crawl budget.
However, users will always be able to cumulate as many filters as they want without any restrictions. The idea is only to limit the accessibility for search engines by encrypting links that we do not want to see visible.
As a result, if a user selected more than one attribute, the generation of the URL should be done in AJAX so that the additional parameter can be found behind a # in the URL. Thus, the URL will be able to be shared, not indexed (or just do not update the URL).
For now, never more than 1 filter can be cumulated. Otherwise, the page will have to be made inaccessible for bots:
In the case where a filter is only giving access to 0 or 1 product, it is useless to make it accessible. A page should not be able to be created if there is less than 2 products. Indeed, if there is one product only then the product page itself should be enough to be able to rank.
The activation of one filter must generate the customization of a dedicated TITLE, H1, and a unique meta description (and of course of a unique URL)
Example below for the section xbox one games:
No filter selected in the section
Title : Xbox one Games | CDkeys
H1 : Xbox one games
Meta-Description : Choose amongst xxxxxx xbox games available at the best price ✅ Instant Delivery
URL : cdkeys.com/xbox-one-games/
1 filter selected: shooting (5400 users search for this keyword every month in the USA)
Title : Xbox one shooting games | CDkeys
H1 : Xbox one shooting games
Meta-Description : Find our selection of xbox one shooting games ✅ Instant Delivery
URL : cdkeys.com/xbox-one-games/shooting
if more than 1 filter is activated, the generation of the URL should be done in AJAX so that the additional parameter can be found behind a # in the URL. Thus, the URL will be able to be shared, not indexed.
A clear architecture will be delivered once we receive the staging site
In order to push your rankings in a very competitive environment, it is paramount to present some content for each of these filters page. In order to do this, please keep in mind that you will need to provide an HTML block able to host some content at the top and at the bottom of these pages
Here is a website where it's been very well implemented (check at the top and at the bottom of this page): https://www.800flower.ae/en/t/categories/anniversary
See pictures below
Listing page
Bottom of listing page
If a filter is selected, the breadcrumb trail has to evolve by mentioning the previous level
No filter selected
CDkeys Home > Category
1 filter selected
CDkeys Home > Category > Filter 1