A lot of people have stopped using the search box. Rather than typing “flooring shops near me” into Google and working through the results, they ask ChatGPT which one to use, or get Perplexity to compare three of them, or read Google’s own AI answer without ever reaching a blue link. The assistant does the shortlisting now, so you’re either on the list or you aren’t.
There’s no dial to turn here. Nobody can sell you a guaranteed spot in an AI answer, and if someone offers, keep walking. What you can do is sort out the technical and structural stuff that either helps an assistant find you, read you and trust you, or quietly stops it dead.
Most of the sites we look at fail at least three of the following, and the owner usually has no idea, because nothing looks broken from the outside.
Here’s the checklist we work through.
This is the one that catches people out most, mainly because the fix takes two minutes and the cost of getting it wrong is being completely invisible.
Your robots.txt file tells automated visitors where they can and can’t go. Over the last couple of years a lot of sites have added blocks on AI crawlers, sometimes on purpose, often because a plugin did it or a developer thought it was the safe option. The catch is that these crawlers don’t all do the same job. Some are gathering data to train models. Others are fetching your page live so the assistant can cite it in an answer right now. Blocking the first lot is a fair business decision. Blocking the second lot means you can’t be recommended.
The names to know are GPTBot and OAI-SearchBot (OpenAI), ClaudeBot and Claude-SearchBot (Anthropic), PerplexityBot, and Google-Extended. Bing’s crawler matters too, since Microsoft Copilot leans on Bing’s index.
Check it: stick /robots.txt on the end of your domain and read what comes up. Then go and look at your firewall. Cloudflare and the like have one click bot blocking that stops these crawlers long before robots.txt gets read, so a tidy robots.txt file doesn’t on its own mean you’re open.
Google has spent years getting good at rendering JavaScript. Most AI crawlers haven’t bothered. They take the raw HTML and work with whatever is in it.
So if your site is built on a framework that assembles the page in the browser, there’s a decent chance the crawler is seeing a near empty shell where your services, prices and location ought to be. It all looks perfect to you, because your browser does the work. The crawler doesn’t.
Check it: view the page source rather than inspecting the rendered page, then search it for a sentence you know is on the page. If the text isn’t in there, it’s probably not reaching the crawler either. Fixing it means server side rendering or static generation, which is a job for your developer rather than your copywriter.
Prices sat inside a graphic. Opening hours baked into an image. A service list in a carousel that only loads when you scroll. All invisible to anything reading your page, and all incredibly common.
If a piece of information matters to someone choosing you, it needs to exist as text in the HTML. Have the images as well by all means, with proper alt text, just don’t let them be the only place the information lives.
Structured data is a block of code that spells out what your page is about in a format nothing has to interpret. It’s the difference between a machine guessing you might be a business in Darlington and simply knowing it.
The types that earn their keep for most businesses are Organization, LocalBusiness, Product, FAQPage, Article and BreadcrumbList. One worth calling out is the sameAs property, which lists your other profiles: LinkedIn, Google Business Profile, Companies House. It helps a model confirm that all these scattered mentions are the same company.
Check it: run your key pages through Google’s Rich Results Test or the Schema.org validator. Half finished or broken schema is everywhere, and it’s worse than having none, because you end up contradicting yourself.
One Services page listing eight things gives an assistant almost nothing to work with. A shallow paragraph on each, no depth, and no obvious page to send anyone to.
Eight pages, each covering one service properly, gives it eight chances to find you and eight specific things to quote. Same goes for locations. If you serve six towns, six real pages beat one page with six town names sprinkled through it. Real is doing a lot of work in that sentence, mind. Thin duplicate pages with the place name swapped out won’t help and might do damage.
This isn’t about writing for robots. It’s just that assistants pull passages, not whole pages.
A section with a question for a heading, a straight answer in the first sentence or two, then the detail underneath, is easy to lift and use. A page that takes four paragraphs to get to the point, or hides the answer halfway down a wall of text, isn’t. Write it the way a helpful person explains something, which is answer first, reasoning after.
Models put a lot of weight on corroboration. If your website says one thing and your Google Business Profile, Companies House record, directory listings and review sites say something slightly different, that reads as uncertainty.
So check that your business name, address, phone number, company details and service descriptions match everywhere they appear.
Publish dates, last updated dates, a named author who demonstrably exists, and sources for any claim or stat you make. All cheap to add, and they feed straight into whether a model treats your page as worth quoting.
An undated page with no author gives a model no particular reason to pick you over anybody else.
Cookie walls covering the content, interstitials, age gates, login requirements, aggressive rate limiting. All of it gets in the way of a crawler doing its job, and so does a page that takes eight seconds to load.
Check it: run your main pages through PageSpeed Insights, then open your site in a private window and pay attention to everything that appears between you and the actual content.
Probably, as long as you’re realistic about it. llms.txt is a proposed standard, a plain text file that hands AI systems a curated map of your most useful pages.
Being straight with you though: no major assistant has publicly committed to using it, and there’s no evidence yet that it moves anything. It’s a cheap bet, not a fix. If someone’s presenting it as the answer to AI visibility, be a bit suspicious.
Three checks, none of which need a paid tool.
Write down ten questions a real customer might ask an assistant when they’re looking for a business like yours, then run them through ChatGPT, Perplexity and Google AI Mode. Note down whether you show up, who does show up, and what gets said about you. Do it again monthly. That’s your baseline.
In GA4, have a look at referral traffic from chatgpt.com, perplexity.ai and copilot.microsoft.com. The numbers are usually small and the intent is usually excellent, because whoever arrives that way has already been told you’re a good fit.
Then check your server logs or Cloudflare analytics for the crawler names in point one. If they aren’t visiting at all, nothing else on this list matters yet, and you’ve just found your first job.
Stuffing in keywords hoping an AI notices. Pumping out AI written content on the theory that AI likes AI, which produces exactly the generic, unsupported stuff models are learning to ignore. And treating any of this as a swap for SEO. Assistants are drawing on search indexes and on what the wider web says about you, so the fundamentals still count. This sits on top of them.
Have another look at that list and notice how much of it is a build problem rather than a content problem. Crawler access, rendering, structured data, site structure, page speed. None of it gets fixed by writing more blog posts, and it tends to go unnoticed when the website and the marketing are looked after by two different people who barely speak.
That’s the gap we work in, so if you want a straight answer on how your site stacks up against this list, get in touch and we’ll take a look.