Ecommerce SEO: Filtering and Segmentation

An ecommerce site offering a large product range comes with various SEO challenges. Dealing with duplicate content and effectively funneling internal link value are just a few examples.

Google accepts a lot of additional HTML instructions to let you help it, but it still makes a lot of mistakes that might harm user experience. So how do you make sure Google interprets your information the way you want it to?

Here are some ways in which you can have the right pages rank in a large ecommerce environment.

Individual Products or Product Categories?

In a regular webshop most of the textual content is situated in product descriptions. The textual content of a category often isn't much more than a list of description snippets for a number of products. In that case a category page contains a lot of duplicate text and an individual product page is likely to outrank it. When searching for a more generic query like “flatscreen tv” a searcher might however not want to see just that Samsung UE32EH5000.

You can use categories to rank for queries that apply to multiple products. The first step is to add sufficient text to each category.

An extended category description with things like a shopping guide can be located underneath the listed products if that aids user experience, but you need a minimum amount of unique content for each page. Creating content for all the selection criteria and filter options in your shop will be a lot of work and users don’t even benefit from all that effort.

Filtering or Segmentation

How do you distinguish between categories/segments that need to become a separate page and filter, sorting, or pagination options that you might want ignored by Google? Google offers a couple of options to consider.

If you use GET-variables (behind the question mark in a URL), Google Webmaster Tools allows you to indicate how to handle each parameter. This way filter options like “item-color” can be ignored, while distinct features like “brand” can become their own page.

google-webmaster-tools-url-parameter-handling

The Google URL parameter team has created a great presentation about these features.

On-page robot instructions like the canonical tag, rel=next, and hreflang can also be used to indicate how you want Google to handle near duplicate content. But like URL parameter handling, these on-page tags are mere hints for Google. You will discover that they are still often ignored and you will lose a lot of link value to ineffectively canonicized pages.

Stricter Instructions

ecommerce-filtering-options

When you want to make certain you don’t lose any link value to pages you don’t even want indexed, JavaScript offers some great solutions. Your URLs can still hold all the required parameters.

Important segmentation options that represent a page with its own content can get a separate page name. A segment like “flatscreen tv” would become http://www.domain.com/flatscreen-tv.php.

Important subsegments can be represented in the page name or as a GET-variable. “Samsung flatscreen tv” would get http://www.domain.com/samsung_flatscreen-tv.php or http://www.domain.com/flatscreen-tv.php?brand=samsung.

Filtering options that just show, hide or re-order the already shown products can be placed in hashtags. A browser won’t automatically send these along with the page request.

JavaScript should for instance request information from an XML or is could just hide and show information already available in your HTML source. Google doesn’t read this JavaScript by default and only sees what is in the HTML (they only look for clear JavaScript trickery). Samsung flatscreen TVs under $500 would get a URL like http://www.example.com/flatscreen-tv.php?brand=samsung#price=0-500 and all the link value to this URL would be focused at just http://www.example.com/flatscreen-tv.php?brand=samsung.

Even a selection with multiple brands, price ranges or product categories at the same time can be handled with variables after the hashtag. As you can see a very versatile solution.

This way you only need to write text for important pages. You don’t lose any link value to unimportant pages. You don’t have to rely on Google to honor your canonicization hints.

The wrong page will never rank. Visitors can still bookmark and share the full URL. And you determine how many products with their snippets are pre-loaded in HTML and the rest is javascript that doesn’t interfere with keyword focus and duplicate content thresholds.

JavaScript Needs Functionality

One important requirement for using JavaScript to load or hide content is that it needs logical functionality for visitors. Anything else can be seen as a form of search engine spam.

A drop-down menu that never drops down for visitors is nothing more than a hidden block. Its content can be automatically reduced in value and even penalties can be fined when you overdo it. So always keep your JavaScript functional.