Your SEO pixel's fixes are invisible to AI crawlers

Some SEO platforms fix your titles, descriptions and schema with a JavaScript pixel instead of changing your HTML. We tested what AI crawlers actually receive from sites running one. On every site with live changes, none of the fixes were there.

What we tested

In October 2026 we looked at Search Atlas's OTTO pixel, which applies SEO changes in the visitor's browser. We found five small-business sites still running it. For each home page we fetched the server HTML with JavaScript off, once each as Chrome, GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Googlebot. Then we loaded the page in a normal browser with JavaScript on, waited for it to settle, and compared.

All six user agents got byte-identical HTML on every site, so nobody was serving bots a special version. The difference was entirely in what JavaScript added afterward.

What we found

Three sites with live changes, three for three: the fixes never reached the HTML that AI crawlers read.

Why AI crawlers miss them

A December 2024 study of crawler traffic by Vercel and MERJ found that OpenAI's crawlers, ClaudeBot and PerplexityBot download JavaScript files but do not run them. Google's crawler and Applebot do render JavaScript, so a pixel can still reach Google Search. It does not reach the AI engines you were probably paying to show up in.

The payloads had problems too

We saved the change lists the pixel downloaded. Some of what it was injecting:

Limits

Five sites, home pages only, one run each, from one IP address rather than the crawlers' real IP ranges. A site that checks crawler IPs could serve real bots something different; none of these showed signs of that. The claim that these crawlers skip JavaScript comes from the Vercel and MERJ study, not from our test.

The fix

Put your titles, descriptions, canonicals and structured data in the HTML your server sends. If a tool suggests a change, copy it into your templates or CMS fields and turn the pixel off. One roofing company we came across did exactly that: a single code change that moved 35 of the pixel's fixes into the site itself, made before cancelling the service.

To see what a crawler gets from your page, run it through the free Meta & Social Preview (my own product). It reads the raw HTML, so a title or description that only exists after JavaScript shows up as missing.