Edge AI Delivery
Inject enriched structured data (Organization JSON-LD + AI meta tags) for AI crawlers at your CDN edge, managed entirely from AEO Optima — deploy a snippet once, change rules anytime.
Overview
Edge AI Delivery serves enriched structured data to AI crawlers (GPTBot, ClaudeBot, PerplexityBot, and others) the moment they fetch your pages — without changing what human visitors see.
AI crawlers read your raw HTML and, unlike browsers, do not run client-side JavaScript. So a normal analytics-style <script> tag in your <head> would be invisible to them — the bot has already taken the static HTML and left. Edge Delivery solves this by injecting the enrichment server-side at your CDN edge, before the bot receives the response.
It works like a tag manager: you deploy one small snippet to your edge once, and from then on every rule and enrichment change you make in AEO Optima propagates to your live site automatically — no re-deploy.
Plan gate: Edge AI Delivery is part of the advanced AI insights feature set.
How it works
- In Edge Delivery you choose which AI bots to enrich and which structured data to inject (Organization JSON-LD from your Brand Facts, plus AI-oriented meta tags).
- The platform generates a non-secret edge token and a ready-to-paste edge snippet (Cloudflare Worker, a generic edge-function/proxy variant, or a static fallback).
- You paste the snippet once into your CDN/edge layer.
- On every request, the snippet checks the visitor's user-agent. For a configured AI bot, it fetches your latest config from AEO Optima (CDN-cached, ~5-minute freshness) and injects the structured data into the HTML response. Human visitors get the page untouched.
- Because the snippet pulls config live, changing your rules in the dashboard updates your live site within minutes — you never re-paste.
The snippet fetches data (your config) from us at runtime; it never imports remote code. We never proxy, host, or sit in front of your site — the snippet runs on your own CDN.
What gets injected
- Organization JSON-LD — built from your project's Brand Facts (company name, URL, description, logo, contact email). This is the same Organization schema the Schema Builder produces, so the two never drift.
- WebPage JSON-LD — a per-URL node added by the snippet for the page being requested.
- AI meta tags —
robotsandai-content-typehints. - FAQPage JSON-LD — your saved, grounded FAQs from the FAQ Generator, only when Inject FAQ Schema is on (it is on by default). We never inject placeholder answers; with no saved FAQs, nothing is injected.
Saved FAQs are public. They are published to AI crawlers through Edge Delivery (the edge snippets and the static-site build kits), questions and answers as written. The questions come from your tracked questions; to keep them off your site, turn off Inject FAQ Schema on the Edge Delivery page. To change or remove one FAQ, use Published FAQs on the FAQ Generator.
Setup
- Open Edge Delivery from the sidebar.
- Choose which bots to enrich and which structured data to inject.
- Click Save Config — this generates your edge token.
- Enable Edge Delivery with the master toggle.
- Copy the snippet for your platform and deploy it to your CDN.
- Use Test Bot Detection to preview exactly what the snippet will inject for a given user-agent before (and after) deploying.
Static sites: the build kits (beta)
A site built by a static-site generator (Astro, Hugo, Eleventy, a Next.js static export) can publish the files at build time instead of at the edge. In Edge Delivery, open Static site build on the snippet card and download the kit for your generator. Each kit reads your project's config URL when the site builds, then:
- writes llms.txt at the site root: your brand, your approved Brand Facts and your key pages. A key page is labelled by its own title (from a page analysis) or by its address, never by the questions you track;
- writes your IndexNow key file (
<key>.txt) at the site root, when your project has an IndexNow key; - adds your Organization and FAQ JSON-LD to the
<head>of every page. A static file cannot tell a crawler from a person, so every visitor's copy of the page carries it.
There are three kits, served with a SHA256SUMS you can check them against:
aeo-optima-build.mjsfor any generator (Node 18 or later), run after the build on the folder it writes;aeo-optima-astro.mjs, an Astro integration that uses the first file;aeo-optima.html, a Hugo partial (Hugo 0.141 or later).
What is published is what the build saw: rebuild after you change Brand Facts, FAQs or key pages. With Edge Delivery switched off, the next build writes nothing. If the config cannot be read, the build carries on and the kit says so. The kits publish files; they do not count crawler visits, which come from where the site is hosted (see AI crawler access).
Readiness check (2026-06-12)
Before (and after) deploying the snippet, run the Edge Readiness Check on a key page. It measures how your origin behaves for an AI crawler right now:
- Server response — fetched under our own reader's name; HTTP status and response time (aim under ~1.5s — slow origins get crawled less). A CDN rule keyed on a crawler's name may answer that crawler differently from us
- Content visible without JavaScript — AI crawlers execute no JS; a JS-dependent page is exactly what edge serving fixes
- Schema reachable in the served HTML — whether JSON-LD exists in the raw response (Edge Delivery can inject it for bots when it doesn't)
- AI crawler access — robots.txt / ai.txt permissions; a blocked engine never reaches the edge layer at all
- Indexability — flags noindex directives
Each check returns pass / warn / fail with the measured evidence, plus a 0-100 readiness score and verdict.
Verifying it works
- Use the in-page Test Bot Detection panel to see the JSON-LD, meta tags, and headers your snippet will inject for a sample bot user-agent.
- After deploying, fetch your own page with a bot user-agent (e.g.
curl -A "GPTBot" https://yoursite.com/) and confirm the injected<script type="application/ld+json">appears. - The AI crawler access page shows which AI crawlers are actually reaching your site.
Best practices
- Keep Brand Facts complete and accurate. The Organization schema is only as good as the facts behind it.
- Don't serve contradictory facts. Edge enrichment should add structure, not rewrite claims — conflicting facts hurt your entity clarity.
- Re-submit changed URLs via IndexNow so AI crawlers re-fetch and pick up the new enrichment sooner.
- Cloudflare is the simplest path — the Worker sits in front of your site and rewrites the response with no extra configuration. The generic snippet suits other edge platforms but needs your origin host set.
- The same Cloudflare Worker also counts AI-crawler requests once it has a site key and a queue (see AI crawler access, "The live crawler feed"). Cloudflare runs one Worker per route, so enrichment and counting are one Worker; without a key it only enriches, exactly as before.
Related docs
- AI crawler access — see which AI crawlers are hitting your site
- Schema Builder — the structured-data source the edge enrichment mirrors
- IndexNow — prompt AI crawlers to re-fetch enriched pages