Try our conversational search powered by Generative AI!

Visitor Groups with additional cache layer



Does anyone have any experience of using Visitor Groups on a site that uses an extra layer of caching/traffic management? I'm not sure whether this extra layer of caching will cause the Visitor Groups to only be checked for the 1st person to visit a page?


Mar 09, 2012 10:55

Hi Tom

What exactly do you mean by "an extra layer of caching"? Are you talking about a CDN or something at the IIS level?


Mar 09, 2012 15:54

In the case of using output caching on the web server or a cache server such as Varnish the rendered content would be cached on the first request, resulting in subsequent requests being rendered as if they are from a visitor in the same group(s) as the first one. 

There are a number of ways to tackle this that I can think of, although they all have their price:

  • Don't use output caching on pages with perzonalized content. Given that your site only utilizes the EPiServer API and doesn't rely on methods such as FindPagesWithCriteria or GetDescendents you rarely need output caching as the EPiServer API is really good at caching the data access.
  • Use client side rendering to render perzonalized content. That is, fetch parts of the page using javascript once the page has loaded. Works well for smaller widgets but probably not something you'd want to do for the main body text or main navigation of the site.
  • Use partial caching (that is cache user controls) instead of page level caching. Omit caching of the usercontrols that render personalized content.
  • Find a way to let URLs vary by the criterias used in visitor groups. 

None of these solutions are optimal of course, but combining several of them should be able to let you use personalization withouth suffering performance wise.

Mar 12, 2012 8:39

Thanks for the responses. Joel describes the cache layer correctly. The site has a large volume of traffic with surges at busy times and the cache servers allow the environment to handle this load.

The aim of using Visitor Groups is to check whether a user is a mobile user and then serve pages using the MobilePack functionality. I will look into the pros and cons of those points in this instance.


Mar 12, 2012 16:22

In that case maybe you can configure your cache layer to vary by the User-Agent HTTP header? You'd then probably end up caching the same content quite a few times (once for each user agent and OS combination) but unless you have a huge site running on servers with very little memory I would guess that it isn't a problem.

Mar 13, 2012 11:45
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.