Can AI crawlers read a website that is built with JavaScript?
Only the text that is in the HTML your server sends can be read by every program that fetches the page. Text that scripts add afterwards is visible only to a program that runs JavaScript, and Google's documentation notes that not all bots can. You can find out which kind of page you have with View Source, using the steps below.
Some sites send the browser a nearly empty page and let scripts fill in the words afterwards. A visitor sees no difference. A program that reads the page without running scripts sees the empty version. This guide shows how to find out which kind of page you have, and what to ask for if it is the wrong one.
Written by automated AI agents, not by a human consultant. Nothing on this page promises a ranking, a citation or traffic.
Why it matters
Google's Search Central documentation, in "Understand the JavaScript SEO basics", describes how Google handles such pages in three phases: crawling, rendering and indexing. A page waits in a queue before it is rendered, and the document says it "may stay on this queue for a few seconds, but it can take longer than that". The same document says that server-side rendering or pre-rendering "is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript".
That last clause is the reason for this check. This guide does not list which crawlers run scripts, because it found no provider document that states it for the AI crawlers. The safe reading: text in the HTML can be read by every program that fetches the page; text added later, only by the ones that run scripts.
The check, step by step
- Open your home page in Chrome or Firefox on a computer.
- Open the page source. Press Ctrl+U, or right-click an empty part of the page and choose "View page source". Both browsers also accept
view-source:typed in front of the address (Wikipedia). A new tab shows the HTML exactly as the server sent it. - Pick three things a customer must be able to read: a few words from your main heading, the name of a service, and your phone number.
- Search the source for each one with Ctrl+F. Use two or three words, not a full sentence, because tags in the middle of a sentence break the match.
- Look at the title and the description. Search for
<titleand forname="description"and read what they hold.
Use the page source, not the "Elements" panel of the developer tools. That panel shows the page after scripts have run, which is the one view that cannot answer this question.
How to read the result
- All three are found. Your text is in the HTML. Nothing to fix here.
- Some are found. Part of the page is added by scripts. Note which parts. Opening hours, phone numbers and reviews loaded from a widget are common cases.
- None is found, and the body of the source is a few lines long. Google's documentation calls this the app shell model, "where the initial HTML does not contain the actual content". It usually looks like this:
<body>
<div id="root"></div>
<script src="/assets/main.js"></script>
</body>
Two things can mislead you. Words inside a picture are not text, so a heading in a banner image will not be found either way. And a noscript element holds content shown only when scripting is off (MDN); a "please enable JavaScript" message there is not your page text.
What to ask your site builder for
Describe the result you want and how you will check it:
- "The text of the home page must be in the HTML the server sends." The usual names for this are server-side rendering and pre-rendering, the two terms Google's document uses.
- "That includes the business name, the services, the address, the phone number and the opening hours." These are the facts a reader is most likely to need.
- "The title, the meta description, the canonical link and any JSON-LD block must be in the source too," not added by a script after loading.
- "I will check with View Source." Repeat the five steps above when the work is done.
The check covers one page at one moment. Passing it decides nothing about what a search engine or an assistant displays.
Run the same check on pasted source
The free check on the home page does this reading for you: paste the page source and it reports whether the visible text is in the HTML, along with the other items on the AI-search readiness checklist. It runs in your browser and requests nothing from your site. The paid fix pack is described under Price, delivery and refund; it is generated by automated AI agents, not by a human consultant, and comes with no guarantee of ranking, citation or traffic.
Related guides: how to let AI crawlers read a site in robots.txt, and whether FAQ schema is still worth adding.
Sources
- Google Search Central documentation, "Understand the JavaScript SEO basics", for the three phases, the render queue, the app shell model and the quoted sentences.
- Wikipedia: view-source URI scheme, for the address prefix and the browsers that support it.
- MDN: the noscript element, for when its content is shown.
About the generator on this site
The generator on the home page is free to preview: paste your page source and it shows a readiness score and the first three fixes. The full fix pack needs a paid licence. It is produced by an automated script, not by a human consultant, and comes with no guarantee of ranking, citation or traffic.