Skip to content
AI Front DoorScan my site — free
← All fixes

Some of your content never reaches an AI crawler

Part of your page is built by JavaScript in the visitor's browser. AI crawlers don't run JavaScript, so they never see that part.

mediumcontent-not-in-server-html

What we observed

We compared the words in your editor with the words present in the HTML your server sends, and found a gap. Your page looks complete in a browser. A crawler that does not run JavaScript sees considerably less.

Why it matters

AI crawlers fetch pages, but they don’t run JavaScript. Anything your page builds in the browser — a loop widget pulling in posts, a tabbed section, content revealed on scroll, an app built in JavaScript — is invisible to them, however good it looks to a visitor.

This is not the same as Google. Googlebot does run JavaScript, though it can take a while. So a page can rank perfectly well and still be unreadable to every AI assistant, which is exactly the kind of problem that goes unnoticed for a year.

How to fix it

Find out what is missing first. View the page source — Cmd+U in most browsers, or curl -s https://example.com/your-page | less. That is what a crawler receives. Search it for a sentence you can see on the page in your browser. If it isn’t there, that content is built in the browser, and crawlers don’t see it.

Then, depending on the cause:

Page builder dynamic widgets — Elementor loop grids, post widgets, Divi and WPBakery equivalents. These are often built on the server by default, which crawlers can read, but not always. Where a widget offers a “skin” or a rendering option, the static (non-dynamic) one is usually readable. Where it doesn’t, the lasting fix is to write the important content directly into the page instead of having the widget pull it in automatically.

Lazy rendering from a performance plugin. WP Rocket’s lazy render and similar features hold content back until the visitor scrolls to it. Exclude your main content area, or turn the feature off for pages where the text is the point.

A client-side app. If your theme or a section is built with React or Vue and only runs in the browser, fixing it properly means changing how the site is built. In the short term, make sure the page’s main point — what this page is about, in plain sentences — is written into the HTML, not added by JavaScript.

The thing to keep in mind: you do not need the whole page to be static. You need the part that answers a question to be in the HTML.

How to check it worked

curl -s https://example.com/your-page | wc -w

Compare that number with the rough word count in your editor. Or re-run the check: the Pages screen shows the before and after numbers per page, and the post editor sidebar shows the same figure while you are working on the page.

Find out where you stand — free

One scan, about twenty seconds, no account needed.