Shopify powers over four million online stores globally. It handles hosting, SSL, and basic on-page SEO elements out of the box. But “out of the box” is rarely enough to compete in organic search — particularly in competitive UK ecommerce niches where the difference between page one and page two is measured in tens of thousands of pounds of monthly revenue.
Technical SEO is the foundation everything else sits on. You can produce outstanding content, build high-authority backlinks, and optimise every product description on your store, but if Google cannot efficiently crawl, understand, and index your pages, none of it matters.
This guide covers every aspect of technical SEO for Shopify — from the fundamentals that every store needs to get right, through to the advanced configurations that separate high-performing stores from the rest. It is based on what we have learned auditing and fixing hundreds of Shopify stores over two decades in ecommerce. If you want to understand what your SEO agency should actually be doing, technical SEO is where it starts.
Why technical SEO matters for Shopify
Technical SEO is the practice of optimising the infrastructure of your website so that search engines can crawl, index, and rank your pages effectively. On Shopify, this matters more than most merchants realise because the platform makes certain architectural decisions on your behalf — and not all of them are ideal for SEO.
Consider the typical Shopify store. It generates hundreds, sometimes thousands, of URLs automatically: product pages, collection pages, tag-filtered URLs, vendor pages, paginated results, and internal search result pages. Without proper technical SEO controls, Google wastes crawl budget on low-value pages while potentially missing the ones that actually drive revenue.
Technical SEO is not about chasing algorithm updates. It is about building a technically sound foundation that makes every piece of content, every product page, and every collection page as accessible and understandable to search engines as possible.
The commercial impact is tangible. We have audited Shopify stores that had thousands of indexed pages generating zero organic traffic — because they were thin tag pages and duplicate collection variants. Meanwhile, their genuinely valuable product and collection pages were being diluted by this index bloat. Cleaning up the technical foundations led to meaningful improvements in organic traffic within weeks, not months.
If you are unsure whether your current SEO agency is actually doing anything productive, start by asking them about your technical SEO health. If they cannot give you a clear answer, that tells you everything you need to know.
Crawlability and indexation
Crawlability determines whether search engine bots can access and read your pages. Indexation determines whether those pages are stored in the search engine’s database and eligible to appear in results. On Shopify, there are several areas that require deliberate attention.
The robots.txt file
Shopify generates a default robots.txt file that blocks certain paths from being crawled. Since 2021, you can customise this through the robots.txt.liquid template in your theme. This is a significant improvement over the previous system where merchants had no control at all.
Key paths you should consider blocking or managing:
- /search — Internal search results pages create infinite URL combinations with no SEO value.
- Tag-filtered collection URLs — URLs like
/collections/all/tag-nameoften create thin, duplicate content. - /cart and /checkout — These should never be indexed (Shopify blocks these by default).
- Faceted navigation parameters — If you use an app for product filtering, block the parameterised URLs from being crawled.
// Example robots.txt.liquid additions
{% comment %}
Block internal search and tag-filtered URLs
{% endcomment %}
User-agent: *
Disallow: /search
Disallow: /collections/*+*
Disallow: /collections/vendors?q=*
XML sitemaps
Shopify automatically generates an XML sitemap at /sitemap.xml. This is a sitemap index file that links to child sitemaps for products, collections, pages, and blog posts. You cannot directly edit the sitemap, which is one of the platform’s limitations.
What you can control:
- Remove pages from the sitemap by adding the
noindexmeta tag to specific templates — Shopify will automatically exclude them. - Submit your sitemap in Google Search Console and Bing Webmaster Tools.
- Monitor indexation by comparing the number of URLs in your sitemap against the number of indexed pages in Search Console’s Coverage report.
A common issue: the sitemap may include pages you do not want indexed, such as policy pages, password-protected pages, or seasonal landing pages that are no longer relevant. Manage these through noindex tags rather than trying to manipulate the sitemap itself.
Meta robots and noindex tags
Use <meta name="robots" content="noindex, follow"> on pages that should not appear in search results but whose links should still be followed. Common candidates on Shopify include:
- Thank you / confirmation pages
- Campaign-specific landing pages after the campaign ends
- Tag and vendor collection pages (unless they serve a genuine user need)
- Account pages (login, register, order history)
In Liquid, you can conditionally apply noindex tags based on template type, collection handle, or other criteria. This gives you precise control over what enters Google’s index.
Site architecture and URL structure
Shopify imposes a relatively flat URL structure, which has both advantages and disadvantages for SEO.
The Shopify URL hierarchy
Every Shopify store follows this URL pattern:
/products/product-handle— Product pages/collections/collection-handle— Collection pages/pages/page-handle— Static pages/blogs/blog-handle/post-handle— Blog posts
You cannot change these prefixes. Unlike WordPress or custom platforms, you cannot have a product URL at /mens-trainers/nike-air-max-90. This is a trade-off of using Shopify — you gain platform stability and hosting at the cost of URL flexibility.
Navigation and crawl depth
Crawl depth — the number of clicks from the homepage to any given page — directly influences how often Google crawls and how highly it prioritises a page. Every important page on your store should be reachable within three clicks of the homepage.
For Shopify stores, this means:
- Homepage links to main collections via the primary navigation.
- Collections link to individual products.
- Products are reachable in two clicks (Homepage → Collection → Product).
Problems arise when stores have deep nested subcollection structures, rely on search or filtering as the primary way to discover products, or have orphaned pages that are not linked from anywhere in the navigation.
Collection page architecture
Collections are arguably the most important pages on a Shopify store from an SEO perspective. They target high-volume, commercial-intent keywords (“mens running shoes”, “organic skincare”, “wireless headphones”) and serve as category hubs that distribute link equity to individual product pages.
Best practices for collection page SEO:
- Write unique, keyword-rich collection descriptions of 200–400 words minimum.
- Use proper heading hierarchy: H1 for the collection title, H2 for subsections within the description.
- Link to related collections from within the description text.
- Ensure pagination is handled with
rel="next"andrel="prev"(though Google has deprecated this, Bing still uses it). - Add structured data for CollectionPage schema.
Handling duplicate content
Duplicate content is the single most common technical SEO issue on Shopify. The platform creates multiple URL paths to the same content by design, and without proper handling, this dilutes your ranking signals across multiple URLs.
The product URL duplication problem
Every product on Shopify is accessible via at least two URLs:
/products/product-handle— the canonical URL/collections/collection-handle/products/product-handle— the collection-scoped URL
If a product appears in five collections, it has six URLs pointing to identical content. Shopify adds a canonical tag on the collection-scoped versions pointing to the root /products/ URL, which is correct behaviour. But you need to verify this is working properly, particularly if your theme has been customised.
// Verify canonical tags are correct in your theme
// In product.liquid or main-product.liquid:
{{ canonical_url }}
// Should always output:
// https://yourstore.com/products/product-handle
// NOT:
// https://yourstore.com/collections/some-collection/products/product-handle
Tag pages and vendor pages
Shopify automatically creates URLs for every product tag and vendor. A collection with 20 tags generates 20 additional URLs, each showing a filtered subset of products. In most cases, these are thin content pages that duplicate existing collection pages with marginally different product selections.
The fix: add noindex tags to tag-filtered and vendor collection pages. In your collection template:
{% if current_tags %}
<meta name="robots" content="noindex, follow">
{% endif %}
Pagination
Collection pages with many products generate paginated URLs (?page=2, ?page=3, etc.). These can create crawl budget issues and duplicate content concerns.
Best practices:
- Do not noindex paginated pages — they provide the only crawl path to products on those pages.
- Set the canonical tag on paginated pages to self-reference (each page is canonical to itself).
- Consider increasing the number of products per page to reduce total pagination depth.
- Ensure paginated pages have unique title tags and meta descriptions that indicate the page number.
Page speed and Core Web Vitals
Core Web Vitals are confirmed ranking signals. Google measures three metrics: Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS). For Shopify stores, page speed is both a ranking factor and a conversion factor — ongoing optimisation is essential because entropy naturally degrades performance over time.
Largest Contentful Paint (LCP)
LCP measures how quickly the largest visible element loads. On Shopify product pages, this is typically the main product image. Target: under 2.5 seconds.
Optimisation strategies:
- Use Shopify’s native image CDN — it automatically serves WebP/AVIF formats and responsive sizes. Use the
image_tagfilter withwidthandheightsattributes. - Preload the hero image — add
<link rel="preload" as="image">for above-the-fold images. - Minimise render-blocking resources — defer non-critical CSS and JavaScript. Load app scripts asynchronously where possible.
- Reduce app bloat — every Shopify app injects its own CSS and JavaScript. Audit regularly and remove unused apps.
Interaction to Next Paint (INP)
INP replaced First Input Delay in 2024 and measures overall responsiveness throughout the user’s entire visit. On Shopify, poor INP scores are typically caused by:
- Heavy JavaScript from third-party apps (reviews, upsells, pop-ups, chat widgets)
- Unoptimised theme JavaScript that blocks the main thread
- Complex DOM structures with excessive nesting
Solutions include lazy-loading app scripts, using requestIdleCallback for non-critical operations, and reducing the total number of apps installed.
Cumulative Layout Shift (CLS)
CLS measures visual stability — how much the page layout shifts as elements load. Target: under 0.1.
Common CLS culprits on Shopify:
- Images without explicit width and height attributes
- Dynamically injected content from apps (review stars, badges, pop-ups)
- Web fonts loading and causing a flash of unstyled text (FOUT)
- Lazy-loaded elements that shift content when they appear
// Always set explicit dimensions on images
{{ product.featured_image | image_url: width: 800 |
image_tag: width: 800, height: 800,
loading: 'lazy',
class: 'product-image' }}
Structured data implementation
Structured data (schema markup) helps search engines understand the content and context of your pages. On Shopify, proper implementation can unlock rich results — star ratings in search results, product pricing, availability badges, FAQ dropdowns, and breadcrumb navigation.
Essential schema types for Shopify
| Schema type | Where to implement | Rich result |
|---|---|---|
| Product | Product pages | Price, availability, review stars |
| BreadcrumbList | All pages | Breadcrumb trail in SERPs |
| Organization | Homepage | Knowledge panel, sitelinks |
| Article | Blog posts | Article rich result |
| FAQPage | FAQ sections | FAQ accordion in SERPs |
| CollectionPage | Collection pages | Enhanced listing |
| LocalBusiness | Homepage / about page | Local pack, maps |
Product schema implementation
Product schema is the most impactful structured data for ecommerce. A proper implementation includes:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "{{ product.title | escape }}",
"description": "{{ product.description | strip_html | truncate: 500 | escape }}",
"image": "{{ product.featured_image | image_url: width: 1200 }}",
"sku": "{{ product.selected_or_first_available_variant.sku }}",
"brand": {
"@type": "Brand",
"name": "{{ product.vendor | escape }}"
},
"offers": {
"@type": "Offer",
"url": "{{ canonical_url }}",
"priceCurrency": "{{ cart.currency.iso_code }}",
"price": "{{ product.selected_or_first_available_variant.price | money_without_currency | remove: ',' }}",
"availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}",
"seller": {
"@type": "Organization",
"name": "{{ shop.name | escape }}"
}
}
}
</script>
For products with multiple variants at different price points, use AggregateOffer instead of Offer to specify a price range.
Validating structured data
Use Google’s Rich Results Test and Schema Markup Validator to verify your implementation. Common issues on Shopify include:
- Missing required fields (price, availability, image)
- Incorrect price formatting (including currency symbols in the price value)
- Multiple conflicting schema blocks from different apps
- Review schema referencing reviews that are not visible on the page
Internal linking strategy
Internal linking distributes PageRank throughout your site, establishes topical relationships between pages, and helps Google understand your site hierarchy. On Shopify, the limited template flexibility means you need to be more deliberate about internal linking than on more flexible platforms.
Linking from collection descriptions
Collection page descriptions are prime real estate for internal links. Every collection description should link to two or three related collections and at least one relevant blog post. This creates topical clusters that signal to Google which pages are most important and how they relate to each other.
Blog-to-product linking
Your blog content should link to relevant products and collections naturally within the content. This is where a proper SEO strategy pays dividends — informational blog content targeting top-of-funnel keywords links to commercial collection and product pages, passing link equity to your money pages.
Cross-linking between products
Product descriptions should reference related products. Shopify’s “Related Products” section helps, but algorithm-driven recommendations are not a substitute for deliberate, keyword-rich contextual links within product descriptions.
International SEO on Shopify
If you sell internationally, technical SEO becomes significantly more complex. Shopify Markets simplifies some aspects, but there are critical technical requirements you need to get right.
Hreflang implementation
Hreflang tags tell search engines which language and regional version of a page to serve to users in different locations. Shopify Markets automatically generates hreflang tags when you set up multiple markets, but you should verify they are correct.
Common issues:
- Missing return tags (if page A references page B, page B must reference page A)
- Incorrect language/region codes
- Hreflang tags pointing to non-canonical URLs
- Missing
x-defaulttag for the fallback version
Currency and pricing
Your Product schema must reflect the correct currency for each market. If you show prices in GBP to UK visitors and EUR to European visitors, the structured data must match what the user sees on the page. Google can penalise sites where schema data does not match visible content.
Domain strategy
Shopify supports three approaches for international stores:
- Subfolders (
/en-gb/,/fr/) — recommended for most stores. All link equity stays on one domain. - Subdomains (
uk.store.com) — treated as separate sites by Google. Only use if you have significant marketing resources for each market. - Country-code domains (
store.co.uk,store.fr) — strongest geo-targeting signal but requires managing multiple domains.
Advanced technical fixes
Beyond the fundamentals, there are several advanced technical SEO configurations that can give your Shopify store a competitive edge.
Log file analysis
Shopify does not give you access to server logs by default. To understand how Googlebot crawls your store, you need to implement a custom log file analysis solution. Options include using a JavaScript-based bot detection snippet or a third-party service that intercepts and logs crawler requests.
Log file analysis reveals:
- Which pages Googlebot crawls most frequently
- Pages that are crawled but never indexed
- Crawl waste on low-value URLs
- How quickly new products are discovered
Edge SEO with Shopify
While Shopify limits access to server configuration, you can implement certain optimisations at the edge using Shopify’s built-in features and workarounds:
- 301 redirects — manage through Shopify admin or bulk upload via CSV. Critical after any migration or URL restructuring.
- Custom meta tags — add conditional meta tags through theme Liquid code for granular control over indexation.
- Header optimisation — use
theme.liquidto add preconnect, preload, and dns-prefetch hints for critical resources.
JavaScript rendering
Shopify themes are largely server-side rendered, which is good for SEO. However, Shopify apps often inject content via JavaScript after page load. This means Googlebot may not see app-generated content (reviews, product recommendations, custom widgets) during its initial HTML crawl.
To ensure critical content is visible to search engines:
- Verify app-generated content appears in the rendered HTML using Google’s URL Inspection tool
- For review content, implement the structured data separately from the visual display
- Avoid relying on JavaScript for critical navigation or internal links
Technical SEO audit checklist
Use this checklist to audit the technical SEO health of any Shopify store. We run through this on every SEO engagement we undertake.
Crawlability
- robots.txt is customised and blocking low-value paths
- XML sitemap is submitted to Search Console and Bing Webmaster Tools
- No critical pages are accidentally blocked from crawling
- Internal search result pages are blocked or noindexed
- Faceted navigation URLs are managed properly
Indexation
- Indexed page count in Search Console matches expected number
- No valuable pages are excluded from the index
- Tag and vendor pages are noindexed
- Paginated pages are self-canonicalising
- Duplicate content issues are resolved with canonical tags
On-page technical elements
- Every page has a unique title tag and meta description
- Heading hierarchy is correct (single H1, logical H2/H3 structure)
- Canonical tags are present and correct on all pages
- Image alt attributes are descriptive and keyword-relevant
- All images use Shopify’s CDN with responsive sizing
Performance
- Mobile PageSpeed score above 70 (target 90+)
- LCP under 2.5 seconds
- INP under 200 milliseconds
- CLS under 0.1
- No more than 8 active apps
- All images are in WebP or AVIF format
Structured data
- Product schema on all product pages
- BreadcrumbList schema on all pages
- Organization schema on the homepage
- Article schema on blog posts
- No validation errors in Rich Results Test
International (if applicable)
- Hreflang tags are present and reciprocal
- x-default tag is set
- Currency in schema matches displayed currency
- Content is genuinely translated (not machine-translated only)
Technical SEO is not a one-off task. It is an ongoing discipline that requires regular auditing, monitoring, and maintenance. Apps get added and removed, themes get updated, products are created and archived — every change has the potential to introduce technical issues that impact your organic visibility.
If you are serious about organic growth for your Shopify store, start with the foundations outlined in this guide. Audit your current state, prioritise the fixes that will have the greatest impact, and build a regular review cadence to catch issues before they compound.
We work with Shopify brands across the UK on exactly this type of work. If you want an experienced team to audit your technical SEO and build a roadmap for improvement, start a conversation with us. No jargon, no fluff — just practical, commercially-focused SEO work that moves the needle.