Page Cache
A page cache is a stored copy of a fully rendered HTML page, served to visitors without re-running PHP or querying the database on every request. WordPress builds each page dynamically by default...
Page Cache
A page cache is a stored copy of a fully rendered HTML page, served to visitors without re-running PHP or querying the database on every request. WordPress builds each page dynamically by default — the server executes PHP, hits MySQL, assembles the HTML, then sends it. With a page cache in place, that work happens once; every subsequent visitor gets the pre-built file directly.
Last verified: April 2026
Note: This article contains no affiliate links. It is a neutral reference entry.
What Does a Page Cache Do in WordPress?
A page cache intercepts incoming requests and checks whether a static HTML copy of the requested URL already exists. If it does, the server returns that file immediately — no PHP execution, no database query. In our testing on shared hosting, enabling a page cache typically drops Time to First Byte (TTFB) from 600–900 ms to under 100 ms on uncached repeat requests.
Why You Encounter It
Every WordPress page visit without caching triggers a full execution stack: PHP loads, WordPress bootstraps, the database returns post content, and the theme assembles HTML. On a quiet blog this is tolerable. On a WooCommerce store at 500 concurrent visitors, or on shared hosting where MySQL connections are throttled, that overhead compounds fast. We see page timeouts and 504 errors most often on client sites that have no caching layer at all.
Page caching is the single highest-leverage performance change available to most WordPress sites — it reduces server load more than image compression or font optimization combined.
How Page Caching Works in WordPress
WordPress has no built-in page cache as of version 6.5. You add one through a plugin or at the server level:
- Plugin-level caching (e.g., WP Rocket, W3 Total Cache, LiteSpeed Cache): the plugin intercepts requests via a drop-in file (
advanced-cache.php) placed inwp-content/and hooks into WordPress’sWP_CACHEconstant. - Server-level caching: managed hosts like Kinsta and WP Engine implement full-page caching at the Nginx or CDN layer before PHP runs at all — faster than any plugin approach.
One detail that trips up new site owners: page caching and logged-in users don’t mix cleanly. Most caching plugins automatically bypass the cache for any authenticated session, which means your admin previews won’t reflect the cached experience your visitors see.
Page Cache vs. Object Cache
These two terms are frequently confused. A page cache stores complete rendered HTML for a URL. An object cache stores individual PHP data objects (query results, transients) in memory (Redis, Memcached) to speed up the build process itself. Both can coexist — the object cache makes the first uncached page build faster; the page cache eliminates the build on subsequent requests.
Related Terms
Additional Reading
- How to Choose a WordPress Caching Plugin — plugin-by-plugin comparison with real TTFB measurements
- WordPress Performance: Shared Hosting vs Managed Hosting — when server-level caching makes plugin caching redundant
- WooCommerce Caching Guide — handling cart, checkout, and account pages that must bypass the cache
Primary source: WordPress Developer Handbook — WP_CACHE constant