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 setting up the Akamai Property Manager rules, ensure you have:
- Access to Akamai Property Manager for your domain.
- Completed the LLM Optimizer onboarding process.
- Completed CDN log forwarding to LLM Optimizer.
- An Edge Optimize API key retrieved from the LLM Optimizer UI.
Steps to retrieve your API key:
-
Navigate to Customer Configuration and select the CDN Configuration tab.
-
Under AI Traffic Routing to Deploy Optimizations, tick the Deploy Optimizations to AI Agents checkbox.
-
Copy the API key and proceed with the routing configuration steps below.
note note NOTE At this stage, the status may show a red cross indicating that the setup is not yet completed. This is expected — once you complete the routing configuration below and AI bot traffic starts flowing, the status will update to a green checkmark confirming that routing is successfully enabled.
Additionally, if you require any help with the above steps, reach out to your Adobe account team or llmo-at-edge@adobe.com.
Configuration
The following Akamai Property Manager rule routes LLM user agents to Edge Optimize. The configuration includes the following steps:
1. Set routing criteria (User-Agent matching)
Set routing for the following user-agents:image.png
*AdobeEdgeOptimize-AI*,
*ChatGPT-User*,
*GPTBot*,
*OAI-SearchBot*,
*PerplexityBot*,
*Perplexity-User*
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}}
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: the failover behavior (configured inside the main optimize-at-edge routing rule) and a separate failover test header rule.
9a. Site Failover Behavior (inside the main optimize-at-edge routing rule)
Inside the main routing rule, configure the Site Failover behavior and the Advanced XML snippet as follows:
Add the request header x-edgeoptimize-request with value fo through Advanced XML:
<forward:availability.fail-action2>
<add-header>
<status>on</status>
<name>x-edgeoptimize-request</name>
<value>fo</value>
</add-header>
</forward:availability.fail-action2>
9b. Failover Test Header rule (sibling rule)
| code language-none |
|---|
|
If the request header x-edgeoptimize-request value is fo, then set the outgoing response header x-edgeoptimize-fo to true.
Site Failover ensures that if Edge Optimize returns a 4XX or 5XX error, the request is automatically routed back to your default origin so the end-user still receives a response.
2XX4XX or 5XXVerify 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-fo1)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.