ShipworkSite inspection
Fix priorities

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?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?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?
Every error, explainedGuides →
Pricing Learn Guides
Sign in

Signing in is optional: it keeps your account, watches and connections on any device. Every free check, the audit and the score work with no account at all.

Sign in with GoogleOpens your account, or creates a free one PricingPlans and credit packs for the paid jobs

Which page should I fix first?

Read separately, the search-data checks each hand you an opinion about the same page. This one folds them together: one ranked list of pages to fix, with the reasons shown, so you start in the right place and can audit the order.

Runs the near-miss and consolidation checks and merges them into one ranked list. Reads your connected search property where one exists. Nothing is stored.

What this check inspects

This is the one list that merges the others. Shipwork runs the opportunities check, which itself chains the near-miss list into a content-gap comparison and real-user speed, and the consolidation check, then folds every signal onto the page it belongs to and ranks the pages by urgency, with the reasons shown so the order can be audited. A page can carry a near-miss query, a missing subtopic, poor real-user speed, a duplicate conflict, a query two of your pages fight over, rank or click decay, or a query and a page that do not match on intent, and its place in the list reflects how many of those it has. It also clusters your whole query set into topics and flags the weakest high-demand topic, where the content is thin across a subject rather than on one page.

What a failure means

It invents nothing: a missing signal contributes nothing to a page score rather than being guessed. With no connected search property it still ranks the structural conflicts, but says plainly that demand could not be included rather than presenting the order as if it were demand-aware. If neither of its inputs can run there is no list to give, so it reports a reason instead of an empty success. The weakest topic is only flagged when the best query in that topic still sits off page one.

How to fix it

  1. Work the first page on the list. It is the one carrying the most urgent combination of signals.
  2. Read the reasons next to a page before editing, since the order is only as good as the evidence behind it.
  3. Where the list was structural rather than demand-aware, connect a search property and run it again for a ranked order.
  4. For the weakest topic, treat the whole subject as thin, not just one page, and plan several pages rather than one edit.

A typical failure, worked through

The setupA store connects its search property. One product page has a query at position 12, is missing two subtopics its competitors cover, loads slowly for real visitors, and shares a query with an older page.

What the check reportsThe check puts that page first and lists the reasons: the near-miss query, the missing subtopics, the poor speed and the duplicate conflict. It adds the weakest high-demand topic underneath.

The pointFour checks would have produced four lists pointing at the same page. This ranks that page once and shows why it is first, so the work starts in the right place.

Questions

How is the order decided?
By how many signals a page carries and how strong they are, drawn from the near-miss queries, the content gaps, real-user speed, duplicate conflicts, cannibalisation, decay and intent. The reasons are listed so the order can be checked.
Does it need a search connection?
For a demand-aware ranking, yes. Without a connection it still ranks the pages that have structural conflicts, and says plainly that demand was not included.
What is the topical map?
It clusters every query with real impressions into topics and flags the weakest high-demand one, where the best query in that topic still sits off page one, so you can see a thin subject rather than a single thin page.
Why only a few pages?
The list is capped so it stays a short work list rather than a backlog. Any pages below the cut are counted but not spelled out.

Related checks and guides