Shopify SEO Checklist

Follow this comprehensive SEO checklist to optimize your Shopify store for search engines. We've broken it down into essential sections covering site-wide settings, page-specific optimizations, and individual page types.

1. Site-Wide SEO Setup

Google Analytics is highly recommended for tracking traffic, sources (incl. search), sales/revenue, etc.

It also integrates with GSC to connect data from there.

You can access much of this data in your Shopify Dashboard, but for more detailed tracking and analysis I'd recommend GA4. Especially if you plan to work with an ads or SEO agency.

Google Search Console (GSC) is a requirement for any website taking SEO seriously.

Registering your website with GSC will give you information about how Google is crawling your website, what terms you're ranking for and getting traffic from, crawling and technical SEO issues, and more.

Read this guide from Google on how to add your website

Also if you're doing this for the first time, make sure to submit your sitemap to GSC. Just click into the "Sitemaps" menu under "Index" and add the following URL: yourwebsite.com/sitemap.xml.

Established sites will tend to have a lot of missing pages, which isn't always a major issue, it's still worth fixing. Especially if these pages have links.

You can find these pages in GSC under "Indexing" > "Pages" > "Not Found (404)".

Another great place to check is Ahrefs or Semrush broken backlinks report. Prioritise pages with links.

Use this clever Google search to find pages that shouldn't be indexed or have problems:

site:yourwebsite.com intitle:collections OR inurl:/collections/all OR inurl:collections/shop OR inurl:/collections/all/products/ OR inurl:tagged OR intitle:tagged OR inurl:vendors OR inurl:collections/types OR inurl:demo OR inurl:pages/home/ OR inurl:collections/home OR inurl:test OR inurl:screenshot OR inurl:portfolio OR inurl:landing OR inurl:pdf OR "liquid error"

Just copy and paste it into a Google search, after changing your URL.

Note these pages down for when we start noindexing, deleting, and blocking crawling of pages

Check the Page Indexing report in GSC for pages not indexed. Don't be alarmed if there's many more than indexed, that's normal.

You should have already addressed 404 pages, so you'll want to look at other reasons such as "Crawled - currently not indexed" and "Duplicate, Google chose different canonical than user".

Most likely there will be nothing out of the ordinary, but look for thin content pages, duplicate pages, and useless parameters causing duplicate pages.

While not directly related to SEO, it's highly important that your store has all the necessary trust signals. This will directly influence conversion rate (and time on site), which could possibly impact your SEO, and will also cover you long-term against Google's E-A-T.

(E-A-T stands for expertise, authoritativeness, and trustworthiness. Something Google's Quality Rates Guidelines are big on looking for)

This just means that you'll want basics covered like:

  • About Us
  • Contact Us
  • Privacy Policy
  • Terms of Service
  • Shipping Policy
  • Return Policy
  • Refund Policy
  • Third-Party Verified Reviews

By default product URLs are: /products/product-name.

However, when accessed through a collection (i.e. category) page, this becomes: /collections/name-of-category/products/name-of-product.

The problem with this is it's only for show, check any of these product pages for a canonical tag and you'll see a bit of code telling robots the original page can be found at the /products/name-of-product page.

This means every single product in your store has internal links to the wrong URL. And while you could argue they're "canonicalised" therefore shouldn't be an issue, this canonical tag serves little more than a recommendation and is often ignored by search engines.

This can lead to the same product being indexed in search engines multiple times, and a waste of crawl budget accessing the same product via multiple URLs.

Make sure to fix this by modifying your theme files.

Shopify use many parameters and tags in their URLs, leading to unnecessary crawling of duplicate content pages.

You can (and should) block these by adding disallow rules to your robots.txt file, such as:

  • Disallow: /collections/*?*filter*
  • Disallow: /collections/vendors*?*q=*
  • Disallow: /collections/*?*view*/li>

Depending on your theme, version, and site setup, I'd suggest starting with:

  • Faceted Navigation filters (i.e. /collections/*?*filter*)
  • Vendor collections (i.e. /collections/vendors?*q=*)
  • Types collections (i.e. /collections/types?*q=*)
  • Collection grid views (i.e. /collections/*?*view*)
  • Collection sorting (i.e. /collections/*?*sort_by*)

Learn more in our Shopify Robots.txt guide or verify with our Robots.txt testing tool.

Any pages you don't want to risk being blocked at crawl, or simply as a redundancy, you can add a noindex tag to the page.

I'd suggest doing this for the following page types:

  • Blog Tags (e.g. /blogs/news/tagged/name)
  • Product Tags (e.g. /collections/name/tag)
  • Testing pages, email pages, default /collection page, etc

You can read how to do this in our technical SEO guide.

If you've taken the recommended steps to stop crawling duplicate content parameters and noindexed low quality pages, you'll likely have an issue with these pages still persisting in the sitemap.

Shopify sitemap is fully automated, which is great, but there's no simple method to remove pages from it.

Thankfully there is a bit of a "hack" to pull it off, you can see how in our Shopify Sitemap guide.

If you're an established website, especially if your organic traffic has dropped or downtrending, you need to rebuild your site trust and quality.

The simplest way to do this is to delete any pages that have zero traffic (or very low).

Google Search Console (GSC) is the simplest method. Go to Performance > Search Results > Pages > filter by clicks less than 10.

Manually inspect the pages, delete any old blogs, and any pages that are no longer relevant.

If you don't want to lose the content, unpublish it instead. You can rewrite it later.

Make sure to redirect these pages to a relevant page on your site.

Google will automatically add your brand name above the title tag now, there's no need to include it.

Removing this gives you additional space for keywords and CTR optimization.

You can usually find this in your theme.liquid file, just look for the title tag.

Triple check your large images on the homepage, collection banners, and product images.

Any images should be sized exactly to the size they're displayed at, and compressed as much as possible.

Shopify will handle the conversion to webp, but I'd go step further and use an app like Crush.pics to automatically compress them.

You can also use our free web based compression tool.

This is the #1 reason for slow loading pages, don't sleep on it. Especially deceivingly small images like product swatches.

Slow loading pages and websites rank worse, here's a few basics you should do where possible:

  • Remove unused apps
  • Conditionally load app scripts
  • Minify JS and CSS
  • Async/defer non-essential scripts
  • Implement resource hints/preloading

Not all apps will allow you to minify their code, so you'll have to either ask them, or accept the performance hit.

Our detailed Shopify site speed guide covers this in more detail.

2. Homepage Optimization

Ensure title tag is optimized for length

Ensure meta description exists and is under 160 characters

Verify only one H1 exists on the page

Ensure H1 is optimized with target keyword

Ensure H1 is optimized with target keyword

Check and optimize text on images where applicable

3. Collection Pages Optimization

Ensure title tag is optimized for length

Verify main keyword is included in title tag

Ensure meta description exists and is under 160 characters

Verify meta description includes main keyword

Ensure meta description is optimized for click-through rate

Verify only one H1 exists on the page

Ensure H1 is optimized with target keyword

Collections have at least 3 products

4. Product Pages Optimization

Ensure title tag is optimized for length

Verify main keyword is included in title tag

Ensure meta description exists and is under 160 characters

Verify meta description includes main keyword

Ensure meta description is optimized for click-through rate

Verify only one H1 exists on the page

Keywords are not cannibalising collection pages

Ensure product descriptions are unique

5. Blog Posts Optimization

Verify only one H1 exists on the page

Internal links to relevant collections

Include links to related products

Keywords are not cannibalising collection pages

Search for years

6. Page-Specific Checklists