ShipworkSite inspection
Checks
Every error, explainedGuides →
Pricing Learn Guides

Audit a Shopify store for the failures themes and apps cause

Shopify is a managed platform, so the failures are almost never infrastructure. They are the theme, the app stack and the settings, and they are invisible until Google notices first.

One crawl of a bounded sample of public pages, from outside your network. Nothing is stored.

What Shopify gets wrong most often

The default product JSON-LD is valid but incomplete. Shopify emits Product or ProductGroup with an offer, yet it does not add hasMerchantReturnPolicy or shippingDetails, so Search Console reports those as missing on stores that never touched their theme. The fix is usually in Merchant Center settings, not the template.

The generated sitemap is an index, and recent Shopify stores list a one-URL discovery sitemap as its first child. Tools that read only the first child see a single URL and report an empty catalogue.

When a product or collection is republished, Shopify can change the handle. Links and feeds that still point at the old URL redirect or 404, and the feed entry stops matching the landing page.

An app that injects its own canonical, og tags or schema into the head can sit alongside the theme output. Two canonicals is worse than none, because search engines may ignore both.

A password page, a maintenance app or a bot-protection rule can answer Google with a 403 or a 503 while the store loads fine for the owner. This is the classic works-for-me failure.

The checks that matter most on Shopify

What to do about it

  1. Set returns and shipping in Merchant Center so the listing fields are covered without editing the theme, then add only what Merchant Center cannot supply to the JSON-LD.
  2. When a handle changes, fix the source that generated the old URL rather than adding a redirect, or the same item fails again on the next sync.
  3. Audit installed apps after any head-related finding: disable each app that writes a canonical or a schema block and re-run the check.
  4. Fetch product URLs from outside your network, in a private window, to see what a crawler gets rather than what your browser gets.
  5. Run availability and price checks on a schedule, not once. They change hourly.

A typical Shopify failure, worked through

The setupA merchant installs an SEO app that adds its own canonical, while the theme still emits one. The product page now has two canonical tags pointing at slightly different URLs.

What the check reportsThe canonical check reports 2 canonical links and warns that search engines may ignore both. In Search Console the product can flip between URL variants over time.

The pointOn Shopify the fix is usually an app setting, not a code change. Find which of the two sources you do not need and turn it off.

Questions

Can I edit robots.txt on Shopify?
Yes. Shopify exposes a robots.txt template you can edit, and it references the generated sitemap. App and platform additions can still change what crawlers see, which is why the check reads the live file.
Why does Search Console report hasMerchantReturnPolicy missing?
The default Shopify structured data does not emit return or shipping policy. Setting them in Merchant Center is the quickest fix and applies to every product at once.
Why can my product page be fine in my browser and disapproved in Merchant Center?
Google fetches from outside your network. Bot protection, rate limiting or a password page can answer the crawler differently than it answers you. The product-page check reproduces that.

Checks and guides for this platform