The audit,
then the pull request.
We audited 383 Show HN launches. 27% could not be read by the crawlers behind ChatGPT and Claude, and one in ten was blocked by its own CDN while robots.txt said everyone was welcome. He finds what is blocking you, watches who gets named instead of you, and opens a PR with the fix. You merge it.
Can they reach you at all
Nothing below this line matters if this line fails, so he checks it first and ranks every miss as high.
Per bot, not in general.
OAI-SearchBot, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot and Google-Extended each get checked against your robots.txt on their own. A block on one is invisibility on that engine, whatever the rest of the file says.
The Cloudflare toggle nobody remembers flipping.
Block AI Scrapers is on by default on some plans and it quietly overrides robots.txt. He requests your site as each crawler and compares the answer against a control fetch. This one a PR cannot fix, so it comes back as a switch to go flip yourself.
Content that only exists after JavaScript runs.
AI crawlers mostly do not execute it. He compares your rendered text against the raw HTML and tells you how much of your site is simply not there.
Then, can they quote you
Answer first, setup later.
The H1 gets answered in forty words before any throat clearing, and every H2 is phrased as the question a buyer asks with the answer directly beneath it.
The exact phrasing, in the four places that count.
Title, slug, H1 and lede. A page that talks around its own query gets skipped for one that says it plainly.
The boring layer, still done.
Titles and descriptions, alt text, canonicals, structured data, sitemaps, redirect chains, render blocking assets. It is what most vendors sell as the whole product. Here it is the third tier.
On llms.txt, honestly.
ranked lowThe 2025 study across 300,000 domains found no citation lift, and Google has said it will not use the file. We still generate one because it is free and some dev-tool clients read it. It will never headline your audit.
Who gets named instead of you
The audit is a one time thing. This is the part that keeps mattering. He asks the engines your buying questions on a schedule and records which brands come back, so a fix has something to move.
Your questions, not generic ones.
The prompts come from the same brand brain his blog posts are written from. Best tool for X, alternatives to Y, the phrasing a buyer actually types.
A number that moves.
Cited in four of fifteen prompts this week, up from one. That is the line that tells you whether any of this worked.
The PR
A branch, a diff, and your merge button.
He installs as a GitHub App on the one repo you pick, works in a clone, and opens a pull request. He does not push to main and he cannot. You read the diff like any other contributor’s.
Every issue is a row before it is a change.
Severity, the page, the evidence he saw, and the machine readable fix. If you would rather do it by hand, the list is yours.
Some things stay yours to do.
A WAF toggle or a rendering rewrite is not a small diff. Those come back as a guided action with an estimate instead of a PR that cannot land.
He needs a product to work on.
Paste your URL and he reads the site, builds the brain, and starts finding the threads where your buyers are asking. You approve, he posts, you ship.