If html has more thant one SSI level apache only cache parent html, for example: test1.html with that content: <!--#include virtual="test2.html"--> test2.html with that content: <!--#include virtual="test3.html"--> test3.html with that content: <!--#include virtual="test4.html"--> test4.html with that content: test4 In that case if we request test1.html we will get a MISS fromt that page and the second request we will get a HIT, but if we request directly the second time test2.html,test3.html,test4.html we will get a MISS, and I think its better to get a HIT, for example test3.html can have different Expiration time than the other ones, and thats useful to have more dynamic content with less apache load. I have tested with that configuration mod_cache like this: CacheSocache memcache:localhost:11211 CacheSocacheMaxSize 10240 CacheQuickHandler Off AddOutputFilterByType INCLUDES;CACHE;BUFFER text/html CacheIgnoreCacheControl On CacheIgnoreQueryString Off CacheStoreExpired On CacheIgnoreNoLastMod On And in VHOST: <Location /> BufferSize 1024000 CacheEnable socache SSILastModified On SSIETag On </Location>