I put the full ladder on dee.agency/pricing: 500ドル Audit + Spec, 3ドルK AI Visibility / GEO Fix, retainer ranges, what each includes, what it excludes, lead times. Then I marked it up as Offer schema so the prices are not just visible to humans, they are typed.
The day after I pushed it, ChatGPT could answer "what does dee.agency charge for an AI visibility audit?" with the right number. Before, it would politely refuse. That is the whole game in one example.
3. Add machine-readable context with /llms.txt
/llms.txt is a plain markdown file at the root of your domain. It is not a ranking hack. It is not magic. It is a README for the LLM crawlers, structured the way humans structure READMEs: who you are, what you do, what is on each important URL, what to read first.
dee.agency/llms.txt has six sections: entity sentence, services, pricing, proof, founder bio, "if you only have time to read three URLs, read these." That last section matters more than people think. Models choose what to ingest under token budgets. Telling them what to prioritize is not gaming the system, it is good documentation.
Watch for: putting marketing copy in /llms.txt. The file should read like internal onboarding notes, not a landing page.
4. Add structured data and sameAs links
Schema.org gives models typed handles to grab. Without it, every fact on your page is a string the model has to interpret. With it, your name is a Person.name, your offers are Offer objects, your articles are Article with an author.
The piece most people miss is sameAs. It is the array of canonical URLs for the same entity across the web. On dee.agency, my Person schema has sameAs pointing at my GitHub, my Google Scholar profile (author ID gEVwv4QAAAAJ), my LinkedIn, the SSRN paper page, and the awesome-geo repo (github.com/deeflect/awesome-geo, 168 platforms, 142 of them AI-discoverable). That array is how models stitch "Dee on this site" to "Dee in this paper" to "Dee on GitHub" into one entity instead of three coincidences.
5. Build answer-first pages for the commercial questions
For every commercial question your buyer would type into an answer engine, you should have exactly one page that answers it cleanly.
For dee.agency, the four pages are: /geo (what GEO is and how I do it), /audit (what the audit covers and what you get), /pricing (the ladder), and /about (who runs this and why). Each one opens with a direct answer in the first 80 words, not a buildup. Each one has its own schema. Each one is linked from /llms.txt.
Watch for: writing these pages like blog posts. Answer engines extract from the top. Bury the answer past the fold and you will be paraphrased.
6. Check crawler access and robots rules
There is no point being clear if you are blocking the parsers reading you. Half the sites I audit have a robots.txt that silently blocks GPTBot, ClaudeBot, or PerplexityBot, usually because someone copy-pasted a rule from a privacy-focused template in 2024 and forgot.
I run curl against the relevant user agents and check the actual response, not the developer console. dee.agency/robots.txt allows GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and CCBot, and disallows the predatory scrapers that do not respect any of this anyway (a different fight). The full list lives in the awesome-geo repo so I do not have to remember it.
Watch for: Cloudflare's "block AI bots" toggle, which is on by default in some plans. It will quietly undo everything else on this list.
7. Run repeatable probes before and after
This is the step almost nobody does, and it is the only one that tells you if the work worked.
A probe is a fixed prompt run against a fixed set of engines on a fixed cadence. For dee.agency I track 12 prompts ("who is Dee Kargaev", "best AI visibility consultant for early-stage SaaS", "what is the SEO-to-GEO gap", etc.) across ChatGPT, Claude, Perplexity, and Gemini, weekly. I log which engines cite the site, which paraphrase without citing, and which hallucinate.
Without probes, you are guessing. With probes, you have a before-and-after dataset that survives the next model update. The real bar is run-grade GEO: still visible a month after launch, not demo-grade visibility that decays the moment the index refreshes.
What this is not
This is not a course. It is not a "5 secrets" thread. It is not magic prompts. It is seven boring infrastructure changes, three of which are pure devops, and four of which are writing clearly about your own business.
It is also not credible coming from anyone who has not done it on their own surface. Selling AI visibility while your own site has no /llms.txt, no schema, no pricing page, and a robots.txt that blocks the parsers, is the half-builder pattern in its purest form. You are selling the diagram of the thing, not the thing. That is the tell I look for when I evaluate other people in this space, and I held myself to it before writing a word of outbound.
If you want this run on your site
I sell this. dee.agency/audit is a 500ドル Audit + Spec, credited 100% toward implementation if you book within 30 days. dee.agency/geo is the 3ドルK AI Visibility / GEO Fix, one week, the full checklist run with probes before and after and a writeup at the end.
If you would rather run it yourself, the awesome-geo repo has the platform list, the probe templates, and the schema examples. Show me what you ship.