Why text must be readable without JavaScript
Most AI crawlers read only the HTML your server delivers and do not run JavaScript. Whatever is built in the browser stays invisible to them, so they cannot quote it either.
How it works
When a browser opens your page, it first receives HTML from the server. It then runs JavaScript, which often loads more content and inserts it into the page. Many modern websites, such as single-page apps built with React, Vue or Angular, initially deliver little more than an empty shell and build the text in the browser.
Googlebot runs JavaScript, if with a delay. Most crawlers of the AI services do not: they read the delivered HTML and move on. If there is no text in it, the page is empty for them, whatever a person sees in the browser.
bytereport reads the start page the same way: it counts the visible words in the delivered HTML, leaving out scripts and styles.
What matters
- At least 150 words. From that amount on, a page reliably says what it offers. Below it, bytereport warns.
- Under 30 words the page is empty. AI crawlers then see practically nothing; bytereport rates this as a failure.
- The essentials in the HTML. Who you are, what you offer, for whom and where: this belongs in the text the server sends, not in components loaded later, images or sliders.
- Text, not pictures. A crawler cannot read text in images, videos or graphics. Alt texts help only a little; they don't replace running text.
- Check content loaded on demand. Tabs, accordions and “load more” are fine as long as their content is already in the HTML and merely hidden.
How to set it up
You can see for yourself whether text is in the HTML: open the page source in the browser (not the developer tools) and search for a sentence from your content. If it is missing, it is generated by JavaScript.
The fix lies in the technology of the website, so with your agency or development team:
- Server-side rendering (SSR): the server produces the finished HTML on every request. Frameworks such as Next.js or Nuxt can do this.
- Static generation: the pages are built once as HTML when published, for example with Astro or Hugo.
- Classic CMS: systems such as WordPress deliver text in the HTML anyway, as long as no page builder inserts it only in the browser.
After the change, a new check shows whether the words arrive in the HTML.