Learn

Can AI crawlers read JavaScript-rendered pages?

Assume most can’t. A 2024 measurement found none of the major AI crawlers rendered JavaScript; Google is the exception. How to check a page and how to fix it.

Assume most AI crawlers can’t run your JavaScript. A 2024 measurement by Vercel found that none of the major AI crawlers it observed — including OpenAI’s, Anthropic’s and Perplexity’s — rendered JavaScript. Google is the exception: Gemini uses Googlebot’s infrastructure, which renders pages. If your main text only appears after JavaScript runs, put it in the HTML your server returns.

What was measured

Vercel and MERJ looked at real crawler traffic and published the results in December 2024 in “The rise of the AI crawler”. Their findings:

  • None of the major AI crawlers they observed rendered JavaScript. The list included OpenAI (OAI-SearchBot, ChatGPT-User, GPTBot), Anthropic (ClaudeBot), Meta, ByteDance and Perplexity.
  • ChatGPT’s and Claude’s crawlers did fetch JavaScript files, but didn’t execute them.
  • Google’s Gemini uses Googlebot’s infrastructure and renders JavaScript.

This is third-party measurement from 2024, not documentation from the crawler operators, and crawlers can change. Treat it as the safe assumption, not a permanent rule.

Google documents its own behavior: “Google is able to process content within JavaScript as long as it isn’t blocked” (Google’s AI optimization guide).

How to check a page

  1. Open the page, then open View page source (not the inspector — the inspector shows the page after JavaScript ran).
  2. Search the source for a sentence from your main text.
  3. If it isn’t there, a crawler that doesn’t run JavaScript gets the page without it.

Also check your title, meta description, headings and structured data the same way. They are often injected by JavaScript in single-page apps.

How to fix it

  • Render on the server. Server-side rendering or static generation puts the content in the initial HTML response. Most modern frameworks support it.
  • Don’t hide key facts behind interactions. Tabs, accordions and “load more” buttons are fine if the text is already in the HTML.
  • Keep text out of images. Text inside an image isn’t text to a crawler.

How Tooru checks it

Tooru reads the HTML your server returns, the way a non-rendering crawler does, and checks whether the main content is there before any script runs. It sits under “Can AI read the page?”, worth 29 of 100 points. Details are in the methodology.

Changelog

  • 2026-10-09: Published