The journal
SEO

Your website now has two audiences: people and AI

Byron FechoJul 20269 min read
Your website now has two audiences: people and AI

Ask ChatGPT who the best web designer in Columbus is and watch what happens. It names a couple of firms, says a sentence about each, and moves on. Nobody clicked a link. For a growing share of buyers, that little paragraph is the first impression now, and it's stitched together from whatever a machine could scrape off your pages, not the version a person sees.

That gap catches good companies off guard. Your site can look sharp, load fast, and still read like static to the systems doing the recommending. The photography, the motion, the hero section you agonized over? A parser skims right past it. What it's after is plain structure and facts it can lift without guessing. Write for that reader and, oddly enough, the human one tends to benefit too. Clear pages convert better anyway.

The bots have names, and they're in your logs

These crawlers aren't ghosts. They show up in your server logs, and you can address each one by name in your config. A few worth knowing right now:

  • GPTBot, OpenAI's training crawler. Its live ChatGPT browsing uses a separate, user-triggered fetcher.
  • ClaudeBot, Anthropic's crawler, with its own fetcher for when someone asks Claude to look something up.
  • PerplexityBot, which feeds Perplexity's answers.
  • Google-Extended, the switch for whether Google's generative models can use your content, separate from plain old Googlebot.
  • CCBot, the Common Crawl bot, whose open dataset ends up training a lot of models downstream.

Two different jobs hide in that list. Some bots are stockpiling text to train models. Others show up the instant a user asks a question and grab your page to answer it live. Block the first and you're deciding whether your content shapes what a model 'knows.' Block the second and you can disappear from the answer entirely. Most owners never actually make that call, though. They just inherit whatever their robots.txt already happens to say.

Your robots.txt is casting a vote, like it or not

Every one of those bots reads robots.txt before it touches anything else, so that one little file is voting on your behalf today. Block everything and you quietly delete yourself from AI answers your buyers are already reading. Allow everything and you've handed over material you might have wanted to keep out of training. There's no neutral setting here. The fix is to decide on purpose, treating 'can you train on this' and 'can you cite this live' as two separate questions, and answering each one the way your customers actually find you.

A reasonable starting point
If you want the AI-referred visibility, let the answer-engine fetchers through so you can land in live citations, and make the training question its own deliberate call. Leaving robots.txt untouched isn't staying neutral. It's letting a default someone else wrote decide for you.

The page you see isn't always the page they get

Here's the one that burns polished sites. The page looks flawless in a browser because JavaScript builds it after load. But a crawler that doesn't run all that script gets an empty shell: no services, no proof, no answers. Your best material is sitting right there for people and completely missing for the machines deciding whether to name you.

You can test it in about thirty seconds. Open the page source, or fetch the URL with scripts off, and go looking for your actual services and claims in the text. If they're not in there, you've got a rendering problem, and it's quietly costing you with slow-connection visitors too. The cure is getting the real content into the HTML you serve, rendered on the server or built as static pages, instead of painting it in after the fact.

Structure beats polish

Answer engines quote what they can pull out cleanly, which rewards a pretty plain way of writing: say the thing, then explain it. Use headings that name the question sitting underneath them. Keep the section that settles a common question short enough to stand on its own. And when facts are comparable, like pricing factors or service tiers, drop them into a list or table instead of burying them mid-paragraph. A machine reads those far more reliably than it reads prose.

This isn't a trick, and it isn't writing for robots at people's expense. It's the same skimmable clarity a busy buyer already wants. What's changed is that mush now has a second price: a system that can't follow your structure will just go quote the competitor whose structure it could follow.

Schema tells them what they're looking at

Structured data is you labeling what a page means instead of hoping a machine infers it. Mark up your business, your locations, services, reviews, and FAQs, and a wall of text becomes a set of named facts: this is the company, this is the number, this is the service area, this is the rating. Answer engines lean on that because it's unambiguous, and unambiguous is roughly the bar for getting cited with any confidence.

llms.txt: promising, not gospel

Newer idea making the rounds: llms.txt, a plain Markdown file at your site's root that hands AI a short, curated map of your important pages plus a line or two on what you do. Think robots.txt and sitemap, but pointed straight at language models. It's a proposal, not a settled standard, and support is still patchy, but it's cheap to add and it forces a genuinely useful exercise: writing down, in words, what you want an AI to understand about you.

Just don't expect it to do the heavy lifting. A tidy map aimed at weak pages helps no one. The pages still have to earn the citation on their own, and if they can, the map is a small nudge while the convention finds its feet.

Next comes agents that actually do things

Reading is only round one. People are starting to hand assistants the real job: shortlist three vendors, pull their hours and pricing, start a quote, fill out the form. The second an assistant tries to do something for you, every ambiguity turns into friction. If your contact path and next steps are buried in scripts or scattered across pages that don't agree with each other, an agent stalls in the exact spots a confused human would, except it won't email you to ask.

You don't have to chase every experimental agent to get ahead of this. You just need the dull fundamentals underneath it: consistent business info, obvious calls to action, machine-readable details about what you do and how to start. The same work that makes you easy to quote is what makes you easy to act on.

It's not enough to ask whether a page ranks anymore. Ask whether a machine could read it, understand it, and act on it without guessing.
Byron Fecho, CTO

Where to start this week

  1. Open your robots.txt and actually choose how you treat training crawlers versus answer-engine fetchers, instead of inheriting a default.
  2. Fetch a key page with scripts off and confirm your services, proof, and answers are in the HTML.
  3. Rewrite your top pages answer-first, with real headings and short sections that stand on their own.
  4. Add schema for your business, locations, services, reviews, and FAQs.
  5. Try an llms.txt that maps your best pages and says, plainly, what you do.
  6. Make contact and next steps consistent and obvious, so a person or an agent can act without hunting.
The short version
You've got two readers now, people and machines, and they want more of the same thing than you'd expect: clear structure, honest facts, clean markup, real content in the HTML. Build for the one that gives you zero benefit of the doubt, and the human comes along for free.

The businesses that pull ahead here won't be the ones with the loudest AI press release. They'll be the ones whose pages a machine can read without tripping, quote without hedging, and act on without stalling. When the answer engine trims the shortlist before anyone clicks, being easy to read is the edge, and it's the kind you can start earning this week.

Written by
Byron Fecho
Chief Technology Officer
Ground control to Houston:

Let's build
something out of
this world.

[email protected]