---
url: /docs
title: "Documentation — Siere"
description: "Get started with Siere — choose your installation method and configure AI agent optimization."
type: website
language: en
site_name: Siere
aeo_generated: 2026-05-26T06:00:24.924Z
---

# Documentation

Choose the installation method that fits your setup.
A
## Install via Vercel Marketplace

The fastest way to get started if your site is deployed on Vercel. Environment variables are configured automatically.

### 1. Add Siere to your Vercel project

Find Siere on the [Vercel Marketplace](https://vercel.com/integrations/siere) and click **Add Integration**. Select the project you want to connect.

This automatically sets `SIERE_API_KEY` and `SIERE_SITE_ID` on your Vercel project — no manual configuration needed.

### 2. Install the edge package
`npm install @siere.ai/edge-vercel @vercel/functions`
### 3. Add the middleware

Create or update your middleware file. AI agent requests get optimized content; human traffic passes through unchanged.

// middleware.ts
import { createSiereMiddleware } from &#x27;@siere.ai/edge-vercel&#x27;;

const siere = createSiereMiddleware();

export default async function middleware(request: Request) {
  const response = await siere(request);
  if (response) return response;
  // ... your existing middleware logic
}No config needed — the middleware reads `SIERE_API_KEY` from your environment automatically.

### 4. Deploy and verify

Push your changes and check the health endpoint:

curl https://your-site.vercel.app/__aeo/healthThen test with an AI agent user-agent:

curl -H "User-Agent: GPTBot/1.0" https://your-site.vercel.app/
# Should return structured markdown instead of HTMLB
## Manual Install (npm)
Install Siere directly via npm. Use this if you don&#x27;t deploy on Vercel or prefer manual setup.

### 1. Get your API key

Sign up at [siere.ai](https://siere.ai) and create a site in your [dashboard](/dashboard). Copy your API key from the setup page.

### 2. Install the package
`npm install @siere.ai/edge-vercel @vercel/functions`
### 3. Set environment variables

# .env.local
SIERE_API_KEY=your_api_key_here
### 4. Add the middleware

```
// middleware.ts
import { createSiereMiddleware } from &#x27;@siere.ai/edge-vercel&#x27;;

const siere = createSiereMiddleware();

export default async function middleware(request: Request) {
  const response = await siere(request);
  if (response) return response;
  // ... your existing middleware logic
}
```

### Alternative: Proxy Mode
If you want Siere to run as a standalone edge function in front of your site (instead of as middleware), use proxy mode. Set `SIERE_ORIGIN_URL` to your site&#x27;s URL.

// .env.local
SIERE_API_KEY=your_api_key_here
SIERE_ORIGIN_URL=https://your-site.com
```
// api/siere/route.ts
import { createSiereEdge } from &#x27;@siere.ai/edge-vercel&#x27;;

export const GET = createSiereEdge();
export const POST = createSiereEdge();
```

### 5. Deploy and verify

```
curl https://your-site.vercel.app/__aeo/health
```
Test with an AI agent:

curl -H "User-Agent: GPTBot/1.0" https://your-site.vercel.app/
# Should return structured markdown instead of HTMLC
## Enable agent surfaces (recommended)
By default the middleware only intercepts known-agent user-agents on paths you have authored Zeus content for. Pass `canonicalOrigin` and turn on the `llmsTxt` fallback so agents that crawl `/llms.txt` and `/llms-full.txt` discover and read your site without any per-page authoring.

### 1. Pass config to the middleware

Replace the bare `createSiereMiddleware()` call with a config object. The middleware reads your `sitemap.xml` once per cache window and produces a markdown index agents can consume.

// middleware.ts
import { createSiereMiddleware } from &#x27;@siere.ai/edge-vercel&#x27;;

const siere = createSiereMiddleware({
  canonicalOrigin: &#x27;https://your-site.com&#x27;,
  llmsTxt: {
    fallback: true,
    // Optional: hand-curated entries take priority over sitemap discovery
    entries: [
      { category: &#x27;Pages&#x27;, title: &#x27;Home&#x27;, url: &#x27;/&#x27;, description: &#x27;Site overview&#x27; },
    ],
    // Optional: enrich sitemap entries with each page&#x27;s <title>+<meta description>
    // enrichFromHtml: true,
  },
  acceptHeader: { enabled: true },
});`canonicalOrigin` is required for the fallback to locate your sitemap. The default sitemap path is `<canonicalOrigin>/sitemap.xml` — override with `llmsTxt.sitemapUrl` if yours lives elsewhere.

### 2. Verify the agent surfaces

# A markdown index built from your sitemap
curl https://your-site.com/llms.txt

# Same index plus extracted body text per page (token-capped)
curl https://your-site.com/llms-full.txt

# Health endpoint — confirm llmsTxtMode: "fallback"
curl https://your-site.com/__aeo/health
### 3. Optional: JSON-LD and well-known files
Siere also ships pure helpers for JSON-LD structured data (Organization, WebSite, SoftwareApplication, FAQPage, BreadcrumbList) and the well-known files `/.well-known/security.txt`, `/ai.txt`, and `/humans.txt`. These are framework-specific (you decide where to render the scripts and which routes to expose). [Talk to us](/contact) if you want a worked example for your stack.

Need help? [Contact support](/support) or visit your [dashboard](/dashboard) for site management and analytics.

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://www.siere.ai/#organization",
  "name": "Siere",
  "url": "https://www.siere.ai/",
  "logo": "https://www.siere.ai/social-square.png",
  "sameAs": [],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "email": "contact@siere.ai",
    "url": "https://www.siere.ai/contact"
  }
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://www.siere.ai/#website",
  "name": "Siere",
  "url": "https://www.siere.ai/",
  "description": "Your website is invisible to AI agents. Siere fixes that. We make your site readable, structured, and optimized for the next generation of AI-powered search.",
  "publisher": {
    "@type": "Organization",
    "name": "Siere",
    "@id": "https://www.siere.ai/#organization"
  }
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "@id": "https://www.siere.ai/#software",
  "name": "Agent Experience Optimization",
  "url": "https://www.siere.ai/",
  "description": "Your website is invisible to AI agents. Siere fixes that. We make your site readable, structured, and optimized for the next generation of AI-powered search.",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web",
  "offers": [
    {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "USD",
      "name": "Starter"
    },
    {
      "@type": "Offer",
      "price": "99",
      "priceCurrency": "USD",
      "name": "Pro"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "@id": "https://www.siere.ai/#faq",
  "url": "https://www.siere.ai/",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is Agent Experience Optimization?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "AEO makes your website readable, structured, and reliably citable by AI agents like ChatGPT, Claude, Perplexity, and Gemini. Most modern websites are JavaScript-rendered and look like blank pages to AI crawlers — Siere fixes that without changing your visitor experience."
      }
    },
    {
      "@type": "Question",
      "name": "How does Siere work?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Siere sits between your server and incoming requests. When an AI agent visits, Siere serves an optimized markdown version of your content. When a human visits, your normal page is served unchanged."
      }
    },
    {
      "@type": "Question",
      "name": "Do I need to change my site?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Siere installs as middleware. There are no content changes or rewrites required."
      }
    }
  ]
}
```

