Home / Resources / Find / JavaScript-only evidence: compare initial and rendered HTML
AI Search Intelligence

JavaScript-only evidence: compare initial and rendered HTML

The short answer

SYNTHETIC EXAMPLE — Asterfall Systems, OrbitDesk, every .example URL, capture, selector, change, prompt, context, and answer mark below are fictional; this is not RankEcho data, customer data, provider evidence, or a benchmark. A JavaScript-only finding here means one predeclared material selector is absent from an eligible initial HTTP response and present in the paired browser-rendered DOM. It is a delivery observation for one URL, not evidence that any provider could or could not render, index, cite, recommend, or rank the page. Site traffic is a separate outcome and is not required.

What does JavaScript-only evidence mean here?

Freeze one canonical public URL, a capture window, and exact selectors before comparing anything. A row is JavaScript-only only when both collections are eligible, the initial selector is absent, and the rendered selector is present.

Do not infer provider retrieval from either capture. Google documents its own rendering process, while other systems can behave differently. A present initial value is compatibility evidence, not an eligibility or outcome guarantee.

Which capture states must remain separate?

Record requested and final URL, status, canonical, robots directive, challenge state, channel, and time. A redirect, challenge, unavailable attempt, or failed browser run is a competing state, not proof that a selector is absent.

In this synthetic example, H01 and H02 form the eligible comparison. H03 remains unavailable and H04 remains failed; neither contributes a negative selector result.

AttemptChannelStateHTTPFinal URLCanonical / robotsInterpretation
H01initial-httpobserved200https://asterfall.example/products/orbitdeskhttps://asterfall.example/products/orbitdesk; index,followThe direct response returned the declared canonical page without a redirect or challenge.
H02browser-renderedobserved200https://asterfall.example/products/orbitdeskhttps://asterfall.example/products/orbitdesk; index,followThe browser completed the declared rendering wait and preserved the same URL, canonical, and robots directive.
H03initial-httpunavailablenot observednot observednot observedA repeat request did not return an eligible response; it remains unavailable rather than a mismatch.
H04browser-renderedfailednot observednot observednot observedThe repeat browser collection failed before a DOM snapshot; it remains failed rather than absent.

Worked synthetic selector ledger

The eight rows compare exact selector values. Four are present in both captures, three material rows appear only after JavaScript, and one locally predeclared optional row is missing from both.

E08 is a separate content question. Missing from both captures does not make it a rendering defect, and the Find result does not invent the absent claim.

IDLayer and selectorInitial HTMLRendered DOMClassMaterialFinding
E01metadata: titleOrbitDesk evidence workspaceOrbitDesk evidence workspacepresent-bothyesThe title is byte-equivalent in both eligible captures.
E02visible-copy: main h1OrbitDeskOrbitDeskpresent-bothyesThe primary heading is available before and after JavaScript.
E03visible-copy: main #short-answerabsentOrbitDesk maps cited claims to saved source snapshots.javascript-onlyyesThe registered short answer appears only after the client effect completes.
E04visible-copy: main [data-evidence-list]absentThree fictional source records with dates and limitationsjavascript-onlyyesThe registered evidence list is absent from the initial response and present in the rendered DOM.
E05json-ld: script[type='application/ld+json'] ProductabsentProduct: OrbitDesk; url: https://asterfall.example/products/orbitdeskjavascript-onlyyesThe matching fictional Product node is injected only after the client effect completes.
E06link: link[rel='canonical']https://asterfall.example/products/orbitdeskhttps://asterfall.example/products/orbitdeskpresent-bothyesThe self-canonical is stable across both eligible captures.
E07metadata: meta[name='robots']index,followindex,followpresent-bothyesThe declared robots directive is stable across both eligible captures.
E08visible-copy: main #enterprise-slaabsentabsentmissing-bothnoThe locally predeclared optional selector is missing from both snapshots and is not a JavaScript-only finding.

Which rows hand off to Fix?

Only E03, E04, and E05 are both material and JavaScript-only. They describe one OrbitDesk evidence panel: its visible short answer, visible evidence list, and matching fictional Product node.

The handoff preserves the browser-rendered values as the intended public meaning. Fix changes their delivery boundary; it does not rewrite their claims or make an answer-system promise.

What deterministic validation completes Find?

The checks below reconcile URL identity, collection eligibility, selector arithmetic, and the exact actionable set before a repair is considered.

CheckRequired resultState
Capture identityEligible initial and rendered captures use one exact requested and final URLpass
HTTP boundaryEligible captures return 200 without a redirect or challengepass
Canonical and robotsSelf-canonical and index directive match in both eligible capturespass
Selector arithmetic4 present-both + 3 JavaScript-only + 1 missing-both = 8pass
Actionable scopeOnly material JavaScript-only rows E03, E04, and E05 continuepass
Missing collectionsUnavailable and failed repeats remain unknown rather than absentpass

How does this connect to RankEcho?

RankEcho's page-level audit and Agent Readiness check can provide bounded public-page signals. Neither currently supplies this companion ledger's exact paired selector classifications or establishes what an answer provider rendered.

Use the audit workflow to organize the evidence, then keep the raw response, rendered snapshot, exclusions, and uncertainty alongside the three selected rows.

Sources reviewed

Provider eligibility and measurement claims below were checked against primary documentation. These records do not establish a universal selection formula, causation, or a guaranteed ranking, impression, recommendation, or citation.

3 claim-level source records
Checked 2026-09-07 · Primary-source diagnostic review · Confidence is recorded per claim.
Claim reviewedOfficial sourceReview record
Google documents separate crawling, rendering, and indexing phases, and explains that an app shell can omit material content from the initial HTML until JavaScript executes.Google Search: JavaScript SEO basicsChecked 2026-09-07 · Current Google Search JavaScript documentation · This supports comparing an HTTP response with Google's rendered view. It does not establish how another provider fetches or renders a page, or guarantee indexing, citation, ranking, or traffic. · Confidence: High
Google recommends inspecting loaded resources, JavaScript errors, and rendered HTML with its testing tools when diagnosing JavaScript-powered pages.Google Search: fix JavaScript problemsChecked 2026-09-07 · Current Google Search JavaScript troubleshooting documentation · The diagnostic steps describe Google Search tooling and potential rendering problems. They do not identify an AI answer provider's behavior or prove why a page was omitted, cited, or ranked. · Confidence: High
Google says ordinary Search eligibility applies to AI Overviews and AI Mode, important content should be available in textual form, and displayed responses and links can vary.Google Search: AI features and your websiteChecked 2026-09-07 · Current Google Search AI-features documentation · This is Google-specific eligibility guidance. It does not make initial HTML a universal provider requirement or guarantee crawling, indexing, selection, citation, recommendation, ranking, or traffic. · Confidence: High

Frequently asked questions

Does JavaScript-only mean AI systems cannot see the content?

No. It means only that a predeclared selector was absent from this eligible initial response and present in this paired rendered DOM. Provider retrieval and rendering are not observed.

Is a failed browser capture a missing selector?

No. A failed or unavailable collection retains an unknown value and does not enter the present-or-absent selector partition.

Is content missing from both captures a rendering defect?

Not under this rule. It is a separate content question and does not enter the JavaScript-only repair set.

What does initial-HTML presence establish?

It establishes only a delivery property for the captured response, not a guarantee of crawling, indexing, ranking, citation, recommendation, or traffic.

What moves to Fix?

Only material rows that are absent in an eligible initial response and present in the paired eligible rendered DOM move forward.

Open the audit workflow →
Last updated 2026-09-07 · RankEcho · Operated by Nexus Decision Systems LLC