Case Study · AI Search

Why AI search misreads your site: a JavaScript-rendering case study

Syful Islam 2026-08-30

We pointed our citation-test tool at the website of a professional-services firm in Sydney. The engines did not misquote the firm. They did something more fundamental: they read it as a different kind of business and answered the wrong question entirely. This is the story of that test, and it is the clearest example we have seen of what client-side rendering costs a brand when AI assistants become the front door.

What did the citation test reveal?

The firm is a legal practice with an established offline reputation. Its homepage loads quickly and looks polished in a browser. But the moment an AI engine tries to read the page the way Googlebot or a chatbot crawler reads it, the page has almost nothing to offer: no <title>, no meta description, no descriptive H1, and critical content that only exists after JavaScript executes. The analyzer's rule-based scan flagged crawlability and on-page basics immediately, and the citation test showed the business consequence.

Across the prompt set, the engines described the practice as an accounting firm rather than a law firm and recommended comparators from a completely different vertical. The recommended names included several of the Big Four consulting and professional-services brands a buyer would expect for tax or audit work — not for a legal matter. When a prospect asks an assistant "who should I contact for this legal issue?" the answer is not merely missing the firm; the answer is confidently steering the prospect to the wrong category of provider. In AI-search terms, being absent is bad. Being present under the wrong identity is worse, because the engine has already committed to a framing that excludes you.

Being absent from an AI answer is bad. Being present under the wrong category is worse, because the engine has committed to a framing that excludes you.

Why did the engines get the category wrong?

Category inference in an LLM answer starts with what the model can read: the URL, the visible text, links, and any structured data. A page that renders its real headings and body text only through JavaScript gives a crawler a near-empty document. With no <title>, no description, and no H1 to anchor the vertical, the engine falls back to the domain name and whatever fragments it can extract — then guesses from statistical association. A professional-services domain with financial-adjacent signals gets matched to the largest professional-services entities the model knows, which is exactly how a legal practice ends up compared with audit and advisory firms.

The fix is not complicated, and it is the same discipline the learning center teaches for every category of site: make the identity machine-readable before the engines are asked to infer it. The schema.org vocabulary exists precisely so a site can declare, in a format engines trust, that it is a LegalService with a given practice area and location — instead of leaving the classification to a model's guess.

What does a missing title and H1 actually cost you?

Missing titles and headings look like small on-page details, so they rarely make a project plan. The Sydney test is a reminder that their cost compounds across every surface that reads the raw HTML: search snippets without a title to click, social previews assembled from whatever text is scraped, accessibility tools that announce a page with no name, and AI engines that use the title as the strongest single signal for what the page is about.

The readiness model behind the seo-ea.com analyzer treats crawlability as the gate: a URL that bots cannot read correctly fails the basics no matter how good its content is. A descriptive, unique title, a one-per-page H1, and a meta description are the minimum cost of letting any reader — human, search engine, or language model — know what the page is before they read a single word. On the firm's homepage, none of the three existed in the served HTML.

Why does JavaScript rendering change the picture?

JavaScript is not inherently an enemy of AI search. Google's own documentation explains that Googlebot queues pages for a second rendering wave and can execute JavaScript, and several AI crawlers follow similar patterns. The problem is dependence. When the meaning of the page lives only behind script execution, any engine that skips rendering, hits a timeout, or runs out of crawl budget reads an empty shell. Rendering is expensive, so engines do it selectively — and the pages that need it most are the ones most likely to be left as shells. The reliable pattern, as web.dev summarizes it, is to render the critical content on the server and use JavaScript only to enhance it. The Sydney homepage inverted that: the server returned structure with almost no content, and JavaScript was responsible for nearly everything meaningful.

What does this mean for professional-services sites?

Professional services are a high-stakes category for AI search because the buying question is usually comparative: which firm, which advisor, which agency. Assistants answer those questions by naming a short list of providers, and the list is assembled from the entities the engine can identify with confidence. The table below maps the symptoms we saw in the Sydney test to what the engine likely inferred and the fix that closes the gap.

