What does an AI-search readiness fix pack look like?

Example generated from a demo site

It is a prioritised fix list plus files to install: an llms.txt, lines to add to robots.txt, a JSON-LD file with the business details, and a table of title, description and heading fixes. This page shows the free result, an excerpt of the fix list and the other files for the home page of a made-up plumbing business. It is an example generated from a demo site, and the demo page was written with typical problems on purpose.

The business, its phone numbers and its site address are fictional; the address is a reserved example address. The demo input (the pasted page, robots.txt and typed details) and the full expected output are published with the tool's test fixtures: input, expected output. The text on this page is copied from that expected output. An automated agent wrote it by applying the script's rules to the demo input. This demo input is one of the four fixed test cases named on the verification status page. This is not a customer's pack and it shows nothing about results: it only shows the format. Your own pack holds the findings from the page you paste.

The free result

For the demo input the free check shows a readiness score of 52 out of 100 and 8 items: 0 high, 6 medium and 2 low priority. The first three items of the list are shown in full (the blocked GPTBot crawler, the missing meta description and the missing H1); the other five are in the full fix list of the pack. The score is 100 minus 15, 7 and 3 points per high, medium and low priority item. It counts these checks and predicts nothing.

FIX-LIST.md (excerpt)

The fix list opens with a summary table, then one section per fix. The table below is complete; three of the eight sections are shown after it.

AI-search readiness fix list

Site: https://ridgelineplumbing.example/
Generated: 2026-10-05
Source: the home page HTML, robots.txt and sitemap.xml pasted into the browser tool (one page read)
Readiness score: 52 / 100 (0 high, 6 medium, 2 low priority items)

This fix pack was generated by automated AI agents (they built the browser tool that produced it), not by a human consultant. The deliverables are files and a prioritised fix list. There is no guarantee of ranking, citation or traffic improvements.

Every item below quotes what the tool found (or did not find) in the text you pasted, and the step to fix it. Items are ordered by priority. The score is 100 minus 15, 7 and 3 points per high, medium and low priority item; it counts these checks and predicts nothing.

#PriorityFixEvidence lines
1P2 - Mediumrobots.txt blocks GPTBot1
2P2 - MediumThe page has no meta description1
3P2 - MediumThe page has no main heading (H1)1
4P2 - MediumName or phone on the page differ from the details you typed2
5P2 - MediumContact details were not found in the page HTML1
6P2 - MediumNo XML sitemap1
7P3 - LowThe title is very short or likely to be cut off1
8P3 - LowThe canonical tag needs a second look1

1. [P2 - Medium] robots.txt blocks GPTBot

Why it matters: Crawlers that honour robots.txt do not request pages they are disallowed from. GPTBot is OpenAI's crawler that collects pages for model training.

Evidence:

How to fix: For GPTBot your robots.txt has a dedicated group that blocks it: delete the Disallow line quoted above from that group (or the whole group). Append the matching groups from robots-additions.txt to your robots.txt; a crawler that has its own group stops using the "User-agent: *" rules. This is optional: keep the block if you do not want your pages used for model training.

Files in this pack: robots-additions.txt

4. [P2 - Medium] Name or phone on the page differ from the details you typed

Why it matters: When the same business shows different names or phone numbers, software matching your site to other listings cannot tell which one is current.

Evidence:

How to fix: Decide the one correct name and phone number. If the different values are real (several branches or lines), keep them but label each clearly; otherwise replace the outdated ones so the page and the structured data show the same details.

7. [P3 - Low] The title is very short or likely to be cut off

Why it matters: Titles over about 60 characters are usually truncated where they are displayed; very short ones say little about the page.

Evidence:

How to fix: Rewrite to roughly 15-60 characters. A proposal is in meta-heading-fixes.csv.

Files in this pack: meta-heading-fixes.csv

Checks that passed

Not checked by this tool

llms.txt

The whole file. The demo page has no H1, so its title is used as the label; it has no meta description, so the line carries no summary; no sitemap was pasted, so only the home page is listed. The phone is the one typed into the form. No address was typed, so none is written.

# Ridgeline Plumbing

## Pages

- [Ridgeline Plumbing & Heating - Emergency Plumber, Drain Cleaning, Water Heaters and Boiler Repair in Denver](https://ridgelineplumbing.example/)

## Contact

- Phone: +1 303 555 0188

robots-additions.txt

The whole file. The demo robots.txt keeps /cart private for all crawlers, so that rule is repeated in each new group. GPTBot is blocked in a group of its own, so no group is added for it.

# robots.txt additions for https://ridgelineplumbing.example
# Generated by an automated browser tool. Append these lines to the end of your robots.txt.
# Each group names one AI crawler. A crawler that finds its own group ignores the
# "User-agent: *" group, so the path rules from your "*" group are repeated in each one.
# GPTBot, ClaudeBot and Google-Extended relate to AI model training; delete their groups
# if you do not want your pages used that way.

User-agent: OAI-SearchBot
Allow: /
Disallow: /cart

User-agent: PerplexityBot
Allow: /
Disallow: /cart

User-agent: Bingbot
Allow: /
Disallow: /cart

# GPTBot: your robots.txt already has a group for this crawler and it blocks it.
# Adding a second group would not change that; edit the existing group (see FIX-LIST.md).

User-agent: ClaudeBot
Allow: /
Disallow: /cart

User-agent: Google-Extended
Allow: /
Disallow: /cart

schema/organization.jsonld

The only JSON-LD file in the demo pack. The type is Plumber because that category was chosen in the form. The name and phone are the ones typed. No address was typed, and the opening hours typed ("Open 24 hours") could not be read as lines like "Mon-Fri 08:00-17:00", so neither is in the file: fields are left out rather than guessed.

{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Ridgeline Plumbing",
  "url": "https://ridgelineplumbing.example/",
  "telephone": "+1 303 555 0188"
}

meta-heading-fixes.csv

The five rows of the file, shown as a table.

itemcurrentcurrent_lengthproposednote
titleRidgeline Plumbing & Heating - Emergency Plumber, Drain Cleaning, Water Heaters and Boiler Repair in Denver107Ridgeline Plumbing & Heating - Emergency Plumber, Drainshortened
meta description0Burst pipe, blocked drain or no hot water? Our plumbers reach most Denver addresses within the hour and quote a fixed price before any work starts.taken from the page's first paragraph
h10no H1 on the page; add one that names the page's topic in your own wording
heading outlineh2 h45h1 h2outline adjusted so it starts at h1 and steps down one level at a time
canonicalhttps://www.ridgelineplumbing.example/home42https://ridgelineplumbing.example/use this address unless the page really is a copy of the current target

Generate a pack for your own page

The free check runs in your browser on the page source you paste; nothing is fetched from your site. A $149 licence key unlocks the full pack on the spot. The pack is generated by automated software, not by a human consultant, and comes with no guarantee of ranking, citation or traffic improvements. Paste only the source of a site you own or are authorised to modify. See price, delivery and refund, or read how it works first.