Flow20

AI crawler visibility: test JavaScript-rendered pages

AI crawler visibility

Your page can look complete in Chrome whilst a crawler receives almost no useful text. To improve AI crawler visibility, make essential content available in accessible HTML, then test fetching, rendering and indexing separately.

Crawler capabilities vary, so a successful Googlebot test doesn’t establish what another platform can process. Start with the published response, compare it with the rendered page, and check actual crawler access before rewriting your content.

Separate fetching, rendering and indexing

These processes answer different questions, and confusing them can send your audit in the wrong direction.

Fetching means requesting a URL and receiving a response. A crawler might receive your full article, an empty application shell or a security challenge.

Rendering means executing JavaScript and constructing the page. This can add text, links and metadata that weren’t present in the initial HTML.

Indexing means processing content for inclusion in a search index. Receiving and rendering a page doesn’t guarantee that decision.

A crawler path enters layered browser panels and reveals abstract page content beneath a blue header.

Google’s JavaScript SEO documentation describes these three stages. Google uses a headless Chromium renderer, but rendering can be deferred. Blocked pages and blocked JavaScript resources aren’t rendered.

That tells you how Google processes JavaScript. It doesn’t establish identical behaviour for OpenAI or another provider.

Keep this distinction throughout your test: access is necessary, but access alone doesn’t prove content was understood or selected.

Choose pages and content worth testing

Sample the templates that matter commercially

Start with your main service page, a detailed article, a product or pricing page, and one JavaScript-heavy template. Include an important deep URL rather than testing only your homepage.

Use Search Console and conversion data to choose pages that already attract relevant demand. A B2B SEO content audit can help you connect technical priorities with enquiries.

If PPC drives much of your traffic, include public campaign landing pages where they also provide useful service information. You’re checking the published content, not whether the advertising platform approves the page.

Define what a successful response contains

For each URL, record the exact heading, service explanation, pricing terms and supporting links you expect to find.

On a pricing page, for example, check whether billing units and exclusions appear without changing a toggle. On a service page, look for delivery details and relevant proof.

Keep a simple record of the URL, template, test date and expected content. Save your results against that baseline so another person can repeat the whole method.

Inspect the initial HTML response

Capture the document before JavaScript changes it

Open Chrome DevTools, select the Network panel and reload the page. Select the main document request, then inspect its response and headers.

Use a fresh session without an existing login. Save the HTML response and note the status code, final URL and any redirects.

Search for the exact content you recorded earlier. Look for the main answer, not merely the title or navigation.

A 200 response isn’t enough. It can contain a loading message, an error screen or an application shell. A command-line request with curl provides another useful comparison, but it still tests fetching rather than rendering.

Check text, links and directives

Confirm that important copy exists as ordinary HTML text. Text stored inside a JavaScript object isn’t equivalent to a readable page explanation.

Inspect links too. A button with a click handler may work for visitors without exposing a destination through an ordinary href.

Take particular care with JavaScript-injected internal links. If a vendor script fails, those routes can disappear.

Record any robots directives, canonical tags and unexpected destinations. Don’t remove them automatically. Some exclusions are intentional, especially for duplicate pages, private areas and staging environments.

Compare the rendered page with Google’s view

Run a controlled rendering comparison

Load the same URL normally and inspect the resulting DOM in Chrome’s Elements panel. Compare the essential content with your saved document response.

Screaming Frog SEO Spider also lets you compare HTML crawling with JavaScript rendering. Keep the URL sample and relevant settings consistent.

Check for failed API requests, blocked scripts and console errors. If the service explanation arrives only after an API response, record that dependency.

Also inspect mobile output and content behind interactive controls. Don’t assume a crawler will click tabs, accept cookies or scroll through every component.

Two printed page layouts, one sparse and one populated, sit beside a magnifying glass and server card.

Use URL Inspection for Google-specific evidence

In Search Console, inspect the URL and run Test live URL. Review the available HTML, screenshot and resource information.

The URL Inspection documentation distinguishes Google’s indexed version from its live test. An older indexed view may not reflect your latest deployment.

Compare both views where available. A successful live test doesn’t guarantee indexing, ranking or inclusion in an AI answer.

