Documentation
Choose the installation method that fits your setup.
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/functions3. 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
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/functions3. 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
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.