Build1 distinct publisher3 min readUpdated
In a 30,180-request test across roughly 1,000 pages, Googlebot followed JavaScript-injected links. GPTBot, ClaudeBot and PerplexityBot did not follow them at all.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
SEO engineer Vinicius Stanula ran a 41-day crawl experiment on a site of roughly 1,000 pages and logged 30,180 requests from 27 distinct crawlers, documenting the setup and results in a field experiment posted on LinkedIn [1][2][3][5]. Pages reachable only through JavaScript-injected links were not discovered by GPTBot, ClaudeBot, PerplexityBot or any other AI crawler observed in the test, while Googlebot did get through [6][7].
The design was blunt enough to be useful. Of 21 top-level categories, 11 used standard HTML anchors visible in the page source and 10 relied on links injected by JavaScript that were absent from the initial HTML response [4]. That puts roughly 48 percent of the top-level taxonomy behind client-side navigation [2], and if pages were spread evenly across categories, on the order of 480 URLs [3]. Traffic was not the limiting factor: 30,180 requests over 41 days averages about 736 crawler hits per day [1].
Googlebot's result is the one that gets misread. Googlebot and GoogleOther did reach the JavaScript-linked content, but their traversal was not equivalent to the HTML-linked side of the site, and coverage weakened at deeper levels of the hierarchy [7][8]. The AI-oriented bots did not find the hierarchy pages available only through JavaScript at all [9]. So "Google renders JavaScript" was never the same guarantee as "Google reaches everything," and it was never a guarantee about anyone else.
The switch is the part that closes the argument. Once all links became plain HTML, GPTBot found 250 new pages in the first 48 hours, Bingbot added 89, and Google added no new pages, consistent with its earlier ability to reach the JavaScript-linked areas [10][11][12]. GPTBot's haul was about 2.8 times Bingbot's over the same window [4]. Nothing about the content changed. Only the route did.
Stanula is careful about what this does not prove: it says nothing about whether any individual AI system will use, cite, or train on a given page [13]. What it shows is narrower and still consequential. Content can be publicly viewable in a browser and simultaneously unavailable for crawler discovery through the site's own internal architecture [14][15]. Crawlers generally start with the HTTP response and read its HTML; a link added only after a browser executes a script leaves a non-rendering bot with no route to follow [16].
The remediation is unglamorous. Use standard HTML anchors for essential category, product, documentation and editorial pathways [21]. Inspect the delivered HTML rather than the browser-rendered DOM before shipping [17]. Test crawl paths at depth, because a bot reaching a top-level page does not mean it reaches the tail [18]. Server-rendered HTML or static generation can keep the JavaScript experience while exposing anchors in the initial response [20]. None of this requires abandoning a framework; it requires a crawlable baseline underneath one.
The governance point is worth separating from the engineering one. Organisations may have legitimate reasons to restrict automated access, but accidental exclusion is not the same thing as deliberate control [22]. Sites with large estates carry the most exposure, because documentation hubs, knowledge bases, ecommerce category trees and enterprise resource centres depend on hierarchy pages to expose large numbers of URLs [23].
Watch your server logs after the next front-end release, since bot behaviour can shift with a technical change and logs are where that shows up first [19]. This is one site, one operator, one 41-day window [1][2], so the number to treat as provisional is the 250-page, 48-hour spike [10]; the pattern to treat as load-bearing is that a route absent from the raw HTML was, for these bots, no route at all [6].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
The test was conducted by SEO engineer Vinicius Stanula, who documented the setup and findings in a field experiment posted on LinkedIn.
The test site contained roughly 1,000 pages spread across 21 top-level categories.
Eleven of the 21 categories used standard HTML anchor links visible in the page source; the other 10 relied on links injected with JavaScript, which were not present in the initial HTML response.
Pages linked only through JavaScript were not discovered by GPTBot, ClaudeBot, PerplexityBot, or other AI crawlers observed in the test.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single unreplicated field experiment, reported second-hand
The empirical core is one 41-day crawl-log test on a single ~1,000-page site, with an internally coherent design (matched HTML vs JavaScript category arms plus a post-switch phase whose per-bot deltas behave as the mechanism predicts) and specific counts. But everything is relayed by one publisher from the experimenter's own LinkedIn post: no logs, site identity, robots.txt/sitemap configuration or crawl-depth data are published, there is no replication or third-party corroboration, and the sample is a single site rather than a population. That supports a directional finding, not a general rule about crawler rendering.
No adoption or usage data in the cluster
The supplied material contains no deployment, uptake, usage-disclosure, pricing or licensing facts. It does not state how prevalent JavaScript-only internal navigation is across real sites, how many organizations have changed architecture in response, or any usage figures for the scanning product mentioned. The one experiment is a measurement, not evidence of adoption, so this dimension is left unscored rather than inferred.
Headline generalizes beyond a single test site
The framing — that JavaScript navigation 'is now a discoverability decision' with a demonstrated 'cost' — asserts a general condition from one unreplicated ~1,000-page site, and the article stacks a commercial call-to-action on top of it. The overstatement is moderate rather than severe because the source hedges responsibly in several places: it limits findings to the crawlers observed in the test, states the result says nothing about whether any AI system will use, cite or train on a page, and concedes Google did reach the JavaScript-linked areas. The gap is scope inflation, not fabricated results.
Vendor call-to-action plus practitioner visibility
The article converts its finding into a pitch: it names Scalevise's AI Visibility and GEO Checker as the way to connect technical crawlability with AI discovery and closes that section with a scan call-to-action, an interest that is not disclosed as such. The underlying experiment was published on LinkedIn by an SEO engineer, a context that rewards attention-getting findings in a field where crawlability audits are billable work. None of this makes the logged counts wrong, but both the measurement and its write-up sit with parties who benefit if readers conclude their sites need auditing.
Plausible mechanism, thin verification
Confidence is moderate-low. The direction of the finding is credible: the rendering explanation is coherent, the post-switch deltas are internally consistent with it, and the source bounds its own claims. Against that, everything rests on one publisher relaying one experimenter's unpublished logs from a single site, with no replication, no adoption data, and a commercial incentive attached to the conclusion. Reasonable use is to treat the specific numbers as indicative and run an equivalent check on one's own logs.
build
ChatGPT-User outfetched Googlebot for 34 days on one small site. Read your logs.1 distinct publisher
build
Cloudflare's one-click AI block names GPTBot, not the bot that decides if ChatGPT cites you1 distinct publisher
build
48 startups, 4 known by name, 28 recommended by category1 distinct publisher
build
ChatGPT tops Google's paid-click share at 4.75%, and growth teams should reprice the auction1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 20, 2026