Even though 51% of the traffic on the web is driven by search engines, only 44% of businesses are investing in SEO. Paradoxically, 81% of businesses invest in social media even though it is only responsible for 5% of web traffic.
When choosing an ecommerce platform, it’s important to consider search engines. Unfortunately, not all platforms are created equal, and some can be a hindrance.
Here we review some of the differences between SEO capabilities in Shopify and BigCommerce. Spoiler: BigCommerce is better, as long as you are using it properly.
Duplicate URLs
Ecommerce sites end up with multiple URLs leading to the same content for multiple reasons. Some platforms use URL variables to hold user information. Some load the same content regardless of URL capitalization but do so without redirecting the URL. Some include product tags in the URL.
Depending on themes and plugins, both Shopify and BigCommerce can suffer from these problems, but BigCommerce offers more tools to deal with them.
Why Duplicate URLs Are A Problem
The problem with duplicate URLs is that multiple copies of a page can end up in Google’s index.
If you look into discussions on the topic, you’ll find a lot of novice SEOs who claim this isn’t a problem because Google is smart enough to know that these represent the same page and that it isn’t plagiarism. You’ll also see claims that it isn’t a problem as long as rel=canonical is set up and consistently telling Google which version of the page is the official version that should be indexed.
Let’s address the plagiarism concern first. Duplicate content isn’t just an issue because of algorithms like Panda. The concern isn’t really that you will actually be penalized, which is very unlikely. The problem is that multiple versions of a page in the Google index dilute SEO authority.
Since Google doesn’t know which version of the page to rank, they may rank the wrong one, or cycle which page gets ranked. This means that as your pages accumulate backlinks from other sites, they will get split up among different versions of the page so that all of that SEO value gets divided up.
As for the claims that Google knows they are the same page or that the rel=canonical tag tells it which one to index, our experience says otherwise. We very frequently see multiple copies of pages in Google’s index among our clients and their competitors, even when rel=canonical is implemented and being used correctly.
This really shouldn’t be surprising. Google has limited trust in user’s abilities to use rel=canonical correctly and openly treats it as a suggestion. More importantly, the task of comparing pages to see if they are duplicates is hardly a low computation problem. This involves Google checking the content of every page on the internet against every other page on the internet. There is a reason why Panda refresh updates were released months apart.
Taking this another step further and actually reassigning the SEO value from these duplicates to the canonical page, which Google has to determine to some extent since it doesn’t trust user canonicalization very much, adds even more complexity to the problem and we have little reason to suspect that Google is actually doing this, at least reliably.
Our own experience tells us that setting up redirects and changing links so that everything goes to the canonical page boosts SEO value. We have seen fairly consistent changes in SEO performance when we do this.
Is BigCommerce or Shopify Better For Duplicate URLs?
Without a question, BigCommerce is better.
There is no way to address the root problem without actually redirecting duplicate URLs to the canonical page. Shopify simply doesn’t allow this. Their redirect tool doesn’t allow you to redirect pages that technically exist.
Furthermore, Shopify actually doesn’t even need a tag to exist for a tagged URL to exist. Even if you delete all of your tags, the tagged pages will still exist. Shopify’s platform treats URL structure as an instruction, and if you give it a URL with a tag that doesn’t exist, it will still return the parent page, not a 404 error. So there is actually an infinite space of potential URL duplicates.
Since Shopify doesn’t let users edit .htaccess, there is no way to set up a redirect rule and resolve this issue. The duplicates exist and get indexed and you can’t set up redirects for them.
To be clear, the BigCommerce platform itself doesn’t have .htaccess either, since the servers are NGINX and users don’t have individual virtual servers. The crucial difference, however, is that BigCommerce is headless and you can set up wildcard redirects of any kind with your own registrar. So while you can’t set up redirect rules inside of the BigCommerce platform, you can set them up outside of it and apply them to your BigCommerce powered store.
The BigCommerce WordPress plugin lets you do anything with BigCommerce that you can with WordPress, making it an immensely more powerful SEO platform.
Robots.txt
The Robots.txt file allows you to tell search engines and other crawlers how to index and crawl your site. You can tell them not to index or crawl certain folders or pages on your site, tell it whether or not to follow links, tell it where your sitemap or sitemaps are, and make other similar commands.
As for which platform is better for this, there is no question. BigCommerce is better. The reason for that is pretty straightforward. BigCommerce lets you edit robots.txt and Shopify does not. This is a native feature of the BigCommerce platform and doesn’t even require you to run it headless.
Disappointingly, the Shopify platform also includes several commands in the robots.txt file that block search engines from crawling pages on your site that you very well may (in fact, probably do) want to be indexed:
Disallow: /collections/*+*
Disallow: /collections/*%2B*
Disallow: /collections/*%2b*
These three lines block search engines from crawling any URL that contains a plus sign or a space after the “collections” folder.
If you categorize your products into product types or vendors, Shopify creators product type and vendor pages with URLs like these:
/collections/types?q=Product+Type
/collections/vendors?q=Vendor+Name
So if your product types and vendors have names with more than one word, the pages they generate have a plus sign in them and won’t be crawlable by search engines, preventing the content on those pages from getting indexed. This also disrupts the search engine crawl pattern, making it more difficult for search engines to locate and crawl other pages correctly.
There may be reasons you wouldn’t want these types of pages to be crawled, but this is something that needs to be under user control and, crucially, shouldn’t be determined by something as arbitrary as whether or not the vendor or product type consists of more than one word.
These overzealous crawl limitations, in addition to no capability to edit robots.txt at all, make BigCommerce a clear winner on this issue.
Blogging
Shopify and BigCommerce were both built as ecommerce platforms first and foremost. The blogging features available on both platforms are limited and treated as a bit of an afterthought. Since correctly implemented blogging is by far one of the most reliable ways to grow search engine traffic and build search engine authority, these limitations are unfortunate.
As we mentioned above, BigCommerce has a WordPress plugin that allows you to run the platform inside of WordPress. That means you get all of the functionality and SEO flexibility of WordPress. We wouldn’t recommend using the native blogging features of BigCommerce, but WordPress is, in our opinion, the best blogging platform from both an SEO and usability standpoint. The complete and total integration offered by the WordPress plugin gives you everything you need.
With Shopify, it’s not possible to run the platform from inside a WordPress site. In fact, WordPress can’t even be installed in a subfolder of your Shopify site. Your only option is to install it on a subdomain.
The notion that installing your blog on a subdomain is harmful to SEO is popular but controversial. Google officially doesn’t treat subdomains any differently. There is no reason to suspect that this is a dishonest stance, but it can be misleading.
While it may be technically true that Google doesn’t care if your blog is on a subdomain, what it does care about is that it is hosted on different servers, almost certainly uses a different theme template, likely has a different navigational structure, and that links between the root domain and subdomain are probably handled differently that the internal links on the blog and on the root domain.
What all of this means is that it takes a lot of development effort to integrate your Shopify store and your blog in such a way that Google sees them as part of the same entity, and that SEO authority won’t flow naturally between the two without putting in a lot of extra effort.
Of course, you can avoid those problems if you decide to just use the Shopify blog platform instead of WordPress, but that comes with unavoidable limitations.
First and foremost, Shopify doesn’t have access to useful SEO plugins like Yoast or Rank Math. This dramatically limits how much and how easily you can configure your SEO settings.
From a content marketing perspective, Shopify is seriously lacking in the fact that there is no article versioning. This means you either need to set up your own internal article versioning or just accept that changes you make are permanent.
Shopify doesn’t allow you to use categories for your blog posts, only tags. This severe limitation makes it difficult to provide search engines with a lot of important semantic information. It forces the architecture of your blog to be flat, which means SEO link authority isn’t shared along with relevance without considerable manual effort.
Without the open-source culture of WordPress, most themes and plugins that come with the CMS are paid, which severely hinders capabilities.
Some basic content marketing features are also missing like an archive and featured images unless you manually implement them.
For all of these reasons, it’s generally a better idea to set up a WordPress blog on a subdomain, despite all of the limitations that come with that. To get the most out of it, however, it’s important that navigational links are added to both platforms that heavily integrate the two sites. The themes should be as similar as possible in appearance and code, and considerable effort should be placed into getting the link architecture between the two platforms just right.
HTTP Headers
You may have noticed enough of a pattern at this point to guess how this one will go. The BigCommerce and Shopify platforms themselves both lack the ability to customize HTTP headers, but BigCommerce can be run headless or in WordPress where you can customize the headers. So if you were hoping to do anything with HTTP headers in Shopify, that option is off the table.
HTTP headers can be used to tell search engines a lot of important information:
- Canonical links: in addition to the rel=canonical tag within a page’s HTML, you can also set up canonical links inside of the HTTP header to send a more robust signal to the search engines. While the search engines may still ignore it, noting the canonical page using both methods could potentially increase the search engines’ trust in the signal.
- Hreflang links: This tells the search engine where to find alternate versions of a page in different languages. Again, this can also be set up with HTML, but you can potentially increase robustness by indicating it within the HTTP header as well.
- X-Robots-Tag: While you can use HTML to noindex or nofollow a webpage, you can actually do this with other files. If, for example, you wanted to stop Google from indexing a PDF ebook you were using as a lead magnet, you can’t do this with the robots meta tag. You can only do it with HTTP headers. You can also use this header to tell search engines not to show cached links in search results, not to include snippets, not to offer to translate the search listing, not to index images on the page, or to tell it a date and time when the page will no longer be available.
- Cache Control: Various HTTP header responses influence how user’s browsers cache the page. Browser caches increase reload speed, but if they don’t refresh often enough updates to the page won’t load.
- Vary: This is a very important HTTP header used for compression, cookies, and device-specific versioning.
- Various security-related headers.
Again, Shopify simply offers no way to work with any of these. If you are running BigCommerce headless, you can edit any of these.
Conclusion
While a skilled SEO can accomplish a lot with a Shopify site, the platform comes with unavoidable limitations that BigCommerce doesn’t, at least if you are running it headless. While every business is different, for most ecommerce sites we recommend running BigCommerce as your ecommerce platform and wrapping it in WordPress as the CMS.