ShipworkSite inspection
Deep crawl

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.

Crawl beyond the first few pages

A free check reads a handful of pages. The deep crawl reads up to 500 sitemap URLs and reports problems that only show up at scale: dead pages, noindex entries, duplicate titles and thin content.

Crawls up to 500 sitemap URLs, subject to a 90-second time budget. This is the resource-heavy check; nothing is stored.

Search Console

Not connected. Sign in and Connect Search Console to read Google's own verdict for this page. The check below still runs from public signals without it.

How this check works

Shipwork reads every URL in your sitemap (up to the limit) and fetches each one, then aggregates: dead or unreachable pages, sitemap URLs that redirect, pages set to noindex, missing and duplicate titles, missing descriptions and thin content. It is time-budgeted and reports how far it got.

What the deep crawl site checker reads

The deep crawl starts from the URLs in your XML sitemap. It reads the sitemap at your origin, takes up to 500 URLs and fetches them six at a time. For each URL it records the HTTP status, the title, the meta description, whether the page is set to noindex, its canonical link and a word count. It is the same signal set a small sample reads, run across the catalogue rather than the first few pages.

The limit is 500 URLs and the run has a 90-second budget, so a slow site may finish fewer and the result reports how far it got. It requests raw HTML and does not run JavaScript, so content a browser would build is not counted. It does not build a link graph, fetch images or read structured data; those are separate checks.

How to read a deep crawl result

A clean run means the fetched URLs returned pages with titles, descriptions and enough text, and none were dead or marked noindex. It applies to the URLs actually fetched within the budget, which may be fewer than the whole sitemap. The per-page list shows the status of every URL it read, so you see the evidence rather than only a count.

Each finding names a count and a fix. A dead-page finding counts statuses that returned nothing or an error. A redirect finding counts sitemap URLs that answer 300 to 399, which usually means the sitemap lists an old address. A thin-page finding counts pages under 200 words. None of these prove a ranking problem on their own; they are maintenance signals found at scale.

Common causes and why they matter for search

Deep crawls surface problems a sample cannot: a deleted product still listed in the sitemap, a paginated URL that redirects, or a template that emits the same title on hundreds of pages. At scale those become crawl waste and thin duplicate pages. A page marked noindex but still listed in the sitemap sends search engines a contradictory instruction.

The thin-content count uses a simple word threshold, so a page with a short but complete answer can be counted as thin. Treat it as a shortlist to review, not a verdict. A dead URL in the sitemap matters because the sitemap is meant to list indexable pages; repeated errors there reduce a crawler's confidence in the file.

How to fix what the deep crawl finds

Work through the findings in the order they cost: dead pages first, then noindex URLs in the sitemap, then duplicate and missing titles, then descriptions, redirects and thin pages. Remove dead and redirected URLs from the sitemap or point them at the final page. Give every indexable page a unique title and fill in descriptions where they matter.

On Shopify the sitemap is generated, so fix the underlying product, page or collection rather than editing the file. In WooCommerce, check the SEO plugin's sitemap settings and the product status. After changes, rerun the crawl, since a generated sitemap can take time to reflect edits. Expand or merge genuinely thin pages instead of padding them.

When to use related deep crawl checks

Use the free sitemap check first when the sitemap itself may be broken, since the deep crawl needs one to work. Use the site audit for a quick sample on any site, and the indexability check when one URL should not be indexed.

For crawl efficiency on a large storefront, read crawl budget on Shopify. The deep crawl is a paid, resource-heavy run, so keep it for the moments you need the whole picture rather than for every check.

Questions

How is this different from the free audit?
The free audit checks a small sample. The deep crawl reads up to 500 sitemap URLs, which can reveal duplicate titles or a dead page buried at position 400.
How many URLs does it crawl?
Up to 500 sitemap URLs. The run has a 90-second time budget, so it may finish fewer on a slow site. The result reports how far it got.
Is it heavy?
Yes. It makes one request per URL, so it is rate-limited and time-budgeted. Run it when you want the full picture, not on every check.
How many pages does the deep crawl check?
Up to 500 sitemap URLs, with a lower bound of 10 and a 90-second time budget. On a slow site it may finish fewer, and the result states how many it read and whether it stopped early. The per-page list shows the status of each URL it reached.
Does the deep crawl run JavaScript?
No. It requests the raw HTML of each URL, so content that only appears after scripts run is not seen. Use the rendered check on the important templates to compare what a browser sees against the raw response.
Why does the deep crawl say no sitemap was found?
It needs an XML sitemap at your origin before it can start. If the file is missing, blocked or returns an error, the run stops with a message to fix it first. The free sitemap check tells you whether the file fetches and parses.
What counts as a thin page in the crawl?
A page that returned 200 with more than zero but fewer than 200 words of visible text. That is a blunt threshold, so a concise but complete page can be counted. Review the list and expand or merge only the pages that genuinely lack substance.
Is the deep crawl free?
No. It makes one request per URL and is rate-limited and time-budgeted, so it costs credits per run. Use the free audit for a quick sample and reserve the deep crawl for a full pass when you need it.

Keep reading

What this reads

  • Reads every URL your sitemap declares, not a sample.
  • Reports dead pages, redirects, noindex entries and duplicate titles across the site.
  • One crawl, priced by the size of your sitemap.
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__