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.

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 set 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