Nathan Haslewood. Contact

/writing/invisible-number-one/essay

Number one in Google, invisible to AI

The strangest audit result I keep finding, and the two-minute test that exposes it on any site, including yours.

Nathan Haslewood July 2026 4 minute read

Here's a result that shouldn't be possible. A brand ranks first in Google for its most valuable terms. Its pages are polished, its SEO team is competent, its analytics look healthy. Ask an AI assistant about the category, and the brand doesn't exist. Not ranked low. Absent.

I've now seen this pattern enough times, across enterprise sites in finance and beyond, that I treat it as a category of failure with a name: the JavaScript shell.

The mechanism

Many enterprise websites, particularly client-side rendered implementations of large CMS and framework stacks, don't actually send your content when a machine requests a page. They send a near-empty HTML document, a div and a script tag, and rely on the visitor's browser to execute JavaScript that fetches and assembles the real page.

For people, this works. For Google, it mostly works too, because Google invested years in rendering infrastructure that executes JavaScript at crawl scale. That investment is precisely why the problem stayed hidden: the one machine everyone measured could see the content, so nobody noticed the response was empty.

AI crawlers broke the assumption. GPTBot, ClaudeBot, PerplexityBot and their peers generally don't execute JavaScript. They request the page, receive the shell, and index what they were given: nothing. Every pixel of that experience, every carefully approved word, is invisible to the systems your customers increasingly ask for recommendations. The site is simultaneously a search success and an AI-era ghost.

The two-minute test

You don't need an audit engagement to check this. You need a browser.

Open your most commercially important page. View the page source, the raw response, not the rendered inspector view. Now search that source for a sentence you can see on the screen. If the words a customer reads aren't in the response, no AI assistant is reading them either. For a second opinion, fetch the page with JavaScript disabled, or from the command line, and see what survives.

Then run the commercial version of the test: ask two or three AI assistants the category question your customers actually ask, best provider for this situation, and see who gets named. If it's your competitors, you now know one likely reason why.

The fix is boring, which is the good news

Nothing here requires replatforming next quarter. The remediation ladder, cheapest first: make sure critical facts exist in server-rendered HTML somewhere, even if the main experience stays client-rendered. Publish the plain-language layer machines want: semantic markup, structured data, an llms.txt index. Confirm your robots policy isn't blocking AI crawlers by default, which some enterprise configurations do without anyone having decided it. And when the next rebuild comes, make server-side rendering of content a requirement, not a preference.

The deeper point is organisational. This failure lives in the gap between teams: the SEO team measures Google, the engineering team measures performance, and nobody owns the question "what does a machine that can't run JavaScript receive from us?" Someone senior has to own the third reader. In most organisations today, nobody does.

Try it on this site

Fair's fair. View the source of this page: every word you're reading is in the response. The homepage lets you flip any visitor's view to exactly what Google and an AI assistant receive, generated live from the page's own markup. The colophon shows the raw response this URL returns. If I'm going to sell the diagnosis, my own site had better pass the test.

Nathan Haslewood is a digital experience leader in Melbourne. He builds AI-era content systems, including Rankline, and has spent fifteen years shipping digital experiences in banking, government and defence.