The best WordPress caching plugins to speed up WordPress website performance. Note that WordPress caching is the fastest way to improve performance of a website.
Caching is the temporary storage of web documents such as HTML pages and images. Basically your web browser stores copies of web pages you’ve visited recently to reduce its bandwidth usage, server load, and lag.
1. W3 Total Cache
W3 Total Cache improves the SEO and user experience of your site by increasing website performance, reducing load times via features like content delivery network (CDN) integration and the latest best practices.
The only web host agnostic Web Performance Optimization (WPO) framework for WordPress trusted by millions of publishers, web developers, and web hosts worldwide for more than a decade.
- Improvements in search engine result page rankings, especially for mobile-friendly websites and sites that use SSL
- At least 10x improvement in overall site performance (Grade A in WebPagetest or significant Google Page Speed improvements) when fully configured
- Improved conversion rates and “site performance” which affect your site’s rank on Google.com
- “Instant” repeat page views: browser caching
- Optimized progressive render: pages start rendering quickly and can be interacted with more quickly
- Reduced page load time: increased visitor time on site; visitors view more pages
- Improved web server performance; sustain high traffic periods
- Up to 80% bandwidth savings via minify and HTTP compression of HTML, CSS, JavaScript and feeds
Key Features
- Compatible with shared hosting, virtual private / dedicated servers and dedicated servers / clusters
- Transparent content delivery network (CDN) management with Media Library, theme files and WordPress itself
- Mobile support: respective caching of pages by referrer or groups of user agents including theme switching for groups of referrers or user agents
- Accelerated Mobile Pages (AMP) support
- Secure Socket Layer (SSL) support
- Caching of (minified and compressed) pages and posts in memory or on disk or on (FSD) CDN (by user agent group)
- Caching of (minified and compressed) CSS and JavaScript in memory, on disk or on CDN
- Caching of feeds (site, categories, tags, comments, search results) in memory or on disk or on CDN
- Caching of search results pages (i.e. URIs with query string variables) in memory or on disk
- Caching of database objects in memory or on disk
- Caching of objects in memory or on disk
- Caching of fragments in memory or on disk
- Minification of posts and pages and feeds
- Minification of inline, embedded or 3rd party JavaScript (with automated updates)
- Minification of inline, embedded or 3rd party CSS (with automated updates)
- Browser caching using cache-control, future expire headers and entity tags (ETag) with “cache-busting”
- JavaScript grouping by template (home page, post page etc) with embed location control
- Non-blocking JavaScript embedding
- Import post attachments directly into the Media Library (and CDN)
- WP-CLI support for cache purging, query string updating and more
- Various security features
- Caching statistics for performance insights
- Extension framework for customization or extensibility e.g. New Relic, Cloudflare, WPML and more
- Reverse proxy integration via Nginx or Varnish
2. WP Super Cache
This plugin generates static html files from your dynamic WordPress blog. After a html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts.
The static html files will be served to the vast majority of your users:
1. Users who are not logged in.
2. Users who have not left a comment on your blog.
3. Or users who have not viewed a password protected post.
99% of your visitors will be served static html files. One cached file can be served thousands of times. Other visitors will be served custom cached files tailored to their visit. If they are logged in, or have left comments those details will be displayed and cached for them.
The plugin serves cached files in 3 ways (ranked by speed):
1. Expert. The fastest method is by using Apache mod_rewrite (or whatever similar module your web server supports) to serve “supercached” static html files. This completely bypasses PHP and is extremely quick. If your server is hit by a deluge of traffic it is more likely to cope as the requests are “lighter”. This does require the Apache mod_rewrite module (which is probably installed if you have custom permalinks) and a modification of your .htaccess file which is risky and may take down your site if modified incorrectly.
2. Simple. Supercached static files can be served by PHP and this is the recommended way of using the plugin. The plugin will serve a “supercached” file if it exists and it’s almost as fast as the mod_rewrite method. It’s easier to configure as the .htaccess file doesn’t need to be changed. You still need a custom permalink. You can keep portions of your page dynamic in this caching mode.
3. WP-Cache caching. This is mainly used to cache pages for known users, URLs with parameters and feeds. Known users are logged in users, visitors who leave comments or those who should be shown custom per-user data. It’s the most flexible caching method and slightly slower. WP-Cache caching will also cache visits by unknown users if supercaching is disabled. You can have dynamic parts to your page in this mode too. This mode is always enabled but you can disable caching for known users, URLs with parameters, or feeds separately. Set the constant “DISABLE_SUPERCACHE” to 1 in your wp-config.php if you want to only use WP-Cache caching.
3. WP Fastest Cache
This plugin creates static html files from your dynamic WordPress blog. When a page is rendered, php and mysql are used. Therefore, system needs RAM and CPU.
If many visitors come to a site, system uses lots of RAM and CPU so page is rendered so slowly. In this case, you need a cache system not to render page again and again. Cache system generates a static html file and saves. Other users reach to static html page.
In addition, the site speed is used in Google’s search ranking algorithm so cache plugins that can improve your page load time will also improve your SEO ranking.
Setup of this plugin is so easy. You don’t need to modify the .htacces file. It will be modified automatically.
4. Cache Enabler
The Cache Enabler plugin creates static HTML files and stores them on the servers disk. The web server will deliver the static HTML file and avoids the resource intensive backend processes (core, plugins and database). This WordPress cache engine will improve the performance of your website.
Features
- Efficient and fast disk cache engine
- Automated and/or manual clearing of the cache
- Manually purge the cache of specific pages
- Display of the actual cache size in your dashboard
- Minification of HTML and inline JavaScript
- WordPress multisite support
- Custom Post Type support
- Expiry Directive
- Support of 304 Not Modified if the page has not modified since last cached
- WebP Support (when combined with Optimus)
- Supports responsive images via srcset since WP 4.4
This plugin requires minimal setup time and allows you to easily take advantage of the benefits that come from using WordPress caching.
The WordPress Cache Enabler has the ability to create 2 cached files. One is plain HTML and the other version is gzipped (gzip level 9).
5. Hyper Cache
Hyper Cache is a cache plugin specifically written to get the maximum speed for your WordPress blog. It can be used in low resources hosting as well on high end servers.
Hyper Cache is purely PHP and works on every blog: no complex configurations are needed
and when you deactivate it no stale settings are left around.
Short list of features:
- Mobile aware: double cache for desktop and mobile site versions
- HTTPS ready
- Mobile theme switch option: change the theme on mobile device detection
- Able to serve expired pages to bots to increase the perceived blog speed by bots
- Manages compression even on the fly for non cached pages
- Lots of configurable bypasses: matching cookies, matching urls, user agents, …
- Comments aware: is able to serve cached pages even to visitors who commented the blog (perfect for blog with great readers paritipation)
- Cache folder can be moved outside your blog space to exclude it from backups
- Controls over cache cleaning on blog events (post edited, comments, …)
- Autoclean to controls the cache used disk space
- CDN support
- Other special options
- Response header signature to check the working status
- bbPress specific integration
Optimization – Caching
The official statement of WordPress details out the caching and its kind. It reads:
Caching Plugins
Plugins like W3 Total Cache, WP Super Cache and Cache Enabler can be easily installed and will cache your WordPress posts and pages as static files. These static files are then served to users, reducing the processing load on the server. This can improve performance several hundred times over for fairly static pages. When combined with a system level page cache such as Varnish, this can be quite powerful.
Browser Caching
Browser caching can help to reduce server load by reducing the number of requests per page. For example, by setting the correct file headers on files that don’t change (static files like images, CSS, JavaScript etc) browsers will then cache these files on your visitor’s computer. This technique allows the browser to check to see if files have changed, instead of simply requesting them. The result is your web server can answer many more 304 responses, confirming that a file is unchanged, instead of 200 responses, which require the file to be sent.
Server Caching
Web server caching is more complex but is used in very high traffic sites. A wide range of options are available, beyond the scope of this article. The simplest solutions start with the server caching locally while more complex and involved systems may use multiple caching servers (also known as reverse proxy servers) “in front” of web servers where the WordPress application is actually running.
Adding an opcode cache like Opcache, or WinCache on IIS, to your server will improve PHP’s performance by many times.