A well-configured cache is the single biggest speed win on WordPress, and a badly configured one can show one customer another customer’s cart. Both sentences are true at the same time - which is exactly why so much fear has grown up around caching. Some people switch everything on and enjoy a fast site, right up until a customer calls to say they can see someone else’s order. Others switch nothing on and pay for it every day with a slow site.
I am writing this so you know what to enable, what not to touch and how to check after yourself that nothing broke - with no knowledge of code.
WordPress caching - what it is in plain language
On every visit WordPress assembles the page from scratch: it queries the database, builds the template, and every plugin adds its bit. It is as if a cook prepared dinner from zero for each guest separately, even when everyone orders the same dish. A cache is a ready portion kept on the warmer: a page, once assembled, is stored as a finished file and the next visitors get it instantly.
That is why caching is the biggest single speed win you can squeeze out of WordPress - bigger than slimming down images or swapping plugins. Not the only one: I laid out the full list of steps in the piece on how to speed up a WordPress site, but this is where it is worth starting.
Cache layers - what each one does
The word “cache” describes several different mechanisms, and that is where most of the confusion comes from:
- Page cache - ready copies of your pages, as described above. The most important layer, it makes the biggest difference.
- Browser cache - images, fonts and stylesheets stored on the visitor’s computer so they are not downloaded again on the next visit.
- Server cache - the host keeps ready copies before the request even reaches WordPress. Often a single switch in the hosting panel is enough.
- CDN - copies of your files spread across servers in different parts of the world, so the site loads quickly a long way from your hosting too.
You do not need all of them at once. A typical company site does fine with page cache plus browser cache - the rest goes in when there is a real reason.
When caching breaks the site
Now the other side of the coin. A cache serves everyone the same stored copy - which is great for an “About us” page and terrible for a cart. The classic symptoms of a badly configured cache:
- the cart or the order page shows another person’s products and details,
- prices meant to be visible only after logging in are shown to every visitor,
- a form refuses to submit because it is holding an out-of-date token - the one-time security pass that expired long ago in the stored copy,
- you make changes on the site and cannot see them - the classic “works on my machine”, because you are looking at a fresh version and customers at an old copy.
The rule is single and hard: dynamic pages - cart, checkout, customer account - must be excluded from caching. Decent plugins do that automatically for a typical store, but “automatically” does not mean “for certain” - which is why testing comes next.
How to switch WordPress caching on safely
The order I use with clients:
- Look in the hosting panel first - many hosts have their own cache you can enable with one click, and that is often the best start.
- Add one cache plugin - there is a whole range of them, from simple free ones to elaborate all-in-ones. More important than the name is that there is one of them and that it is set up sensibly.
- Test after switching it on - open the site in incognito mode as an ordinary visitor and walk the whole path: landing, cart, form or order. That short walk through the site catches every mishap from the previous section.
- Clear the cache after every content change - a new price, a new post, a corrected banner: after saving, clear the cache, otherwise customers will be looking at the old version.
What helps: one cache plugin, never two. Stacking “speed boosters” on top of each other is the most common cause of the strange failures I run into when tidying sites up - the layers fight each other and the site can slow down instead of speeding up.
Setting the cache up properly from scratch is, incidentally, a typical part of optimization work on a site you already have - nothing needs building again.
How to clear the cache when the site shows old content
Pushed a change and the site still looks the same? Clear it in order, from the top:
- The cache plugin - the “clear cache” button in the admin bar or in the plugin settings. That sorts it out most of the time.
- The hosting panel - if your host has its own cache, clear it there; the same goes for a CDN if you use one.
- The browser - finally, refresh the page bypassing the local copy (the shortcut is in the questions below).
If you still see old content after going through the whole list, there is a layer in the stack you do not know about - that is the moment for a diagnosis, not for guesswork.
Caching and an online store
A store is the hardest case: there are more dynamic pages, plus payments, couriers and prices that depend on the customer. Caching in a store is configured more carefully and tested more thoroughly - and if the store drags despite the cache being on, the cause usually sits deeper, which I set out in the piece on why a WooCommerce store runs slowly. A separate trap - prices visible only after logging in, which a cache can happily show the whole world - I describe at length in the piece on wholesale pricing in WooCommerce.
Frequently asked questions
What is caching in WordPress? A stored, ready copy of a page that the server serves to visitors instead of assembling the page again on every visit. It makes the site open noticeably faster.
Can a cache plugin break the site? It can - most often when it stores pages that should stay dynamic: cart, checkout, customer account. That is why after every settings change you walk the purchase path in incognito mode.
How do I force a refresh that bypasses the cache? In your browser press Ctrl+Shift+R (Cmd+Shift+R on a Mac) - that forces a fresh download instead of the copy on your computer. Remember it only clears your own view; the copy on the server you clear with the plugin or in the hosting panel.
How often should I clear the WordPress cache? After every content change customers are meant to see straight away. Good plugins refresh the relevant pages themselves on publish, but after larger changes it is worth clicking “clear cache” by hand.
Can I check whether the cache is working at all? Yes - open the site in incognito mode and notice whether the second visit opens faster than the first. And if you would rather have someone from outside look at it, I do that as part of the free diagnosis - caching is exactly where I start.
Sitting on this yourself and unsure where to start? I speed up and repair existing sites and stores - Core Web Vitals, outages, the features that are missing. Tell me what is happening and you will get a concrete quote with a date.