Symptom on the siteWhat the engine seesFix
No <title> in served HTMLNo declared page identityUnique, descriptive title per page
No meta descriptionNo summary to quoteWrite a 150-160 character summary
No H1, headings rendered by JSNo category anchorOne H1 per page, server-rendered
No Organization schemaCategory inferred by guessLegalService / ProfessionalService JSON-LD
Content behind client renderingNear-empty page shellSSR or prerender critical content

The pattern is not unique to law or to Sydney. Any niche where the buyer asks "which provider should I choose?" and the engines answer with a named shortlist is exposed to the same failure. If your site cannot be read, your category can be reassigned by a model that is trying to be helpful with almost no information.

How do you test whether AI engines can read your site?

The discipline is the same whether you run a law firm, a software company, or an e-commerce store: verify the crawlability basics first, then measure how engines actually describe you. Run a free readiness scan on the seo-ea.com analyzer and read the crawlability and schema sections as if they were a code review of your identity. Then use the free AI citation checker to see whether engines mention you at all when asked category questions.

The methodology matters as much as the result. The analyzer runs n=4 to 6 prompts per engine because a single prompt is too noisy to judge, averages runs to separate signal from randomness, and reports a citation rate from 0% to 100%. On its label scale, readiness scores of 80% and above are "Excellent", 60% to 79% are "Good", 40% to 59% are "Fair", and anything below 40% is "Needs work". In the Sydney case the numbers were less important than the qualitative finding: the engines were not ignoring the brand, they were confidently reclassifying it. That is a finding no single prompt would have surfaced reliably, which is exactly why the statistics post makes the case that repeated, comparative measurement beats one-off checks.

What should the firm fix first?

The fixes are ordered by leverage, not by effort. Server-rendering or prerendering the homepage is the foundation, because nothing else matters if engines keep reading an empty shell. Second is declaring identity in the HTML: a title, a description, and exactly one H1 that names the practice area. Third is structured data: LegalService or ProfessionalService JSON-LD with practice area, location, and same-as links, which is what the schema-audit section of the analyzer checks for. Fourth is the content that the engines actually quote: quantified claims, service pages with real substance, and citations to authority sources — the building blocks covered in the GEO guide and the AEO guide.

None of these steps requires an agency or a large budget. They require treating the machine-readable version of the site as a first-class deliverable, which is a process question, not a technology one. The firm will re-run the citation test after the fixes, on the same prompt set, and compare against the same competitors, exactly as the compare tool on seo-ea.com makes possible. If the category label changes from accounting to legal and the recommended names shift to the right vertical, the fix is measurable — and that measurement is the point.

The machine-readable version of your site is the version AI engines read. If you never look at it, they are reading a version of your business you have never approved.

How do I know if AI engines can read my site?

Run a free readiness scan on the seo-ea.com analyzer and check the crawlability and schema sections for missing titles, descriptions, H1s, and structured data. Then run a citation test on the analyzer to see how engines actually describe and recommend your brand.

Is client-side rendering bad for AI search?

Not automatically. Google renders JavaScript, and so do several AI crawlers. The problem is dependence: when your critical content only exists after JavaScript executes, any engine that skips rendering or times out reads a nearly empty page and has to guess.

Why did the engines recommend accounting firms for a law firm?

With no title, description, or heading to anchor the category, the engine inferred the vertical from the domain and fragments it could read. Professional-services and financial-adjacent signals pointed it at the biggest names it knew in that space, which is why Big Four-style comparators appeared.

What is the first fix for a misread site?

Server-side render or prerender the homepage, add a unique title and meta description, use exactly one descriptive H1, and add ProfessionalService or Organization JSON-LD with the correct industry classification.

Keep exploring

Run the same checks on your own site with the free analyzer at seo-ea.com, test how engines describe your brand with the AI citation checker, read the framework in the learning center, or compare your readiness against competitors on the compare page. Reference documents: schema.org, Google JavaScript SEO basics, and web.dev.