Why is Shopify's SEO Bad?

under E-Commerce Marketing.

  • 1
    Share

Do you love Shopify? There's a lot to love about it.

It's simple. It's sleek. It integrates with all kinds of apps at the click of a button.

It's also limiting. Most of all for SEO. We recommend Shopify as an e-commerce starter platform. Or, for a short-term e-commerce play that will never have time to grow into an SEO juggernaut.

These limitations won't be obvious at first. You can still handle all of the basics using Shopify. It's usually once brands get several years into development before they begin to see how much Shopify holds them back.

Think of it like this:

Using Shopify, you can become 80% competitive in Google. No better. You'll rank on less-competitive searches if you put in the effort and you know what you're doing.

But since the most profitable rankings are always hyper-competitive, compensating for that last 20% of lost performance will begin to fatigue and frustrate.

There are lots of native issues that you can fix. I'll cover them in another post. For now, here are some things that might make you think twice about choosing Shopify. Or, motivate you to migrate to Magento, BigCommerce, or any other platform that gives you more control.

1. Canonical URLs

Canonical issues are all about copies of the same content getting spat into Google.

Shopify would say that they solve it using the rel="canonical" HTML tag and they'd be dead wrong. It's not that they're using that code wrong. I actually love that they make it so easy. They're simply expecting this tag to do something that it's bad at.

For example, one Shopify client of ours had the following URLs all visible in Google when we searched for site:theirdomain.com; proving that all four copies were indeed in Google's index:

/products/Batteries
/products/batteries
/products/batteries/
/products/BATTERIES/

Their "batteries" product page contained the rel="canonical" tag. What happened?

By Google's own definition, the rel="canonical" tag is a suggestion. In my experience, it's one that they only occasionally follow. If you try to patch things together using Shopify's redirect tool, you'll find that this doesn't work either. Not if the page you're redirecting technically exists.

We still recommend rel="canonical" tags, but you can't count on it in this situation. It serves an entirely different role -- another post for another time. JavaScript redirects are also unreliable in this case.

These issues need to be solved using .htaccess or vhost files. Period. And you can't access them on Shopify. When we spoke with Shopify Plus support, they confirmed this problem but weren't willing/able to fix it.

2. Breadcrumb URLs

In a variant of issue #1, Shopify creates breadcrumb URLs of products beneath categories. You'll often find two copies of the same page in Google's index:

/collections/collection-title/products/product-name
/products/product-name

Shopify's default canonical behavior will say that only the second URL should get indexed.

relcanonical

But again, searching Google proves this suggestion often just doesn't work:

bad indexing

This is dumb behavior all by itself. There's no real benefit to creating so many conflicting URLs with the same content. All self-hosted platforms that I've encountered just avoid doing that altogether.

Worst of all, like issue #1, you're not solving it without greater access than Shopify is willing to provide.

3. No Spaces or Plusses

A file named robots.txt sends signals to Google about how to index your site. On Shopify, you can't touch it. Here's what's inside:

# we use Shopify as our ecommerce platform

User-agent: *
Disallow: /admin
Disallow: /cart
Disallow: /orders
Disallow: /checkout
Disallow: /3092321/checkouts
Disallow: /carts
Disallow: /account
Disallow: /collections/*+*
Disallow: /collections/*%2B*
Disallow: /collections/*%2b*

Disallow: /blogs/*+*
Disallow: /blogs/*%2B*
Disallow: /blogs/*%2b*
Disallow: /*design_theme_id*
Disallow: /*preview_theme_id*
Disallow: /*preview_script_id*
Disallow: /discount/*
Disallow: /apple-app-site-association
Sitemap: https://ministryofsupply.com/sitemap.xml

# Google adsbot ignores robots.txt unless specifically named!
User-agent: adsbot-google
Disallow: /checkout
Disallow: /carts
Disallow: /orders
Disallow: /3092321/checkouts
Disallow: /discount/*
Disallow: /*design_theme_id*
Disallow: /*preview_theme_id*
Disallow: /*preview_script_id*


User-agent: Nutch
Disallow: /


User-agent: MJ12bot
Crawl-Delay: 10


User-agent: Pinterest
Crawl-delay: 1

Plenty of those defaults are good and useful.

This also causes issues. Not least of which is that products and vendors that contain a plus or a space character will be blocked from crawling. See those 3 lines in bold? This keeps those pages from being added to Google's index. It also disrupts Google's crawl pattern and can lead to other indexing issues.

Most obnoxiously, any time two-word products or vendors exist:

/collections/vendors?q=aston+martin

It's a dangerous oversimplification that hurts a lot of people. Especially with more SKUs.

4. That Blog... It's No WordPress

Doing content marketing? I sure hope so. It's always better to own attention than rent. Grown-up brands need to become natural link-earning machines to thrive.

Let's be real: Shopify is an e-commerce platform, not a content marketing platform.

There are hundreds of nuanced issues and limitations with Shopify's default blogging engine. So many that you've probably already seen and I won't even bother to get into those specifics.

Want to solve for that? Install WordPress. But you can't install anything in a subfolder on Shopify. You need to host it somewhere else and point a subdomain there, like content.yoursite.com.

In SEO, content that shares the same subdomain (such as "www") implies a closer affiliation. This is why it's best practice to host your blog, news, ebooks, infographics, or whatever, in a subfolder. On Shopify, you can't do that.

5. The Rest

That's just a taste of how limiting Shopify's SEO capabilities can be. It gets worse; especially once you get into creative keyword architecture, segmentation for account-based marketing, performance tweaks, and other situational fixes.

There are plenty of hacks and workarounds. There's a lot that you can solve about Shopify's less-than-stellar default SEO. But be aware of what you'll never be able to do with Shopify's SEO.

  1. Customize robots.txt
  2. Customize web server headers
  3. Customize URL handling and subfolders

Those aren't just 3 unsolvable problems. They're 3 categories of problem.

If SEO is critical to your business, this can hurt a whole heck of a lot.