1. Home
  2. Services
  3. Shopify Technical SEO
Shopify SEO

Shopify technical SEO, fixed in the theme code

Duplicate product paths, filter URLs and broken structured data hold back stores that already have good products. I find these problems and fix them in your Liquid code.

Is this you?

Signs you need Shopify technical seo

“Duplicate without user-selected canonical” keeps growing in GSC
Filtered collection URLs are getting indexed
Product rich results disappeared or show errors
Old app code is still loading on every page
Pagination pages outrank the main collection
Hreflang errors after enabling Shopify Markets
What’s included

What you get

From $350 per sprint. Scoped on a call, fixed in writing before work starts.

01Internal link path cleanup

Collection grids link to /products/handle, not the /collections/x/products/handle path. That one change removes a large source of duplicate URLs.

02Faceted navigation control

Filter and tag URLs are noindexed or kept out of the crawl, while the filter combinations people actually search for stay indexable.

03robots.txt.liquid

Custom crawl rules for search, cart, checkout and filter parameters, written carefully so nothing important gets blocked.

04Structured data

Product, Offer, AggregateRating, BreadcrumbList, Organization and FAQ schema in JSON-LD, validated against Google’s requirements.

05Redirect & 404 hygiene

Redirect chains removed, high-value 404s recovered, and discontinued products handled without losing their rankings.

06Template-level speed

Render-blocking scripts deferred, images sized correctly, and fonts and app embeds trimmed on each template.

The detail

How I approach Shopify Technical SEO

Written by Saqib Ali, Shopify SEO lead & developer at Globe Skillz. Updated November 2026.

Saqib Ali

Saqib Ali
Shopify SEO & development since 2019. 180+ projects across 42 countries.

The five Shopify issues I fix most often

IssueWhy it hurtsThe fix
Collection-aware product URLsSplits link equity and crawl budget across copies of the same productChange product.url logic in the product-card snippet
Indexed tag pagesHundreds of thin, near-duplicate pagesConditional noindex on current_tags
Missing or broken Product schemaLost rich results and lower click-through rateOne JSON-LD block that includes variants and offers
Leftover app scriptsSlower LCP and INP on every templateAudit theme.liquid and app embeds, then remove the dead code
Hreflang across MarketsThe wrong country version ranksCheck Markets domains, subfolders and alternate tags

Developer discipline

Every change is made on a duplicate theme, reviewed, and published only after it’s been tested. You get a changelog of what changed and why, so your next developer won’t undo it by accident.

Proof

Results from a real client

Google Search Console, 3 months: 25.9K clicks, 1.81M impressions — Online bookstore
Real client data

Online bookstore

Large catalog, thousands of product URLs. Indexation control and collection-led rankings.

Clicks
25.9K
Impr.
1.81M
CTR
1.4%
Pos.
8.0

See all SEO results →

FAQ

Shopify Technical SEO questions

Have a different question? Ask me on WhatsApp.

Can you edit robots.txt on Shopify?

Yes, through the robots.txt.liquid template. It’s easy to break things, so I only add rules that solve a specific problem I’ve confirmed in Search Console.

Should Shopify tag pages be indexed?

Usually not. Most tag pages are thin filtered views. The exception is a tag combination that matches real search demand. In that case it’s usually better to create a dedicated collection for it.

Will technical fixes break my theme?

No. All work happens on a duplicate theme first and is tested before it’s published. You can roll back with one click.

Do you work on headless Shopify (Hydrogen)?

Yes, for technical SEO reviews: rendering, routing, canonicals and sitemaps. Large Hydrogen builds are scoped on a case-by-case basis.

Want to know what’s holding your store back?

Send me your store URL. I’ll record a short review of the biggest SEO and technical issues I can find — free, and yours to keep whether we work together or not.