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.

How Shipwork decides whether a page can be indexed

A page can return 200 and look perfect while three separate signals tell search engines to keep it out. This check resolves all of them together, because they interact: a noindex only works if the page can still be crawled.

Runs the Page indexability check against a set of key pages, from outside your network. Nothing is stored.

What this check inspects

Shipwork fetches the URL and the response headers, reads meta robots and the X-Robots-Tag header, checks the canonical to see whether it points at this URL or elsewhere, resolves robots.txt for the exact path and query, and checks whether the URL is listed in the sitemap. It returns a single indexable verdict and the reasons behind it.

What a failure means

A noindex in either the meta tag or the header is an error: the page is excluded from search. A robots.txt block for the path is an error: the page will not be crawled. A canonical pointing at a different URL is a warning: this URL will not be indexed on its own. A 4xx response is an error. Not being in the sitemap is only informational.

How to fix it

  1. Find which layer sets noindex. A staging header often survives launch at the CDN, long after the template was cleaned up.
  2. If a page is intentionally noindexed, make sure you did not also Disallow it. The crawler must be able to fetch it to see the noindex.
  3. Fix the canonical before blaming the index. A self-reference is what an indexable page wants.
  4. Add the URL to the sitemap once the other signals agree, so the crawler is told to look.

A typical failure, worked through

The setupA shop launches on a new domain and reuses the CDN configuration from staging, which still injects X-Robots-Tag: noindex on every response. Nothing in the theme mentions noindex.

What the check reportsThe check reports the header noindex as an error even though the meta robots tag is absent, and the verdict is not indexable. Viewing the page source does not show the problem, because the header is not in the HTML.

The pointnoindex can be set where you cannot see it in the page. Only a check that reads response headers catches the header form.

Questions

Why is my page not indexed even with no noindex?
Check the canonical, robots.txt, the sitemap and the response status as a set. A canonical pointing elsewhere or a robots block produces the same missing page as a noindex.
What is the X-Robots-Tag header?
A response header carrying the same robots directives as the meta tag, usually set by a server, CDN or proxy. It applies to non-HTML files too and is invisible in the page source.
Does noindex stop a page being crawled?
No. It stops indexing, not crawling. If you also Disallow the URL, the crawler cannot read the noindex and the page may stay in search.

Related checks and guides