Set up your client project: template map, host list, policy decisions
The audit runs on a bare domain with nothing connected. Keeping a project per client makes every run after the first one sharper, because the templates worth testing, the hosts in scope and the policy the team already agreed stop being re-explained each time.
What to add
Template map
One representative URL per template: home, category, product or service, editorial. Bot rules are usually scoped to paths, so testing one page per template is what turns a result into a statement about the whole site.
Host and locale list
Every host the brand runs, including regional domains and any separate help or documentation subdomain. Each host can carry its own robots file and its own edge rules, and the ones nobody owns are where blocks hide.
Agreed crawler policy
Which agents the client has decided to allow, which to block, and the reasoning. With the decision recorded, later runs report drift against it rather than reopening the debate every quarter.
Infrastructure contacts and change log
Who owns the CDN, the WAF and the robots file, and where their changes get recorded. A contradiction between the file and the edge is only quick to fix when the team knows which of the two to escalate.
Guide Juma with project info
- Template map. Name the representative URL for each template so the matrix covers the paths that carry commercial answers.
- Host list. List every host explicitly. A result for the global domain says nothing about a regional one.
- Agreed policy. Record the allow and block decisions once, and later runs measure drift against them.
- Infrastructure contacts. Say who owns each layer, and every contradiction arrives already addressed to the right team.
Find out what your site really serves GPTBot
Frequently Asked Questions
Why check HTTP status codes when robots.txt already says who is allowed?
Because robots.txt is a request and the server is the thing that answers. A permissive file and a bot-management rule at the CDN are maintained by different teams on different schedules, so a site can publish an open policy while the edge returns 403 to the same agent. Only an actual request shows which one is winning.
That gap is the single most common finding in this audit and the cheapest to fix, because it is almost always accidental. A rule gets tightened during a traffic incident and never relaxed, and the brand quietly stops appearing in AI answers months later with nothing in the robots file to explain it.
What is the difference between blocking GPTBot and blocking OAI-SearchBot?
GPTBot reads for model training and gives nothing back directly. OAI-SearchBot reads so the brand can be cited and linked in answers. Blocking the first is a data decision. Blocking the second removes the brand from the answer surface entirely, which is usually not what the team intended.
A single blanket rule covering every agent whose name contains a model vendor is how the two get conflated. The audit separates them by what they return, sets out the trade for each group, and leaves the decision with the team, because where that line sits is a commercial call rather than a technical one.
Do we need any account or integration access to run this?
No. The audit runs against public URLs with nothing connected and nothing uploaded. It reads robots.txt, requests each template as each user agent, and checks for an llms.txt, all of which work on any page a visitor can reach without logging in.
That also sets the boundary. Pages behind authentication are out of scope, and server-side logs showing which crawlers actually arrived are not visible from outside. Where a check could not run, the brief names it rather than recording a pass.
What do we get back, and who is each file for?
Four artefacts. A branded PDF policy brief holding the matrix, the contradictions and the recommended decisions, a proposed robots.txt as a diff against the current one, a generated llms.txt, and an editable CSV carrying the full agent by template grid in the same order as the PDF.
The split follows who acts on each. The PDF is for the client conversation and the policy decision. The robots.txt and llms.txt go to whoever owns the web server. The CSV is the working grid for the SEO team, which is why it carries every agent and template pair rather than only the failures.
Can this replace a technical SEO audit?
No. It covers one layer thoroughly, whether AI crawlers can reach the site and what the policy should be, and reports what it checked and what it could not. Crawl budget, internal linking, Core Web Vitals, index coverage and site architecture sit outside it.
Juma augments the team, it doesn't replace it. The allow and block choices are commercial decisions and the flow flags them as such rather than settling them, and the generated files are drafts for a person to read before they ship. Human review on every output, which is how 400+ marketing teams run it.