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 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 '@siere.ai/edge-vercel';

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/health

Then 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 HTML
B

Manual Install (npm)

Install Siere directly via npm. Use this if you don't deploy on Vercel or prefer manual setup.

1. Get your API key

Sign up at siere.ai and create a site in your 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 '@siere.ai/edge-vercel';

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'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 '@siere.ai/edge-vercel';

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 HTML
C

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 '@siere.ai/edge-vercel';

const siere = createSiereMiddleware({
  canonicalOrigin: 'https://your-site.com',
  llmsTxt: {
    fallback: true,
    // Optional: hand-curated entries take priority over sitemap discovery
    entries: [
      { category: 'Pages', title: 'Home', url: '/', description: 'Site overview' },
    ],
    // Optional: enrich sitemap entries with each page'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 if you want a worked example for your stack.

Need help? Contact support or visit your dashboard for site management and analytics.