Caching

Short version: if you’ve changed a page, but it still looks the same when you or someone else visits the site, press the ‘Clear Cache’ button on the top of your site’s admin pages, if it’s there.

Longer version: A cache, pronounced ‘cash’, is a store of something you’re going to want to come back to later*.

If you think about phone numbers, you could ring up directory enquiries every time you wanted to call someone, but that would take time and cost money, so you have a local phonebook, written down or in your phone. When you want to call them, you look it up in the local copy. The problem comes when they change numbers without telling you – your local copy will be out of date, and you’ll call the wrong number.

Computers use lots of caches because some things they can do are really, really fast, and some things, while still quick in comparison to a human, are a lot slower.

Each time someone visits a YES site that uses WordPress software (i.e. almost all of them), the web server program has to go ‘Oh, they want that page… OK, other program, give me something to show them.’ That program has to go ‘OK, let’s see, right, what are the words on the page, third program?’ Then that third program has to look up what text is on that page amongst other things. Each bit doesn’t take long, but it all adds up. And it will be repeated the next time someone else looks at that same page even though it probably hasn’t changed.

So one thing that’s installed on most sites is a cache plugin. When a page is shown to someone for the first time, a copy of the final result is made and that copy is shown to other visitors to the same page.

Now, there are several cache plugins to choose from, and they all have advantages and disadvantages. But they all have the issue that if the page changes, they have to notice and update their copy, and it looks like the one most commonly used, Quick Cache, doesn’t always do this. Fortunately there is a button on the WordPress admin panel to ‘Clear Cache’ which ensures that it happens. Because Quick Cache does not cache pages for logged in users, just anonymous visitors, you may need to log out (or use another browser / the private browsing facility of your browser) to check that all is well..

.. Probably! There are other caches in the process. It’s not as common as it used to be, but Internet Service Providers (ISPs) can cache sites to cut down on their costs and to try to be ‘the fastest’. Browsers certainly try to, as again it helps in the race to be ‘the fastest’, to the point that they can load data from pages before you’ve clicked on the link to go there and then not always bother to check that it is up to date when you do**.

When looking at an out of date version of a page on your site, before assuming that it is a problem with your site, try holding down the ‘shift’ key when clicking on the ‘refresh’/’reload’ button or pressing the F5 key (usually a shortcut to clicking on that button). That tells the browser that it should ignore any local caches and ask for the page from the web server directly.

* Polar explorers cached food and other supplies on their route, so they wouldn’t have to carry every tin of beans all the way to the North or South Pole and back. Robert Falcon Scott and the remainder of his party died in 1912 because they couldn’t quite reach the next cache, eleven miles away, on the way back to their base. It was originally intended to be located thirty miles closer to the South Pole. Had it been, most of them would have survived and you probably wouldn’t have heard of them in the same way that you probably don’t know who was in the second group to reach the summit of Mount Everest. (I’d have to look it up!)

** Much that I otherwise love it as a browser, Firefox can be particularly annoying in its caching policies, especially when setting up a new YES site for someone: it can insist a site doesn’t exist, because it didn’t when it looked it up some time before it was asked to go there, and no pressing of shift-F5 will convince it otherwise. Grrr.

Leave a Reply

Your email address will not be published. Required fields are marked *