Buying Technology

    Server-rendered pages and AI search: what crawlers see

    If your content only appears after JavaScript runs, some crawlers never see it. How to check what a crawler receives, and the machine-readable files that help.

    GC
    GarunaCDX Editorial
    Editorial team
    Oct 26, 2026 6 min read
    Key takeaways
    • Check what a crawler receives: view the page source, or fetch it with JavaScript off.
    • Client-side rendering can hide content from crawlers that don't run scripts.
    • A sitemap, llms.txt and structured data help machines find and read your pages.
    • None of this guarantees ranking or citation. We haven't measured either on our own sites.

    Quick answer

    Search engines and AI crawlers read the HTML your server sends. If your text is in that HTML and visible without running a script, they can read it. If a script builds the page, or hides it until you scroll, some crawlers see less than you do. Check with three tests: view source, turn JavaScript off and fetch the page plainly.

    The short answer

    Your page has two versions: the one a person sees after the browser has run every script, and the one a crawler gets from the first response. If those differ, you have a visibility problem you can’t see from a normal browser.

    Google runs JavaScript, with delays and limits. Other crawlers vary, and some fetch the HTML and read only that. Don’t build a business on a crawler running your script. Put the content in the HTML and treat scripts as an enhancement.

    Why buyers ask this

    You may have heard that AI tools now answer questions your buyers used to Google, and that being cited matters. You may have a site built as a single-page app, or a template with fancy animations, and wonder whether those tools can read it. The honest answer is that it depends on how the page is built, and you can find out in ten minutes.

    Three things a crawler might see

    CaseWhat arrives in the first responseWhat a script-less crawler reads
    Client-side single-page appAn empty shell and a bundleAlmost nothing
    Server-rendered pageThe full text, in the HTMLEverything
    Server-rendered, but hidden by style until a script runsThe full text, with a style that hides itThe text is in the HTML, but a tool that renders the page may show it blank

    The third case surprises people. We found it on our own site.

    What we found on ours

    On CrawlTheory, our SEO publication, a root-cause analysis in June 2026 found that the public pages were server-rendered: the headings and articles were present in the HTML. But every content block carried a style that set it invisible, and a script revealed each block as it scrolled into view. A crawler that doesn’t run the script, or runs it but never scrolls, can end up with sections at zero opacity. Search tools that take a screenshot of the rendered page can see a blank.

    The fix direction is straightforward: show content by default, and let the animation be an enhancement. As of 26 October 2026 the rule is still in our stylesheet, and we are saying so because it is exactly the sort of problem that hides in a good-looking site.

    We have also diagnosed the more serious version, client-side rendering hiding content from AI crawlers, on a client’s blog and on our own.

    The three checks

    Do these on your own site, on a page that matters.

    1. View the page source. Not the inspector, which shows the page after scripts have run. In a browser, use “view source”. Search for a sentence from your page. If it’s there, the server sent it.
    2. Turn JavaScript off and reload. Does the page still say what you sell? Are your headings and first paragraphs visible, or does it look blank?
    3. Fetch the page plainly with a command-line request, then search the output for the same sentence. This is closest to what a basic crawler sees.

    If any of them fails, treat it as a bug in the build, not a quirk.

    What to put in the HTML

    • The text, headings and first paragraphs, in the first response.
    • Real links, with proper anchor tags a crawler can follow, not click handlers.
    • Titles, descriptions and canonical tags set on the server for each page.
    • Structured data (JSON-LD) that matches the page, generated from the same fields.
    • A sitemap built from published content, so new pages are listed without anyone remembering.
    • A short standalone answer near the top. Tools that quote pages favour text that makes sense out of context.

    llms.txt: what it is and isn’t

    An llms.txt file is a plain-text map of your site for AI tools: a title, a short summary, and a list of your best pages with one-line descriptions. We generate ours from the published content, so it can’t drift from the site, and the title and summary are editable in the admin.

    Be careful with expectations. It is a convention, not a standard that every tool honours, and we have no measured evidence that it changes whether or how often we are cited. It’s cheap to generate and harmless to publish. It is not a substitute for readable pages.

    Rendering choices, in plain words

    OptionIn practice
    Static generationPages are built ahead of time. Fast and crawler-friendly. Best for content that changes rarely
    Server renderingPages are built when requested. Good for content that changes often
    Incremental refreshStatic pages that rebuild on a schedule or when content changes. A good default for blogs
    Client-side onlyThe browser builds the page. Fine behind a login, risky for anything meant to be found

    What to ask your developer or agency

    1. Where is each page rendered: on the server, ahead of time or in the browser?
    2. If I turn JavaScript off, what do I see?
    3. Does any content start hidden and get revealed by a script?
    4. How are the sitemap, titles, canonical tags and structured data produced, and what happens when someone adds a page?
    5. How do you know, and can I check it myself?

    An answer of “it works in Google” isn’t an answer. Ask for the source and the plain fetch.

    What this doesn't prove, and when you don't need it

    This explains how pages are read. It doesn’t show that fixing rendering raises rankings or AI citations, and we’ve recorded no such result for our own sites. Behind a login, none of it matters, because crawlers can’t see those pages anyway. A small, static, hand-written site is already in good shape.

    Not sure what crawlers see on your site?
    Send us two URLs. We'll tell you what arrives in the first response and what doesn't.
    Book a free scoping call

    Next: moving a React app to Next.js without losing search traffic and will the site get found: SEO and AI search.

    The CrawlTheory findings come from our own root-cause analysis dated 17 June 2026 and a re-check of the stylesheet and sitemap route on 26 October 2026. The llms.txt description comes from our route code. The client-side-rendering diagnosis on a client’s blog and our own comes from our project notes. How other crawlers behave varies and changes, and we have not tested each one, so verify against current documentation for any crawler you care about. Proof grade 4: our own work.

    Your verdict
    Was this article useful?
    GC
    Written by
    GarunaCDX Editorial
    Editorial team

    Engineers, product and growth folks at GarunaCDX writing about the systems we build for clients.

    View all articles
    Share
    Planning something similar?

    Let's talk about your build.

    Tell us what you are building. A founding engineer replies within one working day with how we would approach it.

    FAQ

    Frequently asked questions

    The browser receives a nearly empty page and builds the content with JavaScript. Crawlers that don't run the script may see little or nothing.

    A plain-text file at the root of a site that lists your key pages in a form machines can read. We publish one on our sites. It is a convention, not a guarantee of citation.

    It removes a common barrier, but we can't promise citations and haven't measured them on our own sites.

    It varies by crawler and changes over time. Some fetch the HTML and read only that. Check each crawler's current documentation, and build so the content is in the first response regardless.

    It's cheap to generate and harmless, but it is a convention, not a guarantee. We have no measured evidence that it changes citations. Readable, server-rendered pages matter more.

    The GarunaCDX build log

    Industry insights, once a month

    New case studies, healthcare, marketplace, B2B SaaS and industrial breakdowns, and the engineering notes behind what we ship. One short email a month, no fluff.

    We never share your data — see our Privacy Policy for details.