How to Audit Your Shopify Store for SEO: A Free 10-Step Checklist (2026)

Why most Shopify SEO audits miss the point
Most SEO audit guides walk you through a generic crawler dump - 200+ issues categorised by severity, half of them false positives on Shopify. This audit does the opposite: 10 specific, Shopify-aware checks, each runnable in 5-10 minutes, each linked to a free tool that does the heavy lifting.
By the end you'll have:
- A list of every meta title and description that needs fixing
- A list of every product image missing useful alt text
- Validated schema markup on your top product page
- Confirmed canonical correctness on products, collections, and paginated URLs
- A robots.txt sanity check
- A sitemap coverage check
- Core Web Vitals data on your highest-traffic pages
- A specific shortlist of internal linking moves to make
- A schema-app conflict check
- A rolling rechecks plan
Total time: 45-75 minutes for a small store, 2-3 hours for a 500+ product store. No paid tools required for the audit itself.
Sources cited throughout: Google Search Central documentation, Core Web Vitals thresholds, Shopify SEO help docs, Google Rich Results Test, Google PageSpeed Insights.
Before you start
Three things you'll want open in tabs:
- Google Search Console for your domain - verify it's set up; if not, follow Google's verification guide (DNS TXT record is the most reliable method)
- Your Shopify admin
- A spreadsheet or note doc to capture findings
If GSC isn't set up, do that first. The audit works without it but you lose half the value (real query data, real impressions data, real CTR data).
Step 1. Audit meta titles and descriptions
Time: 10-15 minutes
Why this matters: Shopify defaults the meta description to blank for most page types. Google then auto-generates a snippet from page content, often badly. Adding hand-written 150-160 character descriptions to your top pages typically lifts CTR from search by 5-15% within 30 days. Title tags are the single highest-correlation on-page SEO factor in most ranking studies (the 2024 Backlinko ranking factors study puts title tags in the top 5 on-page factors).
What to do:
- Open the Shopify meta tag checker
- Run it against your homepage, top 5 collection pages, and top 10 product pages
- Capture every page where the title is over 60 characters or under 30
- Capture every page where the description is missing, over 160 characters, or under 100
- In Shopify admin, edit each page's "Search engine listing preview" to fix - format
Primary keyword | Brandfor titles, 1-2 sentence benefit-led descriptions
[SCREENSHOT: meta-checker results showing pass/fail per page]
Do not bulk-rewrite every page in one session. Top 20 pages first. Re-audit in a week - search results often update within days.
Step 2. Audit image alt text
Time: 10-20 minutes
Why this matters: Three reasons - accessibility (legally required in some jurisdictions, including the EU European Accessibility Act effective June 2025), image search (a real traffic source for product stores - Google reports image search drives ~10% of search traffic), and context for Google's understanding of the page. Shopify pulls alt text from product.featured_image.alt. If unfilled, themes typically default to product title - which counts as "alt text present" to a generic crawler but is keyword-stuffing-adjacent and useless for accessibility.
What to do:
- Open the Shopify alt text checker
- Run it against your homepage, top collections, and a representative product page
- Capture: total images, % missing alt, % with generic alt (alt = product title), % with too-short alt (under 5 chars)
- Fix in Shopify admin: Products > [product] > image > add alt text. Or bulk via CSV export/import (Products > Export > edit "Image Alt Text" column > Import).
[SCREENSHOT: alt-text-checker results showing missing, generic, and too-short alt text per page]
Good alt text format: [Product or visible content] [key attribute] [optional context]. Examples:
- "Black running shoe with red laces, side view"
- "Cream linen shirt, model wearing on beach"
- "Open jar of vanilla candle showing wax depth"
Bad alt text: "running shoe Nike running shoe" or alt = product title repeated word-for-word.
Step 3. Validate schema markup
Time: 10 minutes
Why this matters: Schema markup powers rich results in SERPs (price, rating, availability, breadcrumbs, FAQ snippets) and lifts CTR significantly when present and valid. Shopify themes inject Product schema by default; apps inject more schema; the two often conflict. Generic crawlers report "schema present" or "schema invalid" without naming WHICH app caused which schema. Bad schema is worse than no schema - Google has documented manual actions against fake review markup.
What to do:
- Open the Shopify schema checker
- Run it against your homepage and one representative product page
- Verify: Product schema present and valid, BreadcrumbList present, Organization on homepage, AggregateRating only if reviews are visible on page
- Cross-check with Google Rich Results Test for the authoritative validation
- If you see two competing Product schemas on a single page, identify which apps inject schema (Apps > review each app's settings) and disable schema injection in all but one
[SCREENSHOT: schema-checker results showing detected schema types and validation status]
Common Shopify schema issues caught at this step:
- Two competing Product schemas (theme + app, or two apps)
- Reviews schema with no visible reviews on page
- BreadcrumbList with mismatched paths between visible breadcrumb and schema breadcrumb
- Product schema missing
offers.priceCurrency
Each is a 5-minute fix once identified.
Step 4. Check canonical URL correctness
Time: 5-10 minutes
Why this matters: Canonical tags consolidate ranking signals onto the "preferred" version of a URL when multiple versions exist (variants, paginated, filtered). Vanilla Shopify gets canonicals right; custom themes and apps often break them. Wrong canonicals fragment ranking signals across multiple URLs and can cause indexing inconsistency.
What to do:
- Open the Shopify canonical checker
- Run it on a product URL with
?variant=12345query parameter - canonical should point to parent product, not the variant URL - Run it on a paginated collection URL like
?page=2- canonical should usually point to the root collection, not self-reference - Run it on a filtered collection URL like
?filter.p.product_type=...- canonical should point to the unfiltered collection root
[SCREENSHOT: canonical-checker showing source URL, canonical URL, and pass/fail status]
If anything points anywhere unexpected:
- Variant URLs self-canonicalising: a custom theme bug or product configurator app - inspect
theme.liquidfor the canonical block, or disable the offending app - Pagination self-canonicalising: same root cause, same fix
- Filter URLs self-canonicalising: same
Step 5. Audit robots.txt for over-blocking
Time: 5 minutes
Why this matters: Shopify's default robots.txt blocks sensible paths (/cart, /account, /search). Merchants who edit robots.txt.liquid to add custom rules often over-block - blocking all of /collections/? (kills facet indexing), or blocking /policies/ (removes E-E-A-T signal). Generic crawlers fetch robots.txt but don't reason about what should and shouldn't be blocked on a Shopify store specifically.
What to do:
- Open the Shopify robots.txt analyzer
- Enter your store URL, run the audit
- Review the rules list - flag any custom Disallow rules
- Verify the analyzer's "common Shopify mistakes" check shows green: not blocking
/collections/, not blocking/products/, sitemap directive present, not blocking/policies/
[SCREENSHOT: robots.txt analyzer showing parsed rules with green/red highlighting]
If you have custom rules you don't recognise, find them in Shopify admin: Online Store > Themes > Edit code > Templates > robots.txt.liquid. Edit cautiously - removing a rule that was added intentionally to fix a different problem can re-introduce that problem. When in doubt, remove customisation and let Shopify's defaults apply.
Step 6. Audit sitemap coverage
Time: 5-10 minutes
Why this matters: A complete sitemap.xml ensures Google discovers every product, collection, blog post, and page. Shopify auto-generates a sitemap and indexes everything by default - but custom apps can override the default sitemap, and merchants occasionally apply noindex directives that exclude pages from the sitemap. Search Console's "Sitemaps" report tells you what was submitted and what was actually indexed.
What to do:
- Open the Shopify sitemap analyzer
- Enter your store URL, run the audit
- Review URL count by type: products, collections, blogs, pages
- Cross-reference with your Shopify admin counts (Products > total, Collections > total, etc.)
- Open Google Search Console > Sitemaps - verify the sitemap is submitted and read recently
- In GSC > Pages report, look at "Why pages aren't indexed" - resolve any "Excluded by 'noindex' tag" or "Crawled - currently not indexed" entries
[SCREENSHOT: sitemap-analyzer showing URL count by type plus sitemap-index structure]
Common sitemap issues:
- Auto-generated count is significantly less than admin count - usually a sitemap-overriding app is excluding URLs
- Products in admin not appearing in sitemap - check the product's "Available" status (unavailable products don't appear)
- Collections not appearing - check the collection has at least one product (empty collections may be excluded)
Step 7. Run Core Web Vitals on top traffic pages
Time: 10 minutes
Why this matters: LCP, INP, and CLS are confirmed Google ranking signals as part of the page experience update. Most Shopify stores fail INP on mobile due to cumulative app JS bloat. The thresholds: LCP under 2.5s, INP under 200ms (replaced FID in March 2024), CLS under 0.1 - all per Google's Core Web Vitals docs.
What to do:
- Open PageSpeed Insights
- Run your homepage, top collection page, and top product page through the test
- Look at the "Mobile" tab specifically - this is where most stores fail
- Capture the LCP, INP, CLS scores plus the top 3 opportunities listed
- Run our Shopify product page grader on a typical product page for a layered view
[SCREENSHOT: PageSpeed Insights mobile results showing LCP, INP, CLS scores]
Cheapest performance fixes for Shopify, in order of leverage:
- Audit installed apps - Apps menu - and remove any loading site-wide JS that you no longer use
- Convert hero images to WebP/AVIF and use
loading="eager"on the LCP element - Lazy-load below-the-fold images with
loading="lazy" - Defer non-critical third-party scripts (analytics, chat widgets)
- Pick a leaner theme if you're on a heavyweight custom theme; Shopify Dawn is a strong default
Step 8. Audit internal linking
Time: 15 minutes
Why this matters: Internal links pass ranking signals between pages on your site. Most Shopify stores under-link from blog posts to commercial pages (collections, products). The two highest-leverage internal linking moves: link from blog posts to relevant collection pages with descriptive anchor text, and link from your homepage to your top 5-10 collections (not just via the top navigation).
What to do:
- Open Google Search Console > Links report
- In the Internal Links section, look at "Top linked pages" - these are the pages your existing internal linking pushes hardest
- Compare to "Top performing pages" in GSC > Performance report - the pages that bring most traffic
- Spot the gap: pages that perform well but aren't well-internal-linked are candidates for more inbound links from blog posts and collection intros
- Identify 5 blog posts that could naturally link to a relevant collection or product - add the links, with descriptive anchor text
- On your homepage, ensure links exist to your top 5 collections beyond the nav menu
[SCREENSHOT: Search Console Internal Links report]
Avoid:
- Linking with anchor text like "click here" or "read more" - waste of opportunity
- Stuffing every blog post with 15 commercial links - looks spammy and dilutes link weight
- Linking to the same product 50 times across the blog with the same exact-match anchor - varies your anchor text
Step 9. Audit for app conflicts
Time: 10 minutes
Why this matters: Shopify Apps inject HTML, JS, and schema. Two apps doing similar jobs often inject competing markup - two reviews apps both writing AggregateRating, two FAQ apps both writing FAQPage, two SEO apps both writing meta tags. Generic SEO tools don't reason about which app caused which conflict.
What to do:
- In Shopify admin, list every installed app: admin > Apps
- Group apps by category - reviews, FAQ, schema, meta editor, page speed, etc.
- Flag any category with two or more apps - one is likely redundant
- View the page source on your homepage and one product page (Cmd-U or Ctrl-U)
- Search for
application/ld+json- count how many JSON-LD blocks exist - Search for "Product" within those blocks - if you see TWO
"@type":"Product"blocks, you have an app conflict - Run our Shopify schema checker for the structured analysis
[SCREENSHOT: page source view showing two competing Product schema blocks]
Most common Shopify app conflict pairs:
- Two reviews apps installed during a migration (e.g. Judge.me + Yotpo, both still on)
- Two SEO apps (e.g. Yoast Shopify + a generic "SEO Booster" app)
- Two FAQ apps
- A schema injector app on top of a theme that already injects schema
In each case, pick one to keep and fully uninstall the other (uninstall, not just deactivate, to remove residual code).
Step 10. Set up rolling rechecks
Time: 10 minutes
Why this matters: SEO is not a one-time audit. Themes update. Apps install and uninstall. Products are added and deleted. Shopify ships platform changes 2-3 times a year. Without rolling rechecks, your audit is out of date within 60 days.
What to do:
- Schedule a recurring 30-minute Friday SEO review in your calendar
- Each week, check: Google Search Console (impressions, CTR, errors, manual actions), Shopify Analytics (organic sessions, top landing pages), one of the seoscan.dev free tools you haven't checked in a while
- Each month, re-run this 10-step audit - it gets faster each time as you address findings
- Each quarter, re-run a deeper audit including app conflicts and schema validation
[SCREENSHOT: example calendar entry for Friday SEO review]
If 30 minutes a week feels like too much, SEOScan's full audit includes monthly automated rechecks and emails you a delta report - the changes since last audit, prioritised by impact. Worth $19/mo for store owners who don't enjoy spreadsheets.
A worked example: how this audit found 11 issues on a real Shopify store
For context on what to expect, here's the rough output of running this audit on the beauty store that featured in our 9-tool comparison. The audit took 70 minutes and surfaced 11 distinct issues:
- 18 of the top 50 product pages had no meta description (Step 1)
- 8 product pages had meta titles over 70 characters and were being truncated in SERPs (Step 1)
- 41% of product images had alt text equal to product title (Step 2)
- 12 product images had no alt text at all (Step 2)
- Two competing AggregateRating schemas on every product page - the store had migrated reviews apps and never uninstalled the old one (Step 3 + Step 9)
- Variant URLs were self-canonicalising on the custom theme - 200+ duplicate-content URLs Google was indexing separately (Step 4)
robots.txt.liquidhad a custom rule disallowing/policies/from a previous SEO audit done by an agency in 2023 - removed for E-E-A-T (Step 5)- Sitemap was missing 6 collections that had been set to "available only to specific channels" by mistake (Step 6)
- Mobile INP was failing at 280ms - root cause traced to two apps loading site-wide JS (Step 7)
- Top 5 collections had zero internal links from any of the 12 published blog posts (Step 8)
- Two FAQ apps installed simultaneously, both injecting FAQPage schema (Step 9)
Total time to fix: approximately 8 hours of merchant work over 2 weeks. Top three fixes (meta descriptions, removing the duplicate review app, adding 5 blog-to-collection links) lifted organic sessions 23% within 60 days.
The point isn't that every store has 11 issues - some have 4, some have 30. The point is that running through all 10 steps systematically surfaces a balanced mix of quick wins and structural issues, which is more useful than a 200-line generic crawler dump that hides the priority order.
What to do with the audit results
You'll likely come out of this audit with 30-100 line items. Don't try to fix them all in week one. Prioritise as follows:
Fix this week (high impact, low effort):
- Missing or wrong meta titles/descriptions on top 20 pages
- Missing alt text on top 50 product images
- Schema validation errors flagged in Rich Results Test
- App conflicts (uninstall the redundant app)
Fix this month (medium impact or medium effort):
- Internal linking gaps - 5-10 new blog-to-product links
- Robots.txt over-blocking
- Sitemap coverage gaps
- Canonical URL bugs
Fix this quarter (high effort but high payoff):
- Core Web Vitals issues - usually requires theme work or app removal
- Content depth on thin collection pages - 200-300 word intro paragraphs
Track but don't fix until needed:
- Backlink gaps (a different discipline; don't conflate with technical SEO)
- Keyword rankings for head terms (long-term game; track patiently)
Frequently asked questions
How long does this audit take the first time?
For a small store (under 100 products) and a typical Shopify theme, 45-75 minutes start to finish. For a 500+ product store with a heavily customised theme and 10+ apps, 2-3 hours. The audit gets significantly faster on subsequent runs because you're triaging changes rather than starting from scratch.
Do I need to be technical to run this audit?
No. Every step uses a free tool with a URL input. The fixes range from "edit a text field in Shopify admin" (most steps) to "edit theme code" (a few steps) to "uninstall an app" (Step 9). If a fix requires theme code editing and you're not comfortable, hire a Shopify Expert for the specific fix or post the question in r/shopify.
How often should I re-audit?
Full audit on theme launch, after every theme switch, after every major app install/uninstall, and quarterly. Light recheck monthly. Continuous monitoring via Search Console alerts.
Is this audit a substitute for paid SEO tools?
For most Shopify stores under 1,000 products, yes. The free tools cover 80% of the audit value. Paid tools add: backlink analysis (use Ahrefs Webmaster Tools free tier), competitor keyword research (use Ubersuggest free tier or paid Ahrefs/Semrush), and deeper site crawls (use the free 500-URL Screaming Frog tier). The 9-tool comparison at seoscan.dev/blog/shopify-seo-tools-compared-2026 breaks down what paid tools add over free.
What if my store fails most steps?
Don't panic. Most stores audited for the first time fail 4-6 steps. Fix in priority order (top of "Fix this week" list above). Re-audit in 30 days. Steady progress beats heroic one-off rewrites.
Why didn't you include backlink analysis in this audit?
Backlinks aren't a Shopify-specific concern - they're general SEO, and a different discipline (digital PR / outreach). Most paid SEO tools (Ahrefs, Semrush, Moz) cover backlinks well. This audit focuses on the on-site work that's often skipped specifically because Shopify-aware audits are rare. Pair this with an Ahrefs Webmaster Tools free account for a free backlink view.
What about AI search visibility?
The single highest-impact change for AI search visibility is adding inline statistics with source citations to your top pages (per GEO research, KDD 2024, this lifted LLM citation rates by 41%). FAQ schema with genuine FAQ content also helps. We covered this in Shopify SEO FAQ #40 and #41.
Should I do this audit myself or hire someone?
If you have an hour and want to learn your store deeply, do it yourself - the tooling makes it accessible to non-technical owners. If you'd rather pay someone $200-500 once and have a clean baseline, any Shopify Expert with SEO experience can run this audit faster than you can. The middle path: run it yourself once, fix the obvious wins, then hire someone for the deeper technical issues you don't feel comfortable with.
Next step
If you want to skip ahead and have all 10 steps automated with monthly rechecks, start a full SEOScan audit - $19/mo for the same checks plus delta reports.
Or run any individual tool again on a different page:
- Shopify alt text checker
- Shopify robots.txt analyzer
- Shopify meta tag checker
- Shopify sitemap analyzer
- Shopify schema checker
- Shopify canonical checker
- Shopify product page grader
- Full /tools index
Want to compare paid tools instead? See our 9 Shopify SEO Audit Tools Compared (Tested on Real Stores).
Or jump to the deepest reference: Shopify SEO FAQ: 47 Questions Answered (2026) - covers schema, Core Web Vitals, canonicals, app conflicts, AI search, mobile, and every Shopify-specific concern in detail.

Written by the SeoScan Team
Technical Shopify experts committed to helping merchants dominate search results through data-driven strategies and automated intelligence.
Don't just read. Implement.
Our AI auditor scans your store for the exact tech-debt mentioned in this guide.
Run Free ScanReady to fix your Shopify
SEO for good?
Join 2,000+ merchants using SEOScan to audit, optimize, and rank. Your first scan is on us.