Akamai (BYOCDN)
This configuration routes agentic traffic (requests from AI bots and LLM user agents) to the Edge Optimize backend service (live.edgeoptimize.net). Human visitors and SEO bots continue to be served from your origin as usual. To test the configuration, after the setup is complete, look for the header x-edgeoptimize-request-id in the response.
Prerequisites
Before you set up the Akamai Property Manager rules, ensure you have:
- Access to Akamai Property Manager for your domain.
- An Edge Optimize API key retrieved from the LLM Optimizer UI. For steps, see Retrieve your API keys.
- (Optional) To test staging routing, see Staging API key.
Configuration
The following Akamai Property Manager rule routes agentic HTML page traffic to Edge Optimize. The configuration includes the following steps:
1. Set routing criteria (User-Agent and HTML traffic matching)
Set routing for the following user agents:
*AdobeEdgeOptimize-AI*
*ChatGPT-User*
*GPTBot*
*OAI-SearchBot*
*PerplexityBot*
*Perplexity-User*
*ClaudeBot*
*Claude-User*
*Claude-SearchBot*
html and EMPTY_STRING for extensionless page URLs. If your site serves HTML from other URL patterns, or includes extensionless non-page routes such as API endpoints, refine the rule with additional path-based criteria.
2. Set Origin and SSL behavior
Set origin as live.edgeoptimize.net and Match SAN to *.edgeoptimize.net
3. Set Cache Key Variable
Set the cache key variable PMUSER_EDGE_OPTIMIZE_CACHE_KEY to LLMCLIENT=TRUE;X_FORWARDED_HOST={{builtin.AK_HOST}}
4. Caching Rules
5. Modify Incoming Request Headers
Set the following incoming request headers:x-edgeoptimize-api-key to the API Key retrieved from LLMOx-edgeoptimize-config to LLMCLIENT=TRUE;x-edgeoptimize-url to {{builtin.AK_URL}}
Allow Optimize at Edge through firewall rules (optional)
If your CDN uses a WAF or Bot Manager:
-
Allowlist the
*AdobeEdgeOptimize/1.0*user agent in your WAF or Bot Manager so the Optimize at Edge service can fetch your origin content. -
If your firewall requires additional verification beyond user agent, generate a secret (for example,
openssl rand -hex 32) and:- Add
x-edgeoptimize-fetcher-keywith the secret in your routing rules alongside the otherx-edgeoptimize-*headers. - Add a WAF or Bot Manager rule to allow requests where
x-edgeoptimize-fetcher-keymatches the same secret.
- Add
-
Optimize at Edge forwards this header as-is — you own the full key lifecycle.
*AdobeEdgeOptimize/1.0* user agent and the x-edgeoptimize-fetcher-key header in Akamai Bot Manager.6. Modify Incoming Response Headers
7. Cache ID Modification
8. Modify Outgoing Request Headers
Set x-forwarded-host header to {{builtin.AK_HOST}}
9. Site Failover
The Site Failover configuration has two parts: a failover behavior inside the main Optimize at Edge routing rule and a sibling rule that adds a response header when fallback occurs.
9a. Configure the Site Failover behavior
Inside the main Optimize at Edge routing rule, create a child rule named Site Failover Behavior. Set it to Match Any and add these criteria:
- Response Status Code is in the range
400through599. - Origin Timeout is
Yes.
9b. Configure the failover response header rule
| code language-none |
|---|
|
Site Failover ensures that if Edge Optimize returns an error or times out, Akamai recreates the request for your original hostname so the visitor still receives the site’s normal response.
2XX or 3XXx-edgeoptimize-request-id is present.4XX–5XX, or the origin times outx-edgeoptimize-fo: true.Verify the setup
After completing the setup, verify that bot traffic is being routed to Edge Optimize and that human traffic remains unaffected.
1. Test bot traffic (should be optimized)
Simulate an AI bot request using an agentic user-agent:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: chatgpt-user"
A successful response includes the x-edgeoptimize-request-id header, confirming that the request was routed through Edge Optimize:
< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85
2. Test human traffic (should NOT be affected)
Simulate a regular human browser request:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
The response should not contain the x-edgeoptimize-request-id header. The page content and response time should remain identical to before enabling Optimize at Edge.
3. How to differentiate between the two scenarios
x-edgeoptimize-request-idx-edgeoptimize-fotrue)The status of the traffic routing can also be checked in the LLM Optimizer UI. Navigate to Customer configuration and select the CDN configuration tab.
To learn more about Optimize at Edge, including available opportunities, auto-optimization workflows, and FAQs, return to the Optimize at Edge overview.