Use SEO indexation monitoring to track that separate decision. Your local browser comparison identifies dependencies; Search Console provides Google-specific evidence. Neither reproduces every AI crawler’s behaviour.

Verify AI crawler access independently

Before testing AI crawler visibility, identify which crawler matters and what it does.

OpenAI’s crawler documentation distinguishes OAI-SearchBot, which supports ChatGPT search features, from GPTBot, which crawls content that may support model training. Their controls are independent.

Allowing GPTBot isn’t a prerequisite for allowing OAI-SearchBot. Equally, that documentation doesn’t establish whether either crawler executes your JavaScript or processes a fully rendered DOM.

Review robots.txt, CDN settings and firewall rules for the intended crawler. Keep private information protected by proper authentication rather than relying on crawler instructions.

Then inspect actual requests through AI crawler monitoring. Record the requested URL, timestamp, response status and security action. Where the provider supplies verification guidance, use it rather than trusting a user-agent string alone.

A browser challenge can prevent access even when your application appears healthy to you.

Changing your test client’s user-agent doesn’t reproduce a crawler’s JavaScript capabilities, network identity or indexing process.

A genuine request confirms access at that moment. It doesn’t prove that the crawler read a particular paragraph, retained it or cited it. If rendering capability remains undocumented, record it as unknown.

Interpret the evidence without guessing

Use the findings to classify the problem before you choose a fix.

ObservationWhat it supportsWhat it doesn’t establish
Main copy appears in initial HTMLA successful fetch can receive it without JavaScript executionIndexing or citation
Copy appears only after renderingThe page depends on JavaScript for that contentEvery crawler can process it
Search Console shows the expected contentGoogle can access it in that testAnother provider’s capabilities
Verified crawler request returns 200The URL was fetched successfullyThe response contained useful copy
Your page appears as an AI citationThe platform selected it for that answerConsistent future inclusion

If the initial response contains useful copy but your brand isn’t cited, don’t immediately blame JavaScript. Discovery, relevance and source selection are separate questions.

If the response is an empty shell, you’ve found a dependency worth addressing, even when Chrome displays everything correctly.

Keep technical testing separate from an AI search audit. For answer testing, save the exact prompt, date, UK location, platform and model where available. Repeat important queries under comparable conditions.

A single screenshot records one answer. It doesn’t diagnose the reason your page was selected or omitted.

Fix dependencies and retest after changes

Make essential information available earlier

Consider server-side rendering or static generation for essential page content. You can retain interactive features whilst delivering the core explanation in the initial response.

If you use pre-rendering, make sure it stays current. An accessible pricing page with outdated terms creates a different problem.

Keep the main heading, service details, ordinary links and important terms available without requiring interaction. Structured data should match visible content; it doesn’t replace it or guarantee a citation.

Google describes dynamic rendering as a workaround, rather than its recommended long-term solution. Assess the maintenance cost before adding another delivery path.

Turn the test into a deployment check

After changes, repeat the same response, rendering, directive and access checks. Check canonical consistency too, particularly where JavaScript filters create duplicate URLs.

Build this into technical SEO automation and retain dated reports. Changes to caching, consent tools or templates can reintroduce failures.

Check that landing pages used for Google Ads and Facebook Ads still show the same current offer and terms. Buyers shouldn’t receive conflicting information across your marketing.

Track AI search visibility separately from crawler requests and qualified leads. Better access removes an avoidable obstacle, but your reporting still needs to show whether the traffic has commercial value.

Start with the response your crawler receives

Reliable AI crawler visibility starts with knowing what your server delivers and what JavaScript adds. Keep fetching, rendering and indexing separate so each finding leads to the right action.

Your page looking complete in Chrome is only one part of that evidence. Test your highest-value templates first, then retain the results for your next deployment.

If you need help prioritising the work, use Flow20’s SEO support to investigate technical access and connect the findings with your wider Digital marketing performance.

Shirish Agarwal

Shirish Agarwal

Shirish Agarwal leads Flow20 and has been featured as one of the Top 30 Digital Marketing Influencers of 2019 alongside Neil Patel and Rand Fishkin. His new book Gen Z to Gen Zero, which discusses the impact of AI on the job marketplace, is now out and available on Amazon.

0Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Ad Rank in Google and AI Search