Can ChatGPT read your website?
Is your content visible without JavaScript?
Some websites send an almost empty page and build the text in the browser with JavaScript. Google runs JavaScript, but Google itself says not all bots can. Three 10-minute checks show whether your text is in the HTML your server sends, and what to change if it is not.
· By the Letzscale team · 7 min read ·
On this page
- Time
- 10 minutes to check
- Difficulty
- Medium
- Who
- Your developer, or whoever built your website
- You need
- Google Chrome on a computer. For check 2, a Terminal window (Mac or Linux)
- Checked
- 24 October 2026
Part of the Letzscale guides: free, step-by-step fixes that help ChatGPT and other AI assistants find, understand and recommend your business. New here? Start with Guide 01: Check what ChatGPT says about your business.
Why it matters
When someone opens your website, their browser receives a file of HTML code from your server. On most websites, that file already contains your text: your services, prices, opening hours. On some modern websites, the file is almost empty. A program written in JavaScript then runs in the browser and builds the text on screen.
For a person, both look the same. For a crawler, they are not. Google runs the JavaScript before it reads a page, but Google itself says that "not all bots can run JavaScript". A crawler that only reads the file your server sends may find no text at all, and has nothing to quote about you.
<body>
<div id="root"></div>
<script src="/app.js"></script>
</body>
<body> <h1>Kastell Conseil</h1> <p>Accounting and payroll for small companies in Luxembourg.</p> </body>
Illustration with a fictional business.
Before you start
Have these ready
- Google Chrome on a computer. The shortcuts below are Chrome's own.
- Three addresses to test: your homepage, your most important service page, and your contact page.
- For each page, one sentence you can see on screen that matters, for example the first line of a service description. Pick a short sentence without apostrophes, quotes or "&": in the HTML file these characters are often written as codes, so an exact search can miss them.
Steps
Three checks, and one to avoid
Check 1: search the page source
Open the page in Chrome. Press Ctrl + U (Windows, Linux) or ⌘ + Option + U (Mac). Chrome opens a new tab with the HTML file exactly as your server sent it, before any JavaScript ran.
In that tab, press Ctrl + F (Windows, Linux) or ⌘ + F (Mac) and type a few words of your sentence.
- Found. Good: crawlers that do not run JavaScript can read this text.
- Not found. The text is added later by JavaScript. Try a second sentence from the same page to be sure, then go to the fixes below.
Our own homepage in View source, 28 October 2026. Find (Cmd+F) highlights the sentence in the HTML the server sends, so a crawler that does not run JavaScript can read it too. On our own homepage,
letzscale.com, the sentence "Get a free report on what ChatGPT, Gemini and Google AI Overviews say about you" appears in the page source, so it is in the HTML file.Check 2: fetch the page like a simple crawler developer
This does the same check from a Terminal, which is useful for testing many pages.
curldownloads the HTML file and does not run JavaScript.-shides the progress bar,-Lfollows redirects (for example fromyourcompany.lutowww.yourcompany.lu).grep -ioprints the sentence if it finds it, ignoring capital letters.Terminal · our own homepage, 24 October 2026curl -sL https://letzscale.com/ | grep -io "Get a free report on what ChatGPT, Gemini and Google AI Overviews say"
If the sentence is in the HTML, the Terminal prints it back. If it prints nothing, the sentence is not in the file your server sends. Replace the address and the sentence with your own.
Check 3: turn JavaScript off in Chrome
This shows you, on screen, what a reader without JavaScript gets.
- Open the page and open DevTools: F12 or Ctrl + Shift + J (Windows, Linux), ⌘ + Option + I (Mac).
- Open the Command Menu: Ctrl + Shift + P (Windows, Linux) or ⌘ + Shift + P (Mac).
- Type
javascript, select Disable JavaScript and press Enter. - Reload the page, with DevTools still open.
Look at what is left. A blank page, a loading spinner, or a page with menus but no service text means the content depends on JavaScript. JavaScript stays off in this tab only while DevTools is open. To turn it back on, run Enable JavaScript from the Command Menu, or close DevTools.
Do not use "Inspect" for this
Right-clicking a sentence and choosing Inspect opens the Elements panel. It almost always shows your text, even on an empty-HTML website, because it shows the page after JavaScript has run. Chrome's own documentation puts it this way: "HTML represents initial page content and the DOM represents active, current page content." The Elements panel shows the DOM. Crawlers that do not run JavaScript only get the HTML, so use checks 1 to 3.
Fix
Put the text in the HTML
If your checks found missing text, the goal is simple: your server should send the important text inside the HTML file, not build it later in the browser.
Custom-built website
Ask your developer for server-side rendering (the server builds each page before sending it) or static rendering (pages are built once, in advance). Most modern website frameworks offer one or both. Google recommends these, or hydration, over "dynamic rendering", which it calls "a workaround and not a recommended solution".WordPress, Wix, Webflow and other builders
Usually the page text is in the HTML already. The problem is often one block: a slider, tab, pop-up or third-party widget that loads your key text with JavaScript. Run check 1 on the sentences inside that block. If they are missing, move the key text into a normal text block, and keep the widget for decoration.Why not just rely on Google?
Google can render JavaScript, and still says server-side or pre-rendering "is still a great idea because it makes your website faster for users and crawlers". The same fix helps Google, other search engines and AI crawlers.
For your developer
Google's JavaScript pitfalls
Even when the text is in the HTML, a few things go wrong on JavaScript websites. These come from Google's JavaScript SEO basics page:
- Links must be real links. "Google can only discover your links if they are <a> HTML elements with an href attribute." A button or a
<div>that changes the page on click is not a link crawlers can follow. - Set the canonical in the HTML. "The best way to set the canonical URL is to use HTML." If JavaScript sets it too, it must match the value in the original HTML.
- Set noindex in the original HTML, or not at all. When Google sees a
noindextag, it may skip running the JavaScript. A noindex that JavaScript removes later can keep the page out of Google. If you want the page indexed, do not putnoindexin the original page code. - Missing pages must return a real 404. Google uses HTTP status codes to see if something went wrong. A "page not found" message shown by JavaScript on a page that answers 200 (OK) looks like a real page. Google suggests a redirect to a URL that returns 404, or adding
noindexto error pages.
Structured data added by Google Tag Manager
Structured data (the labels described in Guide 05) is often added with Google Tag Manager, which injects it with JavaScript. Google says it can process structured data that is in the page when it renders it, but crawlers that do not run JavaScript will not see it. Google also notes that markup generated this way can make Shopping crawls "less frequent and less reliable". To check, open the page source (check 1) and search for application/ld+json. If it is only added by Tag Manager, ask your developer to put it in the page HTML instead.
Check it worked
Run the checks again
After the change goes live, repeat check 1 or check 2 on the same pages, with the same sentences. Use a private browser window so you see the live version and not a saved copy.
Done when
- On your homepage, main service page and contact page, the sentences you chose appear in the page source.
- With JavaScript disabled, each page still shows your business name, services and contact details.
- Menu links are real
<a href>links in the page source. - Your structured data, if you have it, appears in the page source.
Common mistakes
What usually goes wrong
- Checking with Inspect. The Elements panel shows the page after JavaScript ran, so it hides the problem.
- Testing only the homepage. Service pages, price lists and contact pages are often built differently. Check the pages you want AI assistants to quote.
- Searching for a sentence with an apostrophe or "&". These are often written as codes in the HTML, so the search finds nothing even when the text is there.
- Key text inside a slider or tab. The headline is in the HTML, but the prices or opening hours load only when a visitor clicks.
- Choosing dynamic rendering as the long-term fix. Google calls it a workaround. Server-side or static rendering is the lasting fix.
Sources, checked 24 October 2026
- Google: Understand JavaScript SEO basics
- Google: Dynamic rendering as a workaround
- Google: Generate structured data with JavaScript
- Google Chrome Help: Chrome keyboard shortcuts
- Chrome DevTools: Disable JavaScript
- Chrome DevTools: Get started with viewing and changing the DOM
- curl: man page (options -s, -L)