js-only-lab.vaksel.com
Reachable, but the page is nearly empty without JavaScript
Most AI crawlers don’t run JavaScript, so they see very little text.
How we grade
Each layer is graded on its own; there’s no overall score. Only checks marked “Official docs” or “Common practice” count; hypotheses and notes don’t. Blocking training crawlers costs nothing: that’s your call.
- Can they get in: S, every AI search crawler got in; A, all get in but some hit a challenge or a thinner page, or the live test didn’t finish and only robots.txt was checked; B, some AI search crawlers are blocked; C, all are blocked, a silent block was found, or the homepage is noindex. A robots.txt that returns 5xx or can’t be reached counts as “disallow everything” under RFC 9309.
- Can they read it: S, nothing to improve; A, one item; B, two or three, or a non-critical problem; C, indexing or snippets are blocked, the text needs JavaScript, or four or more items need work.
- Can they cite it: five signals (structured data, organization, site name, share card, semantic tags). S all five, A four, B two or three, C one or none; a JSON-LD parse error, or FAQ markup whose questions aren’t on the page, caps it at B.
Rules version 2026-11-02.1 · Full grading method
Crawler by crawler Open Details for the evidence
| Crawler | robots.txt | Result | ||
|---|---|---|---|---|
| AI search & user-triggered | ||||
OpenAI | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the OAI-SearchBot user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
OpenAI | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the ChatGPT-User user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
Perplexity | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the PerplexityBot user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
Perplexity | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the Perplexity-User user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
Anthropic | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the Claude-SearchBot user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
Anthropic | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the Claude-User user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
ByteDance | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the Bytespider user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
Huawei | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the PetalBot user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
| AI training | ||||
OpenAI | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the GPTBot user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
Anthropic | Allowed | Reachable | ||
What we observedGET https://js-only-lab.vaksel.com/ with the ClaudeBot user agent got the same page a browser gets. robots.txt: Allowed. What it suggestsNo sign of a block for this crawler. | ||||
How to fix
Only 45 characters of text exist without JavaScript. Render key content on the server (SSR or static generation) so crawlers that don’t run JavaScript can read it.
Can they read it 7 pass · 1 to improve · 1 problems
Whether search engines and AI can parse and index your homepage
- ProblemText without JavaScriptOfficial docs ↗
0 characters are readable without JavaScript. This is a client-rendered shell; most AI crawlers don’t run JavaScript and see nothing. Use SSR or static generation.
- ImproveInternal linksOfficial docs ↗
0 internal links on the homepage. Too few for crawlers to discover your other pages.
- PassPage titleOfficial docs ↗
“VAKSEL Lab: js-only · AI visibility test site”.
- PassMeta descriptionOfficial docs ↗
“A single-variable test site from the VAKSEL lab (js-only). Each lab site changes one thing…”.
- PassIndexing and snippets allowedOfficial docs ↗
No noindex or nosnippet.
- PassCanonical URLOfficial docs ↗
Points to https://js-only-lab.vaksel.com/.
- PassH1 headingCommon practice
“VAKSEL Lab: js-only”.
- PassSitemapOfficial docs ↗
Declared in robots.txt: https://js-only-lab.vaksel.com/sitemap.xml.
- PassMobile viewportOfficial docs ↗
Viewport is set.
- NoteImage alt textOfficial docs ↗
No images in the homepage HTML.
Can they cite it 5 pass · 0 to improve · 0 problems
Signals that help AI recognize and quote you
- PassStructured dataOfficial docs ↗
1 block: Organization, WebSite.
- PassOrganizationOfficial docs ↗
“VAKSEL Lab: js-only”, with logo.
- PassSite nameOfficial docs ↗
“VAKSEL Lab: js-only”.
- PassSemantic tagsCommon practice
Uses <main> or <article>, so the main content is easy to find.
- PassShare cardCommon practice
Has og:title and og:image.
- NotePublished and updated datesOfficial docs ↗
No date signals. Homepages rarely need them; articles do.
- NoteAuthorCommon practice
No author on the homepage. Name authors on articles.
- NoteQuestion-and-answer sectionsHypothesis
No question-style headings. FAQs work well as a question heading followed by a direct answer.
- Notellms.txtHypothesis
None. Google says it isn’t needed; other AI providers haven’t said whether they read it. Optional.
Google says there are no extra requirements for AI Overviews and no special AI files or markup are needed: the page must be indexed and eligible for a snippet. So we list facts you can verify, and anything marked “Hypothesis” is only a suggestion.
How we test, and what it can’t tell you
We request your homepage from a data-center IP as a normal browser, with a Googlebot user agent, as an unknown bot, and with each AI crawler’s user agent. We don’t come from the crawlers’ own networks, so a site that verifies crawler IP addresses may treat the real crawler differently. The control groups separate a rule aimed at AI crawlers (high confidence) from a general bot rule (medium) or an IP-verification rule (low). To be certain, check your CDN or WAF logs for requests from the crawler’s published IP ranges. Methodology
Page checks
- Page titlePresent
- noindexNo
- nosnippetNo
- Content without JSThin
- robots.txtFound
- llms.txt (optional)None