Let's talk
Back to resources


Shopify SEO - optimise your store for success

By Lucy Kirkness | July 2018

Table of contents

Shopify is one of the most popular eCommerce platforms, with over 600,000 businesses using it to host their online store.

Benefits of Shopify as an eCommerce solution

The platform is a great choice for any retailer looking to grow their online presence and sales. It’s flexible and advanced, and comes with attractive templates and a set of in-built features and apps. But is Shopify good for SEO?

We’ve put together a guide to help you navigate the SEO functionality of the platform, and ultimately optimise your Shopify store to attract more organic traffic and sales. Below are some key benefits:

  • Flexible and customisable
  • Secure and reliable
  • Web hosting taken care of
  • Easy administration
  • Lots of built-in tools
  • Great SEO features
  • No coding skills required
  • Advanced eCommerce platform
  • World class customer support

View the full set of Shopify features here.

Built in SEO features in Shopify

Let’s start by looking at Shopify’s built in SEO features. Some of their features are automatically generated, and others are editable, such as on-page SEO elements.

On page SEO features

There are four main areas where you can add your target keywords

  • Page title
  • Meta description
  • Image alt text
  • Page content

Steps to edit the meta title and description

  1. Search engine listing preview > Edit website SEO
  2. Page title field (70 characters)
  3. Description (320 characters)
  4. Save

Steps to set the image alt text

  1. Shopify admin > Products
  2. Select product with image for editing
  3. Click ‘ALT’ and enter description
  4. Done

Steps to add keywords to the H1

  1. Select your product, collection, or blog post
  2. Enter title field with target keywords
  3. Save

Site structure and best practices

Setting up your site structure in a simple, logical manner not only improves your Shopify SEO, but also user experience. A simple, SEO friendly, site structure might look something like this for an example clothing retailer.

Fortunately, Shopify's built in features allows for simple, readable URL structures, as well as a logical hierarchy of categories. To keep your products organised and easy for customers to find, you can group them into categories, known as ‘collections’.

If your inventory of products requires sub-categorisation for easy navigation, you can filter collections with product tags. Read Shopify’s customisation guide to help setting up product tags.

Google Analytics integration

If you’re serious about growing your Shopify store then you need to make sure you are tracking your visitors and their behaviour once on your site. Shopify allows for easy integration of Google Analytics tracking. Firstly, we want to check to make sure Google Analytics isn’t already enabled:

  1. Shopify admin > Online store > Preferences
  2. Google Analytics section > If you see code beginning with UA-, then you have already enabled Google Analytics
  3. Click Themes
  4. Click Action > Edit code
  5. In the Layout section, click {/} theme.liquid
  6. Look for the following Google Analytics tracking tags: ga.js, dc.js, gtag.js, analytics.js. > If you see any of these then you have Google Analytics enabled

If you don’t see any code, then you’re ready to setup your integration.

Steps to setup Google Analytics integration

  1. Open Google Analytics > Select your account > Click ADMIN
  2. Click Tracking Info > Tracking Code
  3. In a new tab open Shopify admin
  4. Online store > Preferences
  5. In the Google Analytics section, paste your Global Site Tag (gtag.js) in the Google Analytics account field
  6. Confirm that the Google Analytics account section now has code beginning with UA- underneath the heading

Steps to setup eCommerce tracking

  1. Open Google Analytics > Select your account > Click ADMIN
  2. View > Ecommerce settings
  3. Click the Enable Ecommerce toggle to turn it ON
  4. Open Shopify admin
  5. Online store > Preferences
  6. In the Google Analytics section, click the Use Enhanced Ecommerce checkbox
  7. Save

Sitemap.xml and robots.txt

Another benefit of using Shopify for technical SEO is that the platform automatically generates a Sitemap.xml file and Robots.txt file.

The sitemap.xml file will contain all of your products, collections, and site pages, and automatically updates when you add or remove content. You can find your sitemap by navigating to your root domain, followed by /sitemap.xml.

For example:


The robots.txt file is used to block content that you don’t want to be crawled by search engines. You can find your robots.txt file by navigating to your root domain, followed by /robots.txt

For example:


Technical SEO problems with Shopify

Blocking pages from crawl

Despite automatically generating a robots.txt file, Shopify limits access to users being able to edit the file. For some, this may be an advantage. However, for larger stores, the robots.txt file is often used to control how search engines crawl the site. Like it or not, this is what you have to work with:

# we use Shopify as our ecommerce platformUser-agent: *Disallow: /adminDisallow: /cartDisallow: /ordersDisallow: /checkoutDisallow: /1234567/checkoutsDisallow: /cartsDisallow: /accountDisallow: /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: /apple-app-site-associationSitemap: http://shopify-domain.com/sitemap.xml# Google adsbot ignores robots.txt unless specifically named!User-agent: adsbot-googleDisallow: /checkoutDisallow: /cartsDisallow: /ordersDisallow: /1234567/checkoutsDisallow: /*design_theme_id*Disallow: /*preview_theme_id*Disallow: /*preview_script_id*User-agent: NutchDisallow: /User-agent: MJ12botCrawl-Delay: 10

If you want a workaround to this, just read Oliver Mason’s nonsense (a technical SEO mastermind).

