ShipworkSite inspection
Soft 404s

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.

Are any of your pages "not found" while returning 200?

A soft 404 returns a success status but no usable content: an empty collection, a page that vanished without a redirect, a template that broke. Search engines treat it as missing, and you never see an error in your logs.

Checks key pages and looks for a success status with little or no usable content. Saved to your account if you are signed in to a paid plan.

How this check works

Shipwork fetches a set of your key pages and measures how much real text they contain, and whether they read like a “not found” page. A 200 status with almost no content is a soft 404: search engines may drop it, yet your server logs show nothing wrong.

What the soft 404 checker reads

For each page in the crawl sample, the checker reads the HTTP status, the title, the main heading and the visible text. It looks for the phrases an error page leads with, such as not found, 404, removed or no longer available, in the title or heading. It also measures how much text the page contains.

A page that returns a success status but has almost no text is treated as a likely soft 404, because an empty shell is not usable content. The checker skips the home page and pages that plainly explain error messages. The free run reads up to 20 pages, and the thin-content threshold is 400 characters of text.

How to read a soft 404 finding

A warning means the page answers with a healthy status while presenting little or no content, so a search engine may treat it as missing. The page is invisible in server error logs because nothing failed. The finding names the URL so you can open it and confirm what a visitor sees.

A clean result means no sampled page looked like an error page or an empty shell. It does not prove that every page has real content, that a search engine has indexed the sampled pages, or that a short page is intentional. A brief page that is genuinely useful can still be counted as thin, so read the finding before changing it.

Why soft 404s happen

A collection, product or category is removed without a redirect, and the template renders a bare shell with a success status. A CMS returns a friendly empty page instead of a not-found status. A filter or parameter combination matches nothing and the template still responds. All of these look healthy to a status check and empty to a reader.

A soft 404 wastes crawl budget on a page that will never be shown, and it can cause an indexed URL to be dropped without a clear error. If the page was meant to be found, the traffic disappears quietly. The failure is harder to notice than a hard 404 because nothing in the logs reports it.

Return the right status or restore the content

If the content is gone, return a real not-found status rather than a success status, so the page is treated consistently and removed cleanly. If the content moved, redirect the old URL to the closest equivalent page rather than to the home page. If the page should exist, restore its content or fix the template that renders the empty shell.

On Shopify and WooCommerce, empty collection or category pages are a frequent cause, and a theme can render a blank template when a product is missing. The guides soft 404 and not found 404 cover the fix, and soft 404s explained shows how they are produced.

When to use related checks

Use indexing check when a page is missing from search for any reason, and redirect check when a removed page should send visitors elsewhere. Use broken links for links that land on these empty pages, and freshness check for pages that have simply gone quiet.

For the redirect mechanics, redirect chains explains how to point an old URL straight at its replacement. If the empty page is also served over a redirect, fix the chain before worrying about the status.

Errors this check finds, and their fixes

  • Soft 404: Why does Search Console report a soft 404 when your page returns 200?

Questions

What is a soft 404?
A page that returns HTTP 200 but has no usable content, so search engines treat it as missing. It is invisible in error logs.
How do soft 404s happen?
Common causes are empty collections, products or pages removed without a redirect, and templates that render a bare shell when content is missing.
How do I fix one?
Return a real 404 status for genuinely missing pages, or restore/redirect the content. Do not keep serving an empty 200.
How do I find soft 404 pages on my site?
Run this checker on your site. It reads the status, title, heading and text of each sampled page, and reports pages that return a success status with an error-style heading or very little text. The sample is bounded, so a large site may need more pages, but the findings name the URLs to open.
Are soft 404s bad for SEO?
They waste crawl budget on a page that will never be shown, and an indexed URL can be dropped without a clear error. The traffic disappears quietly. If a page should not exist, return a real not-found status; if it should, restore its content. Either is clearer than an empty success response.
Why did a short page get flagged as a soft 404?
The check treats a page with very little text as a likely soft 404, because an empty shell is not usable content. A brief page that is genuinely useful can still cross that line. Open the URL, read the finding and decide whether the page has real content before changing it.
Does the checker tell me what Google has indexed?
No. It reads the pages itself and reports which ones look like error pages or empty shells. It does not read any search engine's index. Use it to find pages that present badly to a crawler, then confirm their status in the search engine's own tools.

Keep reading

What this reads

  • Reads public pages from outside your network, the way a crawler does.
  • No signup, and nothing is stored on the free checks.
  • One of 83 checks across discovery, content, markup, trust and catalogue data.
83checks
0signups needed
0stored on free checks
Cool, just ran an audit and got some insights! Let’s see if I can fix them :)
Tenta Dev, @DevTenta
Whoah! this site is crazy, nothing to roast at all
Ainreek, @AinreekAI
cool as heck, tried it on my blog and the insights it gave are helpful and not bluff.
Refaat 🍉 (Mouse), @1Mouse__