The short answer

When your page loads in a browser, a script may fill in the price, the product list or the opening hours after the page arrives. A person sees the finished page. A crawler that does not run scripts sees the empty version. The fix is to make sure your key facts are in the HTML your server sends in the first place.

You can check this in two minutes, without any technical skill.

What the evidence says, and how old it is

Vercel analysed AI crawler traffic and published the result in December 2024. It reported that the bots from OpenAI, Anthropic, Perplexity, Meta and Common Crawl did not render JavaScript. Vercel said the ChatGPT and Claude crawlers downloaded script files but did not run them. It also reported that Gemini, which uses Googlebot's infrastructure, and Applebot did render JavaScript.

Two cautions. This is one company's measurement, and it is about 22 months old. Crawlers change. Google's own guide says "not all bots can run JavaScript" and calls server-side or pre-rendering a great idea, so the safe habit does not depend on the latest study.

Apple says Applebot may render pages in a browser; Google describes a three-step process in which a page is crawled first and rendered later, when resources allow. Even for crawlers that do run scripts, your content may be seen later than the plain HTML.

Step 1: look at your raw HTML

  1. Open your page in Chrome, Edge or Firefox.
  2. Right-click and choose View page source. (Do not choose "Inspect": that shows the page after scripts have run.)
  3. Press Ctrl+F (Cmd+F on a Mac) and search for something a customer should find: your price, a product name, your city, or a sentence from your main offer.

If you find it, good. If the source is mostly empty tags and script links, the facts are being added later.

The quicker way is our raw HTML check at /tools/raw-html-check. Paste your page address and a few phrases you expect to find. It shows which ones appear in the HTML before any script runs.

Step 2: pick the fix that fits your site

You use a website builder or a ready-made store theme. Many themes send the main text in the HTML. The usual culprits are add-on widgets: a price table, a reviews box, a booking calendar. Ask the app's support whether it shows its content in the HTML, or put the key facts in plain text next to it.

You have a custom site built with a JavaScript framework. Ask your developer for one of these:

  • Server-side rendering: the server builds the finished page for every visit.
  • Pre-rendering or static pages: the pages are built ahead of time and served as plain files.

Google says both help users and crawlers.

You cannot change how the site is built. Add a plain-text block in the HTML with the facts that matter, for example under the main heading or in the footer. Keep it true, short and the same as what the script shows.

Google says it generally follows links written as an <a> element with an href. A "button" that only runs a script may not be followed. If your menu or product list is made of script-only buttons, a crawler may never find the pages behind them.

Two examples

A fictional bakery, Maple Row Bakery at example.com, sells a monthly bread box. Its price box is a small widget that loads after the page. In "View page source" the words "bread box" appear, but the price does not. The bakery adds one plain sentence under the heading: "The monthly bread box costs $24, delivered on the first Saturday." Now the price is in the HTML. The widget can stay.

A fictional plumber, Harbour Plumbing, built its whole site as an app. Its source shows one empty div and a script link. Here a one-line text block will not be enough. The developer should switch on server-side rendering or pre-rendering, so each page arrives complete.

When to worry less

If the facts are already in your page source, you are fine on this point and can move on. A site that is mostly plain text, like a brochure site or blog, often passes. Spend your time on the other guides in this group instead.

A checklist to copy

Page: https://example.com/pricing
[ ] Price appears in "View page source"
[ ] Product or service names appear in "View page source"
[ ] City or service area appears in "View page source"
[ ] Opening hours or delivery terms appear in "View page source"
[ ] Main menu uses real links (a tag with an href)
[ ] The page title and heading are in the source, not added later
Checked on: ____   By: ____

How to check it worked

Change the page, publish, then repeat Step 1 on the live page, not on a preview. Run the raw HTML check again. If you also use our crawler checker, confirm that the bots are allowed in, since a perfect page does nothing if the bot cannot fetch it.

What this won't do

  • It does not make an assistant recommend you.
  • It does not prove which crawler reads which page. Vercel's finding is a measurement published in December 2024, not a promise about today.
  • Plain HTML is not enough on its own. The facts also need to be accurate and easy to find.
  • Putting your facts in the HTML is not a ranking trick.

Sources

  1. Vercel: The rise of the AI crawler Accessed
  2. Google Search Central: JavaScript SEO basics Accessed
  3. Google Search Central: Make your links crawlable Accessed
  4. Apple: About Applebot Accessed