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.

Does your site give AI assistants a map?

llms.txt is an emerging plain-text convention that describes a site and links its most important pages so AI tools can use it accurately. It is cheap to add and it fails silently if the format is wrong.

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

What this check inspects

Shipwork fetches /llms.txt and checks that it exists, is not empty, opens with a level-one heading naming the site, contains a summary line, and lists links. It also reads robots.txt and reports how many of twelve known AI crawlers are disallowed from the whole site, because an llms.txt has limited effect if those agents cannot read it.

What a failure means

A missing llms.txt is informational, since the convention is optional and not universally honoured. A file that exists but is empty, has no heading, or lists no links is a warning. Blocked AI crawlers are informational but they undercut the file.

How to fix it

  1. Put the file at the site root as /llms.txt over https.
  2. Open with a level-one heading naming the site, add a summary line, then list key pages as markdown links.
  3. Point at pages that exist and return 200. A link to a redirect or a 404 makes the map worse than none.
  4. Review which AI crawlers robots.txt blocks, and allow the ones that cite sources if you want the traffic.

A typical failure, worked through

The setupA store adds /llms.txt by pasting its footer sitemap, which lists no links and has no heading.

What the check reportsThe check reports the file present but empty of useful structure: no links and no leading heading, so it gives an assistant nothing to follow.

The pointPresence is not the same as usefulness. The links are the whole value of the file.

Questions

Do I need an llms.txt?
It is optional and not universally honoured yet, but it is cheap, it does no harm, and some assistants and crawlers already read it.
Does it replace structured data?
No. Structured data marks up individual pages for search and assistants. llms.txt describes the site as a whole and links its key pages. They complement each other.
Why do blocked AI crawlers matter here?
An llms.txt is a map. If the agents that would follow it are disallowed at the site root, the map cannot be read, so the file does nothing.

Related checks and guides