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.

The URLs that quietly stop being products

Products do not only break through bad data: they break through dead and drifting URLs. A renamed handle, a redirect to a collection, a page that returns success with nothing on it: each reads to Google as a missing product, and each is invisible from inside your store.

Renamed handles

Change a product title and Shopify may change its handle, leaving the feed pointing at the old URL. The old address 404s or lands somewhere generic while the product thrives at its new home, and Merchant Center reports a missing product page for an item that plainly exists. After any rename, fix the source of the URL in the feed rather than stacking a redirect; redirects decay and the same item fails again on the next sync.

/products/old-handle404/collections/allreads as missing/products/new-handle200, productOnly the final address counts. Point the feed at it.
Redirect chains that end anywhere but the product read as a missing product page. No matter how sensible they look in a browser.

Redirects that read as missing

A product URL ending on a collection page or the homepage is not “moved” in Google eyes. It is gone. This happens with deleted variants, unpublished products left in the feed, and collection URLs submitted instead of product URLs. Merchants often report the error clearing after a manual recrawl, which is the signature of a URL still being generated wrong at the source: the recrawl forgives it once, the next sync re-breaks it.

Soft 404s

The worst variant returns HTTP 200 with no product on the page: a template rendering an empty state, an app swallowing the error, a draft product with a live URL. Everything looks healthy to every status checker while Google decides there is no usable content. If a URL returns success but shows no buyable product, treat it as dead.

URL audit routine

  • Every feed URL opens the product itself in a private window, not admin preview
  • No product URL ends on a collection, search, or homepage
  • Renamed handles updated at the feed source, not papered with redirects
  • Unpublished and deleted products removed from the feed
  • Soft 404s verified by content, not just status code

Related error guides: missing product page · product page unavailable

Find out if this is happening to you

Shipwork requests your product URLs from outside your network and reports the status, the full redirect chain, and the final destination of each one. Free, no account, no signup. Paste your store address.

Check my URLs

Questions

Why does Google say “missing product page” when the URL exists?
Because what Google fetched was not usable: a 404, a redirect to a generic page, or a soft 404. Open the exact submitted URL with no session to see it.
Are redirects bad for product URLs?
Redirects to the product itself are tolerable but the feed should carry the final URL. Redirects ending anywhere else read as missing.
What is a soft 404?
A page returning success status with no real content: an empty template or draft product at a live URL. Check content, not just codes.
The error cleared after recrawl, then came back: why?
The URL is still generated wrong at the source. Manual recrawls forgive once; the next sync re-breaks it. Fix the source URL.

Keep reading