Skip to content

AI search

Can AI crawlers read your site without JavaScript?

If it's not in the HTML, it might not exist.

AI crawlers and JavaScript don't always mix: Google renders scripts, but some AI fetchers read only the HTML your server sends, so anything that appears after scripts run can be missed. If your prices, services or FAQs load by JavaScript, an assistant may see a near-empty page.

The test takes five minutes: turn JavaScript off and look. The fix is to send the key copy in the HTML, with server or static rendering.

Josef Winstone, Founder & Managing Director, Foundry Agency

By Josef WinstoneFounder & Managing Director · 6 min readUpdated

Do AI crawlers run JavaScript?

Some do and some don't, and it can change. The safe assumption is that an AI tool might read only the HTML your server sends.

Google says Googlebot renders JavaScript, though rendering can happen later than the first crawl. Since Google's AI Overviews and AI Mode sit on Google's index, they get the rendered version. Other AI fetchers, including some that grab a page live when someone asks a question, are lighter and may not run scripts at all. If the copy isn't in the first HTML, they can miss it.

Which sites are at risk?

Sites where the content is built in the browser. That's common with some page builders, single-page apps and plugins that load content after the page appears.

  • Single-page apps built with React, Vue or Angular that render only in the browser.
  • Prices, menus or stock pulled in from another system after the page loads.
  • FAQs, reviews or tabs that only exist in the page once clicked.
  • Pages that show a loading spinner before any text.
  • Booking or quote widgets that hold the key facts inside an embedded frame.

How do you test whether your site works without JavaScript?

Five minutes, no tools to buy. Do it on your homepage and your top service or product page.

  1. Open the page, right-click and choose View Page Source. Search for a sentence from the page, a price and an FAQ answer.
  2. Turn JavaScript off in your browser's developer settings, reload, and read what's left.
  3. In Google Search Console, use URL Inspection and View crawled page to see the HTML Google stored.
  4. Fetch the page from the command line with curl and check the copy is in the response.
  5. Ask an assistant to read the page URL and summarise it. Note anything it misses or gets wrong.
  6. List every key fact that only appears with JavaScript on. That's your fix list.

How do you fix a site that needs JavaScript?

Send the copy in the HTML. Most modern frameworks can do this already, it just has to be switched on.

Google recommends server-side rendering, static rendering or hydration, and calls dynamic rendering, where bots get a different version, a workaround rather than a long-term fix. On Next.js, Nuxt or Astro, render pages on the server or build them as static HTML. On WordPress, check that page builders and plugins output text rather than inject it. For widgets, put the key facts in plain text next to them.

Can you still use animations and interactive bits?

Yes. The rule is: words first, effects second. Scripts can animate text that's already in the page, not create it.

This site works that way. Every heading, price and FAQ answer is in the static HTML. Animations only hide content when JavaScript is running, and collapsed FAQ answers stay in the page. Turn scripts off and you lose the motion, not the words.

Is this the same as blocking AI crawlers?

No. Blocking is a robots.txt choice. This is about whether a crawler you've allowed can read anything once it arrives.

You need both right. Allow the crawlers you want, such as OAI-SearchBot for ChatGPT search, and make sure the page they reach has the copy in it. Our guide to AI crawlers and robots.txt covers the first half.

How does Foundry build sites AI crawlers can read?

We build on Next.js with static HTML by default, so every word is in the page before any script runs. Our websites average 5 days from kick-off to live, and websites start from £499 + VAT.

For existing sites, we run the tests above, list what's hidden and fix it in place where we can. If the site can't be fixed without a rebuild, we'll say so and give you a fixed price after a short call.

Our averages. Not our best days.

Our averages

  • 5days

    Website, kick-off to live

  • 20mins

    Average reply time

AI crawlers and JavaScript FAQs

  • You can't rely on it. OpenAI's fetchers may read only the HTML the server sends. Put your key copy in the HTML and it doesn't matter.

  • Yes. Googlebot renders JavaScript, though it can happen after the first crawl. Server or static rendering makes your content available straight away.

  • Usually not for normal pages, since WordPress sends HTML. Check pages built with heavy page builders or plugins that load content after the page appears.

  • Shopify themes send product details in the HTML. Apps that add reviews, prices or FAQs by script are the thing to check.

  • Often not. Many frameworks can switch to server or static rendering. If the site is built in a way that can't, a rebuild may be quicker than patching.

  • No. It makes sure AI tools can read your content. Whether they name you depends on what that content says and what other sites say about you.

Want a site every crawler can read? Get moving.

Tell us what you need. We'll reply within the hour (working hours), and most websites go live about 5 days after kick-off.

We'll reply within the hour (working hours).

Or email hello@foundryagency.co.uk

Analytics cookies are off until you accept. We use them to see which pages help. Cookie notice