About agentsite

# A render service for the agent web.

AgentSite is a server-side rendering service for the agent web. AEO is the new SEO — most of your traffic is now Claude, ChatGPT, and Perplexity, and they can't read your JavaScript. Server-Side Rendering is the install pattern that makes your SPA citable: AgentSite renders the HTML once per route, then ships the same bytes to humans and bots. SPAs were a great answer in 2014; the web of 2026 has different readers.

An answer engine is an LLM-powered assistant that synthesizes a response from web sources rather than handing back a ranked list of links. AgentSite renders your registered SPA at request time and hands the rendered markup back to your edge, so the answer engine sees the same content a human would — without changing your stack. Pick an [install pattern](/features), walk the [getting-started flow](/getting-started), compare against the [live render demo](/demo), then check [pricing](/pricing) or browse the [FAQ](/faq).

## Who's behind this

Hi, I'm **Dathan Guiley**. I've been shipping production software for the better part of two decades — backend, infra, founding teams, the long tail of SaaS. I run [Wilde Agency](https://wilde.agency) and the [Founding Studio](https://founding.studio); agentsite is one of the products we build and operate end-to-end.

agentsite started because every SaaS I worked on this year had the same hole: their landing page looked great to humans and like an empty `<div>` to the agents recommending tools. I got tired of writing the same Express middleware four times. So I wrote it once, made it portable across Nginx / Express / Express-Sidecar / Edge / a streaming-SSR SDK, gave it a render farm and a Markdown layer so LLMs can read it directly, and put it behind a snippet.

Team of one today — and that's on purpose for the first chapter. If you're a CTO sizing up bus-factor: the snippet is yours, lives in your deploy, and fails open. Find me on [LinkedIn](https://www.linkedin.com/in/dathan-guiley/), email [[email protected]](mailto:[email protected]), or grab [15 minutes on the calendar](https://calendly.com/dathan-guiley/agentsite-intro).

## What we do

agentsite renders your registered site in headless Chromium, extracts the text as markdown plus the meta tags an agent expects, and gives that bundle back to your edge. The snippet — running in your nginx config, Express middleware, reverse-proxy sidecar, edge function, or streaming-SSR SDK — splices the bundle into your existing HTML. Title, description, og:image into `<head>`; the markdown body inside a preboot `<div>` just before `</body>`, hidden via inline CSS the moment JS boots. Everyone — agent or human — gets the same bytes. No User-Agent switching. No second deployment.

## Design constraints we hold

-   **Not a new mailbox / mirror site.** agentsite is never the public destination. We render _your_ domain. Your URL stays canonical.
-   **No UA switching.** The injected content is delivered to every visitor — accessibility-positive (sr-only is a legitimate a11y pattern), no cloaking risk under Google's spam policies.
-   **Information formatting matters; visual layout doesn't.** We extract structure: headings, lists, tables, link anchor text, meta. We discard fonts, colours, and decorative chrome. If the markdown looks ugly but conveys the page's information cleanly, it's correct.
-   **Stateless-ish by default.** Source content never touches disk except as a cached render bundle keyed by `(site, path)`. Tokens are SHA-256 hashed, not stored in plaintext.
-   **Fail-open.** If the agentsite API hiccups, the snippet serves your original HTML unchanged. Your site is never blocked on us.

## Architecture, in one screen

```
your visitor / GPTBot                               agentsite
        │                                            │
        ▼                                            │
   ┌────────────┐                               ┌─────────────┐
   │ your edge  │ GET /any/path                 │ snippet     │
   │ (Express,  │ ─────────────────────────►   │ (in your    │
   │  Sidecar,  │                               │  codebase   │
   │  Nginx —   │ ◄── splices head + preboot   │  — or pure  │
   │  Edge +    │     div with markdown body    │  nginx)     │
   │  SSR SDK   │                               │             │
   │  pre-rel)  │                               │             │
   └────────────┘                               └──────┬──────┘
                                                       │ GET /render?url=
                                                       │ Authorization: Bearer
                                                       ▼
                                              ┌────────────────┐
                                              │ agentsite API  │
                                              │  ┌──────────┐  │
                                              │  │ cache    │  │  Postgres
                                              │  │ (site,   │──┼─→ render_bundle
                                              │  │  path)   │  │  TTL 24h
                                              │  └────┬─────┘  │
                                              │  miss│         │
                                              │       ▼         │
                                              │   ┌────────┐    │
                                              │   │ headless│   │
                                              │   │ chromium│   │
                                              │   └────────┘    │
                                              └────────────────┘
```

## The lobster

The mascot is a lobster in tiny sunglasses. It's a working metaphor: _secret agent, deep waters_. agentsite operates underneath your existing site, doesn't change the public surface, and the only thing a customer's visitors see is the page they were going to see anyway. The agent reading at the next table notices something extra was left for them in the head.

## Where we're headed

-   **Sitemap pre-warming** so cold-hit placeholders are rare.
-   **Per-site override rules** for sites where the default extraction misses something specific.
-   **Agent search proxy** — when agents become primary traffic, queries are the new clicks. We're already the layer between.

[Pick your install pattern →](/getting-started)

Cookies

We use cookies to make this site work and to understand how it's used. [Learn more](https://www.cookiesandyou.com/)

Decline Got it