ShipworkSite inspection
Checks

Crawlability

PaginationAre paginated pages set up right?Internal searchIs site search eating crawl budget?URL parametersAre parameters creating duplicates?Log analyserWhat does Googlebot actually crawl?Robots builderNeed a robots.txt file?Soft 404sAre pages “not found” but returning 200?JavaScriptCan crawlers see it without running JS?FreshnessIs my site quietly going stale?Robots.txtDoes robots.txt say what I think?

Indexing

Sitemap lastmodAre my sitemap dates valid?SitemapIs my sitemap actually fetchable?IndexingIs Google allowed to index my pages?CanonicalsIs Google indexing the wrong URL?Index signalsDo sitemap and index signals agree?Sitemap generatorNeed a sitemap.xml for my site?Bulk URL statusWhere does each of these URLs really land?Redirect builderNeed the redirect rules?RedirectsAre my URLs answering directly, over HTTPS?

On-page

Keyword ideasWhat are people searching for?SERP previewHow does my page look in Google?Content qualityAre your pages too thin or too alike?Image weightAre images slowing the page?CannibalizationAre pages competing with each other?On-page checkDoes the page use its target phrase?ImagesAre my images accessible and loading?Meta tag builderWhat should my title and share tags say?DuplicatesDo my pages compete for one query?

Links

Orphan pagesWhich pages can no link reach?Link graphHow deep do your pages sit?Anchor textDo links say what they point at?Outbound linksAre external links still alive?Broken linksAre internal links sending visitors nowhere?

Structured data

Rich resultsIs my markup eligible for a rich result?Structured dataIs my product schema valid?Schema coverageDo my key pages carry structured data?Social previewHow does my page look when shared?Schema vs pageDoes markup match the page price?Schema builderNeed valid JSON-LD?

International

Hreflang sitemapDo page and sitemap hreflang agree?HreflangDo my language versions link back?Hreflang builderNeed the hreflang tags?Page DoctorWhy is this page not doing well?Redirect planMy site has dead links — what redirects do I write?Sitemap diffIs anything missing from my sitemap?Robots simulatorWhat does my robots.txt actually block?Can Googlebot?Can Googlebot fetch this URL?
Every error, explainedGuides
Pricing Learn Error guides Run free audit

+1 free check

Welcome to Shipwork

Sign in free and your next check this month is on us.

Continue with GoogleContinue with email

We email you a 6-digit code. No password.

No card needed. Reports and watches follow you to any device.

robots.txt for Shopify: the lines that matter

Shopify writes most of your robots.txt for you, and lets apps and snippets rewrite it without asking. One wrong Disallow can hide your products from Google; one missing Allow is harmless but sloppy. Here is the template that works, line by line, and the mistakes that actually hurt stores.

The template that works

User-agent: *
Disallow: /admin
Disallow: /cart
Disallow: /orders
Disallow: /checkouts/
Disallow: /checkout
Disallow: /carts
Disallow: /account
Allow: /products/
Allow: /collections/
Allow: /pages/
Allow: /blogs/

Sitemap: https://yourstore.com/sitemap.xml

The shape is deliberate: transactional and account paths closed, content paths open, sitemap declared with the exact live URL. Replace the domain, keep the shape.

CLOSED/admin /account/cart /checkout*/orders /searchOPEN/products/ /collections//pages/ /blogs/Sitemap: declared
Closed: logins, carts and internal search. Open: everything a shopper (or Google) should find. One wrong line in the left column hides products.

What stays disallowed

PathWhy closed
/admin, /accountNo crawler business behind logins; login pages dilute demand
/cart, /carts, /checkout*Transactional dead-ends that multiply URL space
/ordersPrivate order-status pages with zero index value

What must stay crawlable

Products, collections, pages and blogs are the indexable surface of the store: each needs an explicit Allow so no broader rule can accidentally swallow it. The Sitemap line must name the exact root URL Google should fetch; a stale domain here is one of the top “could not fetch” causes. Anything AI-specific lives in named-agent groups alongside this base, covered in the AI crawler guide.

The mistakes that hurt

  • Disallow: / under User-agent: *: total blackout, usually left over from a staging or maintenance window. Check first, always.
  • Blocking /products/ or /collections/: sometimes added by SEO apps during setup. Products vanish from the index while the store looks untouched.
  • Over-broad prefixes: Disallow: /s blocks everything containing /s. Prefer full path segments with trailing slashes.
  • Edits nobody remembers: apps and copied snippets rewrite the template silently. Re-read the live file after every theme or app change.
Test the file, not your memory

Fetch /robots.txt fresh and test your top product and collection URLs against it. Memory of what the file “should” contain is how stores stay blocked for months.

Deeper: robots.txt for AI crawlers · sitemap pillar · Related guide: could not fetch

Find out if this is happening to you

Shipwork fetches your robots.txt and sitemap together from outside your network, verifying the sitemap reference resolves and nothing crawlable is blocked. Free, no account, no signup. Paste your store address.

Check my sitemap

Questions

Where is the Shopify robots.txt file?
Served at yourstore.com/robots.txt, generated from a template you can edit. Read the live file, not the template. Apps can change the output.
What should robots.txt be on Shopify?
Shopify generates a sensible robots.txt for you. The lines that matter are the ones you add: keep products, collections and pages crawlable, disallow /cart, /orders and /search, and keep a Sitemap line pointing at your live domain. Then read the served file, because apps can rewrite it.
Should I block the search (/search) pages?
Yes: internal search results add URL space without index value. Disallow /search while keeping products and collections open.
Why does my sitemap line matter so much?
It tells crawlers exactly which file to fetch. A stale domain or path here is a top-three “could not fetch” cause.
How do AI agent rules fit in?
Named-agent groups sit alongside the general rules; the most specific group wins per agent. The AI crawler guide covers the nine agents that matter.

Keep reading