Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Best Practices for AEM performance

Avatar

Level 3

[Moderator moved from Adobe Portfolio to Adobe Experience Manager .]

Hi All,

Kindly let me know what are all the best practices need to be followed for aem website performance and load time.

1 Accepted Solution

Avatar

Correct answer by
Level 2

Following on Jörg Hoh​'s comment about building cacheable pages in the dispatcher... I'd add that this has to be part of you design strategy. There are some common web practices that will bust the dispatcher cache if you are not careful. One example is urls with query strings params which by default are not cached. You can configure the dispatcher to blacklist params but that only helps if you know what params will be added. However, most large scale commercial web sites will use things like tag mangers and campaign tracking tools that will append their own params. (Whitelisting query params may be the better approach since you will never know what a client will add to the query param when they call your web page). Another practice that front end developers sometimes use is to add query strings to CSS files in order to effectively clear the browser cache when the CSS changes.  Again AEM can help you out if you version your clientLibs but your developers have to be aware. I could go on with other examples, but suffice it to say, it's good idea keep track of how much caching your actually getting in production. You might be surprised.

View solution in original post

5 Replies

Avatar

Employee Advisor

There are a lot of best practices, but for me the first rule is: Do performance testing! The second rule: Build cacheable pages and use the dispatcher.

Jörg

Avatar

Correct answer by
Level 2

Following on Jörg Hoh​'s comment about building cacheable pages in the dispatcher... I'd add that this has to be part of you design strategy. There are some common web practices that will bust the dispatcher cache if you are not careful. One example is urls with query strings params which by default are not cached. You can configure the dispatcher to blacklist params but that only helps if you know what params will be added. However, most large scale commercial web sites will use things like tag mangers and campaign tracking tools that will append their own params. (Whitelisting query params may be the better approach since you will never know what a client will add to the query param when they call your web page). Another practice that front end developers sometimes use is to add query strings to CSS files in order to effectively clear the browser cache when the CSS changes.  Again AEM can help you out if you version your clientLibs but your developers have to be aware. I could go on with other examples, but suffice it to say, it's good idea keep track of how much caching your actually getting in production. You might be surprised.

Avatar

Level 3

other than cache in dispatcher is it possible to cache the images in local

Avatar

Level 7

Not sure what you mean by local but there are options other than dispatcher.. You could use CDN for caching images/videos that helps improve performance.. Akamai, Cloudfront are some options.

Avatar

Level 3

how can i use CDN to cache  images /videos.

Provide me some links.