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.