Domain canonicalisation

Canonicalisation refers to ‘merging’ pages when there are multiple versions of the same page. Any Shopify store will likely have four versions:

  • https :// www. example.com
  • http :// www. example.com
  • https :// example.com
  • http :// example.com

If all of the above pages, which have the same content, are not redirected to a single page can result in duplicate content issues.

Steps to fix domain canonicalisation

  1. Go to Online Store > Domains
  2. Choose your preferred domain
  3. Select ‘Redirect all traffic to this domain’

Canonical tag implementation

Canonical tags are a way of telling search engines which URL is the preferred version. Similar to our domain canonicalisation issue above, your Shopify store may have multiple variations of product pages, for example. Proper usage of canonical tags will prevent your store from having duplicate content issues.

Here is an example of the same product page with different URL variations:

  • https :// www. example.com/products/red-polka-dot-dress
  • https :// www. example.com/collections/women/dresses/red-polka-dot-dress
  • https :// www. example.com/collections/dresses/cocktail/red-polka-dot-dress
  • https :// www. example.com/collections/dresses/cocktail?gclid=ABCD

Amongst the URLs above, the first should be set as the canonical URL on duplicate variations.

<link rel="canonical" href="https://www.example.com/products/red-polka-dot-dress" />

Fortunately, for Shopify products and variants, the canonical URL output is the default product page with no collection or variant selected (i.e. the first URL above).

For specific use-cases, you can create custom canonical URLs for pages or blog posts by using if statements, based on various templates in your theme and using theme settings. This is usually only required if you are doing some fancy URL masking.

Old product redirection

Due to the nature of eCommerce websites, there will be times where products are out of stock, or even discontinued. Handling these product URLs correctly is crucial for maintaining your site’s technical ‘health’. Below is a decision flow chart to help you decide on which action is the most appropriate.

To implement redirects in bulk via import in Shopify, you can use Excelify. Otherwise, for manual URL redirects follow these steps:

Steps to create a URL redirect

  1. Go to Online Store > Navigation
  2. Click URL Redirects
  3. Click Add URL redirect
  4. In Redirect from, enter the old URL (only broken URLs work)
  5. In Redirect to, enter the new URL
  6. Click Add

Site speed

When it comes to SEO, ‘slow and steady’ doesn’t win the race. Here are a few tips for optimising your Shopify store site speed:

Test your site speed

There are plenty of tools out there to help you analyse site performance and speed, for both mobile and desktop. Here are some of our favourites:

Compress images

Shopify allows you to add JPEG, PNG, and GIF image formats. For existing images on Shopify, you can use Image Optimizer to compress image files without any quality loss. For new images, you can use tinypng.com for free to reduce the size of your images.

When performing image optimisation, make sure you are not compromising the quality of the image.

Keep HTTP requests to a minimum

You can reduce HTTP requests by doing the following:

  • Combine and inline CSS scripts
  • Combine and inline JavaScript files
  • Limit social buttons
  • Limit use of functional images
  • Minimise amount of plugins
  • Use a content delivery network (CDN)

Consider using AMP

Accelerated Mobile Pages (AMP) is a framework designed to create fast loading website on mobile. Shopify have a couple of apps which, allow you to generate AMP pages quickly and efficiently: RocketAMP or FireAMP. Read more from Shopify about how to build pages with AMP.

Rich snippet optimisation

Structured data is essential to make sure that Google can understand the context of your store’s content, especially for product pages. You can check your product pages for structured data by using Google’s Structured Data Testing Tool.

If you do not currently have any structured data on your product pages then you can copy and paste the code below to your product page template in Shopify.

{% assign current_variant = product.selected_or_first_available_variant %}<div id="richsnippet"> <div itemscope="" itemtype="http://schema.org/Product"> <meta itemprop="url" content="{{ shop.url }}{{ product.url }}"> <meta itemprop="image" content="{{ product.featured_image.src | img_url: 'grande' }}"> <meta itemprop="name" content="{{ product.title | escape }}"> <meta itemprop="description" content="{{ product.description | strip_html }}"> {% if product.vendor %}<meta itemprop="brand" content="{{ product.vendor }}">{% endif %} <div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"> <meta itemprop="priceCurrency" content="{{ shop.currency }}"> <meta itemprop="price" content="{{ current_variant.price | money_without_currency }}"> <link itemprop="availability" href="http://schema.org/{% if product.available %}InStock{% else %}OutOfStock{% endif %}"> <meta itemprop="seller" content="{{ shop.domain }}"> </div> </div> </div>

Otherwise, there are several Shopify apps for you to choose from in order to implement structured data across your site. We would recommend using JSON-LD for SEO.

Shopify SEO apps and tools

Shopify apps are a great way of adding extra functionality to your site. Some we have mentioned already include:

  • RocketAMP
  • Image Optimizer
  • JSON-LD for SEO
  • Excelify
  • FireAMP

Here is a list of some other useful Shopify apps for SEO

Final thoughts

All of the above mentioned may not include everything you need to know about Shopify SEO, but it will certainly give you a good start.

I hope you have found the article useful. Please do share your thoughts, as well as any tips you might have.