SalesForce Commerce Cloud SEO Issues & Solutions

Commerce Cloud (Now owned by SalesForce, formerly DemandWare) is an enterprise eCommerce management solution.

There’s a number of unique SEO challenges associated with Commerce Cloud, all of which our agency is familiar with from servicing dozens of clients who run on the platform.

This article will cover the most common Commerce Cloud SEO challenges we’ve come across and how to address them.


  • Commerce Cloud has funky out of box configurations, mainly issues with URLs
  • Failure to understand and manage these issues can be severe at the enterprise level, mainly leading to a wasted crawl budget and decreased indexation rate
  • Make sure you’re consistently crawling your website to check directive, indexation and status codes – we recommend re-crawling [at least] quarterly

Our team of expert SEO consultants are standing by, ready to assist you if necessary. Drop us a line, let’s chat.

1. Category page duplications

Category pages are incredibly important in eCommerce SEO because they satisfy a different search intent than a product page.

For example, say you’re searching Google to “buy protein powder”.

Even though you’re looking to buy, the intent behind that search is NOT to view a specific protein powder (i.e. a product page), but instead to browse various proteins (i.e. a category page).

When searching for “buy whey protein”, the SERP supports this – all results are category pages.

protein powder SERP results

Now imagine you own a Commerce Cloud store that sells various types of protein supplements:

  • Soy protein
  • Whey protein
  • Protein bars
  • Protein drinks

Your keyword research should identify that each of these has enough search demand to warrant it’s own product category page. For example:

  • Soy protein =
  • Whey protein =
  • Protein bars =

Let’s say you carry 100 SKUs of whey protein powders – it’s a general best practice for user experience to “hide” more than 12 products on initial load.

Commerce Cloud gives you the option to “hide” some products in order to save on page load times, and then a visitor can “unhide” all products by clicking a “view all” button.


Upon clicking “view all”, Demandware will append ?viewAll=true to the end of the category page URL.


Since this is a crawl-able URL, this creates duplicate content issues on key category pages that need to be addressed.


On ?viewAll=true pages, you can add canonical tags pointing back to the root category page, or alternately you can block this URL parameter from being crawled outright via the robots.txt file (more on that later).

<link rel=”canonicalhref=”” />

These changes (along with targeted link outreach) provided a massive boost to our client’s category pages.

demandware technical SEO


2. Issues with Faceted Navigation

“Faceted navigation” refers to how your store filters and sorts products using a secondary navigation; usually housed within a sidebar.

faceted navigation

Commerce Cloud’s faceted navigation appends parameters to URLs each time a new search filter is added.

Using our whey protein category page as an example, let’s say you want to filter by brand:


As you can see, &prefv1 was appended to the category page’s URL. This page alone has 40 options to refine the whey protein category, including sorting by:

  • Brand
  • Price
  • Size
  • Serving

Each of these serves up a different URL parameter, creating thousands of new URL variations, all indexable by Google.

If you don’t address this you will deplete valuable Googlebot crawl budgets on useless pages. On an enterprise eCommerce website with tens of thousands of products that need to be crawled, this will cause harmful indexation issues.


There’s 2 options:

  1. Block these URL parameters URL’s from being crawled outright utilizing via Robots.txt file, or
  2. Configure Google Search Console’s URL Parameters so Google knows which URLs to crawl and which to ignore

Here at FTF, we use GSC’s URL parameter settings whenever possible because it allows us to implement the changes without burning programmer hours.

Below is a Commerce Cloud example we put together on behalf of a client:

demandware URL parameters

You can then take these, add them into the URL Parameters report in GSC manually, and then set them to not be crawled:

configuring URL parameters

NOTE: If these URLs have already been indexed by Google, we suggest using the “noindex” tag on all URLs that contain these parameters. Check the indexation in Google Search Console to verify once these pages have been removed from the index, then proceed with URL Parameters.

3. Product Page Duplication

Let’s go back to the whey protein category page one more time .

When a visitor clicks on a product in your grid, the platform will append URL parameters based on the position of the product in the grid.


For example, if you click on the product in the first position, the URL will read:

