How to optimise Demandware for SEO

What is Demandware?

Demandware is an e-commerce software platform for retailers. It allows them to grow and manage tailored digital and mobile commerce sites.

Founded in 2004 by Stephan Schambach, the platform was launched in 2005 and went on to raise $88 million in its initial public offering (IPO). As of today Demandware boasts over 200 well known retailers on the platform including:

demandware1

The chart below from builtwith.com shows the statistics for the top 10,000 sites using Enterprise technologies – with Demandware taking the second highest share at 21.93%.

demandware3

Optimising Demandware for search

I have carried out various technical audits on sites which use the Demandware platform and have compiled a list of a few key themes and potential pitfalls to SEO it may be worth looking out for if you are considering using it or even currently use it!

1. Canonical product URLs

When accessing product pages on Demandware sites there is often a parameter appended to the end of the product URL.

Using the brand Ecco as an example, the product page for the women’s “trace lite” boot can be found via:

Women > Shoes > View All
Women > Shoes > Warm Boots

demandware4

However, the difference is that although both of these products are exactly the same, they reside on different URLs.

https://shopeu.ecco.com/uk/en/ecco/ecco-trace-lite_4137191/4139300?navId=316

https://shopeu.ecco.com/uk/en/ecco/ecco-trace-lite_4137191/4139300?navId=182

You will notice that the navid= parameter has been added to each of these URLs. Navid appears to be related to category type, as for example all of the product URLs that sit within the “women’s warm boots” category have the “navid=316” parameter added to the end of the URL.

A similar problem also exists on Clarins whereby a “?start=” parameter is appended to product page URLs. This parameter relates to the grid position of each product on the page i.e:

demandware5

Given the constantly changing page position of products week to week, you can see why this parameter has the potential to create a large amount of duplicate pages. Although the “daily energizer kit” URL is currently situated at:

https://www.clarins.co.uk/daily-energizer-kit—all-skin-types–age-20–/0191584.html?start=1

Once a new product is added to the “cleansers and toners” page, this product will be moved into position 2, and henceforth the new URL will be:

https://www.clarins.co.uk/daily-energizer-kit—all-skin-types–age-20–/0191584.html?start=2

The solution

The best solution here would be to remove these parameters from being required on each product page. However this could be quite a long term fix. The best immediate recommendation would be to introduce the canonical tag to product pages.

Using the Ecco shoes example the correct canonical reference would be:

<link rel=canonical href="https://shopeu.ecco.com/uk/en/ecco/ecco-trace-lite_4137191/4139300"/>

2. Faceted navigation

The faceted navigation on many Demandware sites is one of the main causes of poor crawl performance. Each search filter adds another parameter to the URL, creating a ‘new’ near-duplicate URL. Given the way that the parameters can be stacked, Googlebot may crawl an extremely high number of duplicate URLs if not supervised.

If undesirable URLs are being indexed it can mean various things:

1. They are being crawled
2. Google is interpreting the current signals as showing the page is important enough to be included in the index.

Pmin and Pmax

These parameters are related to price. Using the example of Sally Beauty, when on the “brow makeup” page, I have the option of being able to filter products according to their price range.

demandware6

When I do so, the resulting URL looks something like this:

https://www.sallybeauty.com/eyebrow-care/Cosm02-02,default,sc.html?pmin=0&pmax=10

A quick site search shows that there are over 1 million instances of indexed “pmin” URLs alone.

demandware7

The solution

These parameters are not needed to access content – all products can be viewed via the “view all” option at the top of the page.

Blocking them would, therefore, result in a big improvement to crawl efficiency on sallybeauty.com. I would therefore recommend utilising the “noindex” robots meta tag on URLs which contain these parameters. Once the pages have fallen out of the index disallowing both pmin and pmax in robots.txt is recommended.

Disallow: /*pmin
Disallow: /*pmax

Prefn and Prefv1

“prefn” and “prefv” parameters control the majority of the faceted navigation on Sally Beauty. For example if I am on the “eye makeup” page, and select one of the filters, e.g brand (andrea), then I am presented with a prefn/v related URL:

demandware8

https://www.sallybeauty.com/eye-cosmetics/Cosm02,default,sc.html?prefn1=brand&prefv1=ANDREA

Currently the robots.txt file on sallybeauty.com excludes prefn2+ parameters, and prefv2+ parameters but contains no reference to prefn1/prefv1.

The solution

These parameters are not needed to access content – again, all products can be viewed via the “view all” option at the top of the page.

It is recommended to use the “noindex” robots metatag on URLs which contain these parameters. Once the pages have fallen out of the index, disallowing both prefn1 and prefv1 in robots.txt is recommended.

Disallow: /*prefn1
Disallow: /*prefv1

The only other drawback here may be the fact that brands can only be accessed via the faceted navigation – i.e there are no static pages for brands. Blocking these two parameters essentially means that you will also be blocking the closest thing to brand pages on the site. As such it would also be recommended to create static brand pages which display all of the products available from each line.

For example:

https://www.sallybeauty.com/brand/bathsecrets

Side note: Faceted Navigation parameters will vary on a case by case basis according to the site. Many sites may use the prefn/v parameters or similar to create impromptu category pages for email marketing and other promotions. So you may want to exercise caution before deciding to block them.

3. Clean homepage URLs

After investigation of a number of different demandware sites it has become clear that the homepage URL can sometimes be an issue. Using the example of Crocs we can see that the homepage can be accessed via two different URLs

https://www.crocs.com/on/demandware.store/Sites-crocs_us-Site/default/Home-Show
https://www.crocs.com/

As you can see, the first of these URLs is directly related to the Demandware store. With so many inbound and outbound links pointing to and from the homepage it is necessary to keep the URL clean.

Not to mention the issue of duplicate content that is created when the homepage can be accessed through two URLs. This issue distributes the page’s link equity (it is shared between the two URLs), thus diluting the SEO effects on the homepage.

demandware9

Barneys.com is another retailer that encounters this problem, however currently the URL https://www.barneys.com 302 redirects to the demandware store URL:

https://www.barneys.com/on/demandware.store/Sites-BNY-Site/default/Home-Show

The issue is further amplified when you realise that this URL structure carries across to all of the category/product pages on the website, for example:

Women’s Clothing:

https://www.barneys.com/on/demandware.store/Sites-BNY-Site/default/Search-Show?cgid=womens-clothing

Penguin Neck Tie Product:

https://www.barneys.com/on/demandware.store/Sites-BNY-Site/default/Product-Show?pid=00505033709147&cgid=mens-ties&index=0

These dynamic URLs are not ideal, from an SEO standpoint URLs should be meaningful. Static URLs are recommended as they are generally more user friendly and will contain sets of relevant keywords.

The solution

In the case of Crocs the default homepage URL should be:

https://www.crocs.com/

A 301 redirect that points to this clean URL should be placed on the duplicate https://www.crocs.com/on/demandware.store/Sites-crocs_us-Site/default/Home-Show Demandware URL.

With regard to the Barneys issue, removing the 302 redirect from barneys.com is recommended, followed by making this URL the default homepage URL, whilst 301 redirecting the demandware.store URL to it.

Clean static URLs for each category and product page should then be written, for example:

Women’s Clothing Category:

https://www.barneys.com/women/clothing

Penguin Neck Tie Product Category:

https://www.barneys.com/penguin-neck-tie.html

All subsequent demandware.store URLs should then be 301 redirected to their newly rewritten counterparts.

Join the Inner Circle

Industry leading insights direct to your inbox every month.