A 47-Point Shopify SEO Checklist
A large majority of Shopify stores that get properly audited turn up the same 15–20 technical issues, usually costing them 20–40% of the rankings they should otherwise have. Great blog content doesn't matter much if the site architecture is broken and page speed is terrible, so this checklist runs technical foundation first, content second, and everything else after that.
Phase 1: Technical foundation (items 1–15)
These are the items that undermine everything else if they're broken. Fix these before anything else.
Crawling and indexing
- Check robots.txt for blocking errors. Visit
yourstore.com/robots.txtand actually read it. Shopify's default is mostly fine, but an edited version can accidentally block an entire directory like/collections/, an instant traffic killer. - Submit the XML sitemap to Google Search Console. It lives at
yourstore.com/sitemap.xml. If the site isn't verified in Search Console with the sitemap submitted, that's five minutes that matters more than almost anything else on this list. - Check for noindex tags on important pages. Search the theme code for
noindex. Shopify doesn't add these by default, but apps and past developers sometimes do, an entire catalog set to noindex because a staging app was never removed is a real, recurring failure mode. - Review canonical tags. Every page should have a self-referencing canonical tag. Products appearing in multiple collections can create canonical confusion, confirm product pages canonicalize to
/products/product-name, not to a collection-nested variant of the URL. - Fix duplicate content from URL variants. Shopify can generate multiple URLs for the same product through collection paths, make sure every variant points back to the canonical product URL.
Site speed
- Run PageSpeed Insights on five key pages. Homepage, a collection page, a product page, a blog post, and the cart page. Document the scores; anything under 60 on mobile needs immediate attention.
- Audit installed apps for speed impact. This is usually the biggest speed killer on Shopify, every app adds JavaScript. It's common to find fifteen or twenty apps installed with several no longer even in use. Remove what isn't needed. The worst offenders tend to be live chat widgets, review apps loading on every page, loyalty popups, social-proof notification widgets, and countdown timers.
- Optimize images. Anything over 200KB per product image is too big. Resize before uploading, 1200px wide is plenty for most product images.
- Minimize render-blocking resources. Check how many CSS and JS files load before the page renders. Defer non-critical JavaScript and inline critical CSS where the theme allows it.
- Check the Largest Contentful Paint element on each page type. Usually the main product image on product pages, the first product card image on collection pages. Preload these to bring LCP under two seconds.
Mobile experience
- Test mobile usability in Search Console and fix everything it flags, over 70% of eCommerce traffic is mobile now, so a broken mobile experience is a broken SEO strategy.
- Check tap targets. Buttons and links need to be at least 48×48 pixels on mobile. Filter buttons on collection pages are the most common failure point.
- Verify viewport configuration is set correctly in the theme, almost always fine by default, but custom themes occasionally miss it.
SSL and security
- Confirm HTTPS everywhere, and check for mixed-content warnings, usually caused by images or scripts loaded over HTTP from an external source.
- Verify HSTS headers, especially on a custom domain with specific DNS configuration.
Phase 2: On-page optimization (items 16–30)
Starting here without fixing Phase 1 first is like painting a house on a cracked foundation.
Title tags and meta descriptions
- Audit every page title for uniqueness, export titles with a crawler like Screaming Frog and look for duplicates.
- Use a consistent title format: Primary Keyword – Secondary Keyword | Brand Name, kept under 60 characters (the brand name gets cut off first on mobile, which is fine).
- Write unique meta descriptions for the top 50 pages by traffic or revenue, manual work, but worth it.
- Check for missing meta descriptions anywhere else, and use at minimum a template: "Shop [Product Category] at [Brand]. [Benefit]. Free shipping on orders over $[amount]."
Heading structure
- Verify exactly one H1 per page, the product name on product pages, the collection name on collection pages, the post title on blog posts.
- Check heading hierarchy, H1 to H2 to H3, no skipped levels.
- Include keywords naturally in H2 subheadings, never stuffed.
Product pages
- Write unique product descriptions of at least 150 words. Manufacturer copy that appears on fifty other stores gives Google no reason to rank the page.
- Add product schema markup, review schema, offer schema, and brand schema beyond whatever the theme includes by default.
- Optimize product image alt text with real descriptions that include the product name.
- Add FAQ sections to top product pages, pulled from real customer questions and marked up with FAQ schema, this alone tends to drive a real lift in organic impressions per product page.
- Implement breadcrumb navigation with breadcrumb schema.
Collection pages
- Add collection descriptions of at least 200 words, with a 300–500 word section below the grid where it makes sense.
- Keep collection URLs short and keyword-rich,
/collections/womens-running-shoes, not a long string of modifiers. - Set proper pagination with correct
rel=next/rel=prevhandling (or the modern equivalent), and unique titles on each paginated page.
Phase 3: Content and structure (items 31–40)
Blog setup
- Create a real content hub, not just a plain chronological blog list, categories and featured posts help both users and crawlers.
- Keep blog post URLs short and keyword-rich, with dates removed so content doesn't look outdated.
- Add visible author information and author schema to every post, Google's quality signals reward named, credentialed authors.
- Show related posts at the bottom of every post to increase pages per session and strengthen internal linking.
Internal linking
- Link the top five to eight collection pages from main navigation, these are the most commercially important pages, so give them the strongest internal signals.
- Cross-link related collections at the bottom of each collection page.
- Link every blog post to at least one product page and one collection page, most eCommerce blogs generate traffic but never point it toward revenue.
- Build a keyword-to-URL map, one spreadsheet column for target keywords, one for the URL that should rank for each, to prevent keyword cannibalization and guide internal linking.
Structured data
- Add Organization schema to the homepage with brand name, logo, social profiles, and contact info.
- Add LocalBusiness schema if there's a physical location, with address, hours, and phone number.
Phase 4: Off-page and monitoring (items 41–47)
- Claim and optimize a Google Business Profile, even for an online-only brand, it still helps establish trust signals.
- Set up a weekly Search Console review, indexing issues, coverage errors, Core Web Vitals, and search performance trends, on a recurring calendar slot.
- Monitor the Manual Actions section monthly, if Google penalizes a site, you want to know immediately, not six months later once traffic has already tanked.
- Track crawl stats, a sudden drop in crawl frequency usually points to a robots.txt change, a server speed issue, or a flood of error pages.
- Set up GA4 with proper eCommerce tracking, purchase events, add-to-cart events, and product view events all firing correctly.
- Create an organic-traffic-only segment in GA4 and track its revenue, conversion rate, and AOV separately from paid and direct.
- Set up automated alerts for traffic drops over 20% week-over-week, sudden 404 spikes, and conversion rate drops over 15%.
How this typically breaks down
Run through all 47 items on a store and the issues usually sort into a handful of critical problems actively hurting rankings, often technical, like broken canonicals, speed problems, or indexing blocks, ten to fifteen high-priority optimizations that drive quick wins (title tags, collection content, schema), and another ten to fifteen medium-priority items for ongoing work (blog content, internal linking, monitoring setup). Most stores see ranking improvement within 45–60 days of fixing the critical and high-priority items, with revenue impact following in month three or four as higher rankings turn into traffic and traffic turns into orders.
Print the list, run through it this week, and fix what's broken in priority order.
Want this checklist run against your store, item by item?
Connect with me on LinkedIn →