Certain dynamic elements of wiki pages can make them impossible to cache. There may be however a way to work around that.
The World Wide Web was designed according to ReST principles that made it possible, among other things, to introduce several levels of caching greatly improving the efficiency and availability of web pages. However, one of ReST principles, statelessness, is commonly violated in modern web applications, leading to effectively disabling all caching.
Suppose your wiki displays a BreadcrumbTrail at the top of the page, to show the user’s browsing history. The information from which the trail is constructed can be stored in a cookie on the user side, or in some kind of session or user profile on the side of the server. Obviously, the history that is displayed will change every time the page is loaded, invalidating any cached versions of that page in any reverse proxies, proxies and in the browser’s cache.
Note that all this can be a wasted effort if the wiki engine in question doesn’t generate HTTP headers necessary for proper functioning of the cache in the first place, but the game may be worth the candle for high-traffic sites – cache hit ratios can be as high as 90%, effectively reducing required resources tenfold! A decisions to include one of these features, and thus break the cache, should be made consciously, after considering the drawbacks and the alternatives.