Again, this will create Googlebot crawl traps – wasting your crawl budget on low quality URLs.


Use canonical URLs to point to the root product page. So for this instance, the canonical would read:

<link rel=”canonicalhref=”” />


4. Dealing with /demandware-{}/ directories

Whenever we crawl a new client’s website we always discover directories that are not useful for crawlers and search engines.

These directories can include:

  • Staging domains
  • Login pages
  • Product variations


These pages are carbon copies of the root page, creating [you guessed it] issues with duplicate content and wasted crawl budgets.


We recommend disallowing and “noindexing” / and /demandware.static/ in your robots.txt file.

Below is a sample from our client’s file:

demandware robots txt file


5. Silo’s Within Internal Link Structures

Internal links help distribute equity across your pages. Since Commerce Cloud has so many issues with URLs, it’s easy for the system to default to linking to the wrong version of a page.

internal linking visualization

A visualization done for an FTF client to show internal links across the site.

When we go back to the whey protein category page and click on the first result, you can see the page is linking to an appended product page URL.

demandware seo issues

While this URL is canonicalized, we’re losing some of that internal link equity being passed through.

You can see how Adidas fixed this issue on their site (they also run on Commerce Cloud):

better commerce cloud seo


Double check your page templates to ensure that all internal links are pointing to the absolute URLs. Once the template is updated, we suggest blocking the “?cgid=” parameter in your robots.txt file.

6. Check your 404 page setup

It’s SEO best practice for your site should deliver a 404 error for a page that’s not found. For some reason, almost every Commerce Cloud install we’ve seen defaults to a 302 redirect or a 301 redirect when a page is not found.

For example:

Default redirects to:

Which is a duplicate version of the home page.


Make sure to setup a custom 404 page on your site. A great example of a custom 404 page on Commerce Cloud is 1 800 Contacts. Their 404 page notifies users (and search engines) and distributes equity to key pages on the site.

demandware 404 page



7. Title Tag and Description Defaults

Title tags are not only a ranking factor, but they influence a searcher’s click behavior.

It’s critical to create page title’s that capture keywords but also drive user action.

Commerce Cloud let’s you set default page titles and meta descriptions – take advantage of this. If you have thousands of products, it will save you a ton of time.

You’ll still want customize your titles, as sometimes the defaults can backfire if not periodically reviewed (see below).


Set default titles and metas.

  • Title tags should default to the product name
  • Description tags should default to the product description

We always suggest split testing page titles and metas to increase CTR in SERP, but for Commerce Cloud clients we insist on reviewing page titles for accuracy quarterly.

Additional SEO Limitations of Commerce Cloud

I didn’t want to give each of these their own section, but I did want to mention them as well.

1. No access to server log files

We’ve discussed a lot of issues with Commerce Cloud URLs. This increases the importance of analyzing your site’s crawl budget using server log files.

This is not possible on Commerce Cloud. Commerce Cloud is a self hosted solution – they manage your data, code and hosting. Shared hosting means no access to server log files, making crawl optimization ….challenging.

You’ll need to be extra diligent using other tools (mainly GSC) to monitor your crawl.

2. Capitalization in URLs

Using uppercase letters in a URL can confuse search engines by causing duplication issues. While this isn’t a huge issue, we suggest getting out front of the issue to manage it.

3. Automate image ALT attributes

Editing image ALT tags on Commerce Cloud is a ridiculously tedious process.

Work with your developers to see if they can automate image ALT tag creation.

4. Homepage Configuration

Sometimes Commerce Cloud will generate long, ugly alternate homepage URLs. This will probably look familiar to you:

Identify these URLs and make sure you use 301 redirects pointing back to the root home page.

Next steps

Commerce Cloud is a great solution for enterprise eCommerce management. However, it comes with a built in set of technical SEO challenges.

We strongly suggest evaluating the technical elements of your website quarterly with a fresh crawl.

If your website is too large for enterprise SEO crawlers, contact us, we’ve built a number of custom crawlers in Hadoop for clients.

Nick Eubanks

 | November 12 ,2018