What is cache?
Cache is a standard web mechanism and is used by virtually ALL CMS and database driven sites from the White House to the National Theatre.
In its simplest form, it is a temporary storage (or caching) of web documents, such as HTML pages and images on a server. This reduces bandwidth - and therefore your costs - as well as server load which means that the site will load more quickly for the website visitor. These are both good and great things.
Users are notoriously impatient - research from Forrester indicates that they will wait 6-10 seconds for a page to load (on any device) before they abandon it, but this wait time is dropping. As a result, search engines now include the load time as part of their algorithms to decide search rankings and ad positioning. So a fast site will help you find and retain visitors. And if you can do that whilst keeping the hosting costs down, well, what’s not to like?
However, like all good things, there’s always another side to the story. And that’s what often generates the questions we so often get asked about.
Cache, cache everywhere ...
The first point is the fact that, between a website and a user, caching can be implemented at several different points and places by different providers. There's cache at:
- a local level in your browser
- possibly also at a local level on your local (or corporate) network
- most likely at a wider network level as used by your ISP
- at the server level; and finally
- at the database(db)/CMS level
At any of these points an 'old' cache might be preventing an end user from seeing the very latest version of a web page. This is why we’ll often ask you to clear your browser cache before testing a new piece of work or a bug fix. We’ve also known it to mean that a venue couldn’t see its shiny new website even though the rest of the world could because of the cache settings in their local network (i.e. just inside the building)!
We don't enable cache on the development version of your site - only on your live site. During QA (testing) and content load all changes will be immediate, although your browser may hold an older version. Once the site launches our standard cache settings will come into play so this is when you may notice some changes.
What we do
So what do you need to know about the cache that we have set up?
We manage the server and db/CMS caches as well as the webserver caching engine; they're on a scheduled refresh that typically updates every 3 hours. This is in line with standard industry practice. This means that the maximum length of time a cached version of a page is held for is 3 hours. If, however, a page is edited within that timeframe, it will refresh sooner. We have identified a few cases where some cached content displayed for more than one day. To stop this from happening, we now have an overnight clearing task for all the sites we host.
A new page is live immediately
When you publish a new page, that page goes live immediately. So if you publish a new page and use its URL as a direct link in an email or social media, that link to that page will work.
Other pages may take time to catch up
What might take time to catch up are any other pages which automatically list the new page. As that page hasn't actually been changed, the older version will be visible until the next cache refresh (i.e. when the db checks again for any changes). The most common type of page where this happens is a listing page (e.g. blog article list, event list).
So, for example, if you publish a new event page, that specific event page will go live immediately but it might be a little while before you see it appear in the list on the What’s On page. How long it takes to appear in that list will depend when the next scheduled cache refresh it.
Say you publish a new page 5 mins before an auto-scheduled cache refresh, then it will appear as expected across the site after 5 mins (other caches - e.g. in your browser, local or corporate cache notwithstanding). However, if you were to publish a new page 5 mins after an auto refresh of cache, then that new page won't appear in lists for another 2hrs 55mins.
Again, this is standard good practice; there's nothing unusual in any of this.
There are a couple of things to bear in mind when checking if cache is causing issues:
1. You’ll sometimes get different behaviour depending on whether you logged in or out of the CMS. So if you’re not sure about something, log out and check it before you raise the alarm that something is amiss.
2. There may be occasions when you need to publish content a specific time and you need to be sure that all of your newly posted content needs to be displayed fully across the site - think new season launch or key press announcement. We are able to manually clear the cache and make sure that happens - just tell us when and where and we’ll work with you to make sure your announcement goes swimmingly. Please make sure you give us some notice so that we can make sure to have someone on standby as soon as you're ready to go.
Other reasons this may happen
Occasionally, the fact a new page isn’t displaying actually has nothing to do with any of this (but it’s rare). For example, sometimes it’s worth checking the URL of the site you’re editing as there have been occasions where an editor has make changes to the development (or test) site rather than the live site. Since they are different sites so you won’t see changes committed on one implemented on the other.
There are also other pieces of 'kit' or software that help run the site and server that can affect how and when pages will display.
Generally though it is cache we would BOTH check first to see why a page might be slow in appearing.
Remember the website cache is there to help and it does a tremendous job of benefiting the speed and performance of your site.