AEM Content Requests - Reduce, Reduce, Reduce!

AEM Sites is licensed by content requests, which are generally aligned with website traffic. But some implementation techniques are less efficient than others, and some types of traffic that drive cost are unwanted or avoidable.

This presentation aims to demystify the topic of content requests and give best practices, development tips, and operational guidance to help reduce content requests for your AEM implementation.

Michael

I am going to ask the censored question again: why not to incentivise customers to improve caching by charging per AEM requests instead of CDN requests? You can't fix the issue by ignoring the elephant in the room.

wolf

Especially when the customer brings in a better CDN service than the restricted part of Fastly service that Adobe resells.

langswei

This is a policy question which is above me. I will pass it along to the team. I generally agree that incentives drive behavior, and caching is a behavior we want to encourage.

Jose Maria

If bot requests are not counted, what happens to that start we saw at the beginning of the conference that 53% of the traffic is currently coming from AI agents on behalf of real users?

Thomas

Many LLMs are excluded, also see https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/using-cloud-manager/content-requests#excluded-content-request

langswei

Some bots are not counted. Some are. The logic can be found by looking at the ELK dashboard referenced during the presentation. It relies partially on https://www.fastly.com/documentation/reference/vcl/variables/client-request/client-bot-name/ and partially on how the bot identifies itself. I strongly suggest logging the botName property to get a better idea of what counts and what does not.

jack.jin

What about BYO CDN and how does Adobe detect traffic and any tips and tricks there?

langswei

Adobe can detect BYO CDN (yes/no) by looking at the client network. What we cannot do is measure because of caching, and rely on customers to self-report as per the product description. The simplest way to self report is sometimes cache hit ratio to origin, rather than recreating the logic based on parsing log files. https://helpx.adobe.com/legal/product-descriptions/aem-cloud-service.html

KatieP

As a site owner why would I ever want to serve a 404 to someone trying to access my site? Redirecting my traffic to home means I dont lose them as a site visitor

wolf

You will get penalised for that redirect by the search bot, as that looks like a link farm, so you will not get that site visitor in the first place.

Michael

This is not necessarily a good practice. If your website content no longer exists, a 404 is the correct way of handling and a better SEO practice in general. Redirecting to home is the most annoying thing you can do. How many times did you click on a Google result only to be shown an entirely different page? Were you satisfied?

Edgar

If you want to redirect to the homepage, a possible solution is to do it by javascript from the 404 error page. For example with a counter. User will see it is wrong but client is goes to the homepage as well. And you avoid problems on indexing as it is said before.

langswei

I agree with the other responders, there are benefits beyond just content request efficiency to serving with status 404.

Michael

Edgar: this is flaky; many bots, including Google do process JavaScript. In principle, redirects should be used only if the content has moved to another location. If the content has been deleted, 404 is the correct handling from the SEO perspective. No one wants to land on a page they didn't search for...

Samir

Is there any best practices when designing headless apps which consume API calls , what is average # of request per page

langswei

It depends on the implementation. If the call is made per page view, pass the client's user agent so our bot filter can help exclude some portion of the traffic. You might be able to use a status 304 Not Modified in some cases which would not count as a content request. If the API call is cached, you may need to work with the account team to figure out a self-reporting situation as this is similar to BYO CDN.