As a platform, Salesforce Commerce Cloud has several documented nuances and common issues, some dating back from when the platform was known as Demandware.
Salesforce is increasing, both in popularity and adoption, with users migrating to both the CRM and backend systems. Sites are also adopting the Commerce Cloud storefront for integration ease.
As SEOs, we’re going to come across the platform more and more.
In previous posts, we’ve looked at how to overcome a number of common SFCC issues, but we want to find out just how widespread these common issues are.
It is worth noting that all of these issues are fixable, and when scoped into a build with your SFCC integrator/development team, Salesforce can be a fantastic platform to achieve “customer success”.
Study data & methodology
Using data provided by Builtwith, we analyzed all 1,926 live eCommerce websites built using the Salesforce Commerce Cloud platform from a technical SEO perspective to see how many of these sites carried common technical issues.
All sites were live at the time of the study, and any SFCC websites launched post 1 February 2020 are not included in the data.
To analyze the information, we used a number of industry-standard tools, as well as running some tools (such as Google Lighthouse) from CLI.
For analysis, we looked at four key areas and other common issues we found when working on Salesforce websites and migrations. These were:
- 404s & error code reporting
- Site speeds
- International optimization
Oh, and just for fun, we looked at how many of these websites have actively optimized their meta keyword tags, ahead of other technical issues.
For those reading this who don’t understand why this is a “for fun” check, it’s because meta keywords have been publicly denounced by Google for the past 11 years, and act as a spam signal for Bing.
As well as our own findings and analysis, we’ve also gone through Salesforce’s own B2C Commerce Cloud documentation on what the company recommends for each area we’ve investigated.
All sites, documentation, and third-party tools are accurate at the time of publication.
- 73% of sites don’t return a 404 response code (when they should).
- 62.96% have hreflang errors.
- 64.54% have Lighthouse performance scores less than 33/100.
- 51.09% actively utilize meta keywords.
73% of sites don’t return a 404 response (when they should)
404s are a pretty common feature of the internet and can be both burdensome and useful for SEOs. From analyzing 1,926 websites, we found that 73% didn’t return a direct 404 HTTP response code to a fake URL in the initial raw crawl data.
To test these, we’ve followed Salesforce Commerce Cloud’s own testing recommendations for 404s by entering an invalid URL.
I got this response in 2019 from a Salesforce Commerce Cloud integrator when trying to get them to implement 404s:
Unfortunately, we can’t change from 410 to 404, it is related to the SFCC platform.
However, as data shows they are achievable:
Just over 27% 404’d, while 26.5% served 410 HTTP response codes. More than 36% of websites redirected in some form, while 6.8% returned a 200 HTTP response.
From the 712 (36.9%) that returned a 3XX redirect response:
- 64 redirect to a URL containing “404”, that returns a 200 response (3.3%).
- 167 redirect back to the site homepage, returning a 200 response (8.6%).
- 132 lead to another 3XX response code, causing a chain (6.8%).
- 2 returned server errors (repeatedly) (0.1%).
- 237 redirected to a URL containing 404 but returned a 410 (12.3%).
- 103 redirected to a URL returning a 404 response (5.3%).
So, including the redirects to 404 responses, it can be argued 32% of Salesforce Commerce Cloud websites are capable of returning 404 errors (eventually), while 38.8% return a 410, and 18.5% return a 200 response code in place of a 4XX error.
From experience, Salesforce Commerce Cloud integrators also have mixed ability and methods in implementing 404 pages and response codes. Speaking with an SEO specialist from a Salesforce integrator in March 2020, their advice around using 404s v 410s was as follows:
404 indicates that the resource is not available and never been. A 410 indicates that the resource is not there anymore but it used to be at some point. So technically speaking, having a 410 there is normal since the product page was available in the past and now is gone.
But it is possible, with almost one-third of sites achieving this. Those redirecting URLs to a 404 page, more often than not, also append the original requested URL as a parameter. For example:
The data also shows that the URL path doesn’t seem to be consistent with HTTP response codes, for example, the below URI returns a 200 on the site it was found:
Google’s John Mueller has gone on record that 404 pages don’t affect your rankings and that “the presence of these pages was completely normal.”
So, why does this matter?
404 response codes are useful for users, search engines, SEOs, and on large, eCommerce websites that have product rotation and expiry. They can also be very useful in identifying missed redirects or other issues.
In the case of the 167 websites that blanket redirected back to the homepage, this means that when Google requests an invalid URL, it isn’t going to get the message that it’s invalid, which can lead to soft 404s.
Also, in the case of migrating to Salesforce Commerce Cloud as a platform, integrators like to impose redirect limits within Business Manager. Post-migration, if there is little prior data available, being able to identify missed redirects (especially in the case of a traffic drop) is critical.
What does Salesforce say about 404s?
Salesforce mentions 404 pages within its documentation, and recommends that you have custom 404 pages that include:
- An informational message so users understand what’s happened.
- Product merchandising.
- A form of sitemap/internal linking to aid navigation.
- A search box, again to aid user navigation.
The error page best practices even recommend that you “add a little humor”.
It is also worth noting that 404 pages aren’t an out of the box functionality. A 404 page on Salesforce Commerce Cloud is displayed when Home-ErrorNotFound (pipeline) is called, and you need to override your Home.js controller and corresponding template — depending on your integration setup.
It would appear, however, that implementation of the documentation varies between integrators and implementations.
62.96% of sites have hreflang issues
It’s often said in SEO that hreflang is one of the hardest implementations, with one study in 2016 claiming that 75% of international websites have hreflang errors.
From our original list of 1,926 websites, 557 (28%) of these have hreflang implemented, as identified through crawling.
We’ve then taken those 557 and analyzed them through Hreflang Checker to ascertain the number with issues, as well as some to identify the more common issues among them.
How we validated these sites
Hreflang Checker not only validates hreflang, but also displays suggestions based on best practices, warnings, and outright errors.
The difference between warnings and errors
Warnings include minor issues like when the meta language tag is set to a different language, or x-default being used for a purpose other than a language selector page, which was pretty much all SFCC websites.
Best practice errors on the other hand include:
- Duplicate hreflang tags.
- Duplicate hreflang tags pointing to different URLs.
- IP based redirects in place.
- Hreflang not self-referencing its own page.
- Hreflang not matching the page canonical.
- Invalid ISO3166-1 Alpha 2 codes being used, e.g. EU, CI.
- Hreflang referencing URLs that 404.
While hreflang errors aren’t unique to Salesforce Commerce Cloud, the standard number of issues hasn’t been eradicated by the localization solution.
There were also a number of websites that had international versions, such as domain.co.uk and domain.ie (with the same brand on each) that didn’t contain hreflang, presumably as they were two separate installs, product catalogs, and hreflang outside of the native SFCC solution wasn’t scoped.
What Does Salesforce Say About hreflang?
Not a lot. If you search the documentation subdomain for [href lang], you get no results. Search it for [hreflang] and you get one result, a page nested under “Search Engine Optimization” entitled “Generate Sitemaps”.
The only mention of hreflang in the documentation for Salesforce B2C Commerce (Commerce Cloud) is the single instance highlighted below:
However, in Salesforce terminology, it’s the locales and locale settings you want to be looking at.
In all the locales documentation, there is no mention of hreflang, only guidance on how to set locales within Business Manager, URL considerations, how to set global rules, and product-level rules — it even mentions that it doesn’t support RTL UTF characters. So for the Arab Emirates Dirham, you need to specify AED instead of د.إ – but there are no mentions of how to map these locales and alternate language subfolders.
64.54% have Lighthouse audit performance scores of less than 33/100
From the 1,926 Salesforce Commerce Cloud websites, we were able to audit 1,867 sites using Lighthouse. This came from the command line, with 59 websites returning errors.
Looking at the performance metric only, we found that 64.54% of websites have a performance score of less than 33/100 on mobile (emulated Nexus).
The below table shows a number of averages for the performance scores:
|Total Sites Analyzed||1,867|
|Average Performance Score||32.72 (33 rounded up)|
|Median Performance Score||27|
|Mode Performance Score||21|
|Highest Performance Score||96|
I’ve omitted the lowest performance score from the table, as it was 0.
The below graph represents the spread of Salesforce Commerce Cloud Lighthouse audit scores:
As you can see, there is a great cluster of Salesforce CC websites scoring in the 15 to 35 bracket.
We know Lighthouse scores on their own aren’t a holistic indication of site speed, and some websites with 100/100 can rank for nothing.
After all, it isn’t a case of “if you’re not first, you’re last”, it is indicative of issues given the greater bulk of the platform nested in the lower third of performance.
That being said, Google sees sites scoring low on average, as a score of 50 would put a website in the top 25% fastest websites (according to Google).
What does Salesforce say about site speed?
Salesforce does actually contain a number of documents within its B2C Commerce Cloud documentation and advises using Firebug (or similar) to debug CSS, HTML, and JS on live pages, as well as making use of third-party tools such as Fiddler, YSlow!, WebPageTest, and Hammerhead.
The company also recommends working strategically, by optimizing what it calls “first pages” first — these being pages that users are likely to enter the site through (so product category pages for example).
Inlining the critical CSS and the deferred loading of the non-critical CSS can improve the performance and interactivity of the page for users.
You should only ever inline CSS when it’s faster than an external request, and the tradeoff for it not being cached on subsequent pageviews outweighs the initial network/loading delay.
Given that the advice in the documentation is more useful than other sections, it’s surprising to see so many sites scoring so poorly.
But then, most websites on Salesforce are major brands and engage in marketing activities, and at the end of the day, speed is just a part of the ranking mix. The overall search performance may not be too badly affected in reality — but there’s still lots of room for improvement.
51.09% of sites utilize meta keywords (for fun)
No less than 984 of the 1,926 SFCC websites analyzed have optimized meta keyword fields. This isn’t really a major issue, but given that some effort will have gone into this optimization, it makes you wonder about the opportunity cost of other issues in this article.
While this isn’t necessarily negative for SEO, it is an outdated tactic that has been publicly deprecated by Google since at least 2009, although Bing reads it as a spam signal.
So, it’s curious to see that more than 50% of live Salesforce Commerce Cloud websites have actively optimized this meta field.
What does Salesforce say about meta keywords?
Salesforce’s B2C Commerce documentation has three core pages in regards to on-page meta-rules, and weirdly, only one of them uses the phrase “meta keywords”. The document titled “Configure SEO Settings for a Page Designer Page” has the instructions and advice of opening the SEO settings option, and advises entering up to 10 meta keywords.
The other two pages, Page Meta Tags and Meta Tag Rules don’t reference meta keywords directly, but in a code snippet entitled “an example of some great meta tags”, an optimized meta keyword tag can be found:
Adding keywords via the Business Manager is also recommended as part of the SEO maintenance documentation:
It is worth noting that these issues are not specific to Salesforce Commerce Cloud as a platform, and a number of websites have overcome them, so it isn’t the intention of the platform that clients inherit these issues, as with any platform or tool — it’s only as good as those scoping the build and using it.
However, for an enterprise eCommerce solution, in my opinion, you would expect that these issues would be not as widespread, or at the very least, documentation is up-to-date in line with modern best practices (meta keywords were publicly denounced 11 years ago). We also believe that Salesforce integrators need to be vetted better for their basic SEO knowledge.
Based on our experience, we believe that the majority of this comes down to Salesforce integrators and developers who need to be kept informed and work with Salesforce SEO specialists to resolve the issues.
Over the years, we’ve worked with over 50 Salesforce (and old school Demandware) websites and some of these issues sadly still exist and are ingrained in the build. This means they could have been avoided but they are nearly irreversible without extensive reversal.
We’d be happy to share our insights with Salesforce and any company that has used Salesforce, and which have been part of our study upon request.