This guideline article provides a broad overview of optimization ways to improve WordPress website performance with specific recommended approaches. However, it’s not a detailed technical explanation of each aspect. Whether you run a high-traffic WordPress or a small blog on a low-cost shared host, you should optimize it and your server to run efficiently.
Furthermore, if you’ll grow impatient, and you’ll need a quick fix now instead, you can go straight to the caching section, where you’ll get the biggest benefit for the smallest hassle there. If you want to get started on a more thorough optimization process immediately, go to the How Do You Improve Performance in WordPress section for more details, or just follow us.
Of course, we are going to guess that, as an avid internet user, you prefer fast websites to slow ones. And, if your online business is built on WordPress, we are also going to guess you’re currently trying to land yourself in the former category. Well, it’s quite true that speeding up your WordPress website performance can help it in more ways than you think.
Your users will be happier, your search engines will be happier, and your bottom line will be the happiest of all. Unfortunately, WordPress doesn’t always make it easy to deliver blazing fast pages to visitors.”
Why You Should Speed Up Your WordPress Website Performance
According to HubSpot, when checking out new websites, nothing makes me spring for the “back” button like a slow webpage. And I’m pretty sure I’m not alone here — site performance greatly impacts the user experience and largely shapes how visitors judge the quality of an online business. There’s little room for error with page speed and patience.
Similarly, according to Google, your website should load in two seconds or less. Any longer and visitors start to lose interest. Page performance is also a ranking factor used by search engines including Google. The faster your site, the more likely you’ll land a coveted spot at the top of the SERP. Now, WordPress doesn’t exactly specialize in speed right out of the box.
Resource Reference: 25 Easy Ways To Speed Up Your WordPress Site In Simple Steps
This is in part due to how WordPress works: When someone visits a page on your site, WordPress dynamically constructs the page by pulling data from various sources — like your WP database and theme files — then combining them into an HTML file that is sent to the visitor’s browser. Building pages “on the fly” like this isn’t always ideal for performance.
Plus, WordPress themes and plugins all consume valuable server resources, even if you’re not actively using them on your site. Too many things running on your web server at once will deplete its resources, slow down your pages, and thwart conversions. As we’ll soon see, many approaches to speed up WordPress are pretty non-technical.
While others involve installing a plugin or even changing some of the code yourself (as long as you know what you’re doing). You may even begin to see improvements after taking just a few of these simple steps down below.
Things To Consider In Improving WordPress Website Performance
Generally, to have a full-proof PageSpeed Insights pass mark, it’s mandatory for professional webmasters to consider the best ways to improve their WordPress website performance. As an example, paying more for higher service levels at your hosting provider can be very effective. Increase memory (RAM) or switch to a host with Solid State Drives (SSD).
A good example of a great SSD provider is DigitalOcean which can make a big difference. An increased number of processors and processor speed will also help. Where possible, try to separate services with different functions – like HTTP and MySQL – on multiple servers or VPS-es. But, there are many conditions that can influence your website performance.
A. Basic Performance Factors + The Servers Number
Several basic performance factors can affect your WordPress blog (or website). Those factors include but are not limited to, the hosting environment, WordPress configuration, software versions, number of graphics, and their sizes. Fortunately, most of these performance-degrading factors are addressed herein, in the next section such as hosting, to begin with.
Keep in mind, that the optimization techniques available to you will depend on your hosting setup.
Shared Hosting + Limited Servers
This is the most common type of hosting. Your site will be hosted on a server along with many others. The hosting company manages the web server for you, so you have very little control over server settings and so on. The areas most relevant to this type of hosting are Caching, WordPress Performance, Content Offloading, and other notable factors.
Virtual Hosting + Dedicated Servers
In this hosting scenario, you have control over your own server. The server might be a dedicated piece of hardware or one of many virtual servers sharing the same physical hardware. The key thing is, you have control over the server settings. In addition to the areas above, the key areas of interest here are Server Optimization and Content Offloading.
It’s, important to realize, when dealing with very high-traffic situations it may be necessary to employ multiple servers. If you’re at this level, you should already have employed all of the applicable techniques listed above. The WordPress database can be easily moved to a different server and only requires a small change to the config file.
Likewise, images and other static files can be moved to alternative servers (see content offloading). As an example, the Amazon Elastic Load Balancer can help spread traffic across multiple web servers but requires a higher level of expertise. If you’re employing multiple database servers, the HyperDB class provides a drop-in replacement for the standard WPDB class.
And, as such, it can handle multiple database servers in both replicated and partitioned structures.
B. Hardware Capability + Geographical Distance + Server Load
Your Hardware Capability will have a huge impact on your site performance. The number of processors, the processor speed, the amount of available memory and disk space, as well as the disk storage medium, are important factors. Hosting providers generally offer higher performance for a higher price. What about the Geographical Distance too?
Well, to enumerate, the distance between your server and your website visitors also has an impact on performance. Generally, a Content Delivery Network (CDN) such as Cloudflare can mirror static files (like images) across various geographic regions so that all your site visitors have optimal performance.
While a CDN does not host content and can’t replace the need for proper web hosting, it does help cache content at the network edge, which improves website performance. Many websites struggle to have their performance needs to be met by traditional hosting services, which is why they opt for CDNs. What about the role of Server Load in this case?
The amount of traffic on your server and how it’s configured to handle the load will have a huge impact as well. For example, if you don’t use a caching solution, performance will slow to a halt as additional page requests come in and stack up, often crashing your web or database server. If configured properly, most hosting solutions can handle very high traffic amounts.
Offloading traffic to other servers can also reduce server load. Abusive traffic such as login Brute Force attacks, image hotlinking (other sites linking to your image files from high-traffic pages), or DoS attacks can also increase server load. Identifying and blocking these attacks is very important.
C. Software Version + Graphics Size + WordPress Configuration
Making sure you are using the latest Software Version is also important, as software upgrades often fix bugs and enhance your WordPress website performance. Making sure you’re running the latest version of Linux (or Windows), Apache, MySQL/MariaDB, and PHP are very important. What about your Graphics Size for the best performance results as well?
Well, on that note, making sure the images in your posts are optimized for the web can save both time and bandwidth as well as increase your search engine ranking. Equally important, your WordPress Configuration will also matter for a great User Experience (UX) as well as ultimate performance. Try and makes sure that both the theme and plugins are in order.
Always remember, a fast, lightweight theme (such as Neve and OceanWP in that case) will perform much more efficiently than a heavy graphic-laden inefficient one. Whilst, bearing in mind, that a theme alone can have a very huge impact on the performance of your overall website. Make sure that the theme (free) layout is right, and that the custom features are in place.
Consider these theme features:
- Properly placed website logos and menu bars
- Optimal header and footer plus their menu settings
- The website UX design and appearance layout
- Sufficient website (main background) colors both in Dark Mode and Normal Mode
- Responsive typography (General, Headings, and Blog) settings
- Correctly done buttons and form fields
- Keeping up with WordPress upgrades is also very important.
- Be mindful of any additional CSS plus header/footer scripts, and more…
For professional webmasters, the above tools are basically all they’ll need to create a great website. But, as for newbies and beginner designers as well as website owners, in order to achieve the best results, it’s good to upgrade your WordPress theme to the premium version. And, as such, you’ll get all the support you’ll need plus unlimited features to utilize.
On the other side, the number of plugins and their performance will also have a huge impact on your overall website’s performance. Only go for those plugins that you feel are the topmost necessary/important to your website needs. Otherwise, deactivating and deleting unnecessary plugins is also a very important way to improve it’s overall performance.
D. Cache-Related Performance Issues
According to webdev, when a browser requests a resource, the server providing the resource can tell the browser how long it should temporarily store or cache the resource. For any subsequent request for that resource, the browser uses its local copy rather than getting it from the network. Thus, it’s good to serve static assets with an efficient cache policy in place.
If the Lighthouse cache policy audit fails, it means, that the Lighthouse will definitely flag all static resources that aren’t cached. Lighthouse considers a resource cacheable if all the following conditions are met.
These conditions include:
- First, the resource is a font, image, media file, script, or stylesheet.
- Secondly, the resource has a
206HTTP status code.
- Thirdly, the resource doesn’t have an explicit no-cache policy.
When a page fails the audit, Lighthouse lists the results in a table with three columns:
|The location of the cacheable resource
|The current cache duration of the resource
|An estimate of the data your users would save if the flagged resource had been cached
You can have a look at the Lighthouse performance scoring post to learn how your page’s overall performance score is calculated. One risk of long cache durations is that your users won’t see updates to static files. You can avoid this issue by configuring your build tool to embed a hash in your static asset filenames so that each version is unique.
While, at the same time, prompting the browser to fetch the new version from the server. To learn how to embed hashes using webpack, see webpack’s Caching guide which has more details. In simple terms, a longer cache duration isn’t always better. Ultimately, it’s up to you to decide what the optimal cache duration is for your resources.
The Best WordPress Website Performance Steps Plus Toolkits
First, let’s understand where your site stands performance-wise. There’s no all-encompassing metric that sums this up since performance varies by every visitor’s geographic region, internet connection strength, and whether your site is cached by their browser. Page speed will also vary across site pages, depending on the amount and type of content on each one.
Website homepages are typically the go-to for estimating load speed, although you should also be testing any other particularly high-traffic pages as well. To get the best tangible estimate, test your site with a free performance measuring tool like Website Grader. Just paste your home page URL onto the Website Grader toolkit and see how your site performs.
This tool and many others even provide speed suggestions that you can apply, then try again. Be sure to test performance regularly, especially after adding new functionality. This will confirm your site continues to deliver pages at competitive speeds. The other easiest way to improve WordPress website performance is by looking at both your theme and the plugins.
And, as such, you should try to first deactivate and then delete any unnecessary themes or plugins from your inventory. You should also try selectively disabling plugins to measure the overall server performance for your website. Ask yourself: Is one of your plugins significantly affecting your overall WordPress website performance?
Make sure that you look at the plugin documentation for what others have to say first or even ask for support in the appropriate plugin support forum. With that in mind, below are more useful ways that you can use to optimize it.
1. Optimize Website Content
- Are there any unnecessary images? (e.g. Can you replace some of the images with text?)
- Make sure all image files are optimized. Choose the correct format (JPG/PNG/GIF) and compression for each image.
Total File Number/Size
- Can you reduce the number of files needed to display the average page on your site?
- When still using HTTP1, it’s recommended to combine multiple files in a single optimized file.
You can also offload content to optimize your theme.
2. Check Your Website Health
If you have been keeping track of your WordPress Dashboard, you will have noticed that there is now a feature called Site Health. The feature has been around for a while now, having been introduced with WordPress 5.2. But, what is WordPress Site Health, and should you be worried if it shows that there are issues that need to be attended to on your site?
The Site Health Status is meant to highlight important issues that need to be attended to on your WordPress website. The issues that are highlighted have the potential to negatively affect the performance of your site. Bloggers will be aware of how competitive the terrain has become over the past few years. The dream of earning passive income is one that’s irresistible.
As such, new sites are constantly being made that challenge the established players. It’s important, whether your blog has been around for a while or whether it is new, for you to keep your house clean. The Site Health tool is one that tells you the work that needs to be done in order to keep your site running as it should. Search Engines, particularly Google, love healthy sites.
And, therefore, this is not something that you can afford to ignore because it is also beneficial for Cyber Security as well. If you click on Site Health and then on Info, you will see the configurations on your WordPress website that Site Health monitors. By going through every part; Site Health is able to come up with a report showing the key site areas per performance.
3. Update And Optimize Software
Make sure you are running the latest operating system version e.g. Linux, Windows Server, and the latest web server e.g. Apache or IIS, database e.g. MySQL server, and PHP. Perhaps you are unable to perform the tasks, and follow up on the tips, below. Just ask your hosting provider to do them for you.
A good hosting provider will upgrade or move your account to an upgraded server, to match the recommendations. If needed you can switch to a managed WordPress hosting solution to cater for your WordPress website performance.
Don’t run a DNS on your WordPress server. Use a commercial service for DNS such as Amazon’s Route 53 or your domain registrar’s free offering. Using a service such as Amazon can also make switching between backup servers during maintenance or emergencies much easier.
It also provides a degree of fault tolerance. If you host your DNS on external servers this will reduce the load on your primary web server. It’s a simple change, but it will offload some traffic and CPU load.
Your web server can be configured to increase performance. There is a range of techniques from web server caching to setting cache headers to reduce load per visitor. Search for your specific web server optimizations (for example, search for “apache optimization” for more info).
Some web servers have higher-speed versions you can pay for such as Apache Litespeed. There are also a number of ways to tune Apache for higher performance based on your particular hosting and site configuration, e.g. Memcache.
There are various PHP accelerators available that can dramatically improve the performance of your PHP files. This will apply to all PHP files, not just your WordPress installation. Search for PHP optimization for more information, f.e. APC or OPcache. The W3 Total Cache plugin, described below, offers integrated support for Memcache, APC, and other Opcode caching.
MySQL or MariaDB optimization is a black art in itself. A few simple changes to the query cache settings can have a dramatic effect on WordPress performance because WordPress repeats a lot of queries on every request. Nowadays, with InnoDB being the default storage engine for MySQL, you have to make sure to use that.
InnoDB can be optimized and fine-tuned, search for “MySQL optimization”, “MySQL InnoDB performance” or “InnoDB optimization” for more information and examples. Search for “MySQL convert MyISAM to InnoDB” for information on how to convert older MyISAM tables to InnoDB.
4 . Optimize With Caching Plugins
Plugins like W3 Total Cache or WP Super Cache 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. Thus, these are your go-for website caching plugin tools.
In particular, when combined with a system-level page cache such as Varnish Cache, this can be quite powerful. If your posts/pages have a lot of dynamic content configuring caching can be more complex. On one hand, W3 Total Cache (W3TC) is the latest generation in WordPress performance plugins, combining the research of web development authorities as such.
More so, in order to provide an optimal user experience for WordPress websites. W3TC is unique in its ability to optimize both the server-side and the client-side performance. Whilst, adding functionality otherwise unavailable natively. It can be used to optimize WordPress in both single- and multi-server environments through either shared or dedicated hosting.
On the other hand, WP Super Cache is a static page caching plugin for WordPress. It generates HTML files that are served directly by Apache without processing comparatively heavy PHP scripts, helping you to make significant speed gains on your WordPress blog. Using WP Super Cache allows your server to serve cached HTML pages.
Basically, it does all that at the same speed it serves regular graphic files. Consider it if your website is struggling to cope with its daily number of visitors, or if it appears on Digg.com, Slashdot.org, or any other popular website.
5. Employ Server-Side Caching
Web server caching‘ is more complex but is used in very high-traffic sites. A wide range of options is 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.
Of course, this is where the WordPress app is actually running. Adding an opcode cache like Alternative PHP Cache (APC) to your server will improve PHP’s performance by far. Similarly, Varnish Cache works in concert with W3TC to store pre-built pages in memory and serve them quickly without requiring execution of the Apache, PHP, and WordPress stack.
As described within, using a plugin for comments such as Disqus instead of native WordPress comments can assist also Varnish in a way. Especially, by not requiring your readers to log in to WordPress and increasing the number of page views — that Varnish can serve out of the cache.
6. Utilize Browser Caching
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. Look into HTTP Cache-Control (specifically max-age) and Expires headers, as well as Entity Tags for more. W3TC integrates support for browser caching and ETags.
7. Use Persistent Object Cache
A Persistent Object Cache helps speed up page load times by saving on trips to the database from your web server. For example, your site’s options data needs to be available for each page view. Without a persistent object cache, your web server must read those options from the database to handle every page view.
Those extra trips to the database slow down your web server’s response times (TTFB) and can quickly overwhelm your database server during traffic spikes. For your site to use persistent object caching, your hosting provider must offer you a particular type of server, a cache server.
Popular cache servers are Redis and Memcached just to be specific. With that in mind, ask your hosting provider to help you install and configure a persistent object cache, and they will recommend the right plugin, such as:
- Memcached Object Cache – Provides a persistent backend for the WordPress object cache. A Memcached server and the PECL Memcached extension are required.
- Redis Object Cache – Provides a consistent Redis object cache backend for WordPress that works with various Redis clients. A Redis Server is required.
Moving on, the next item on the list of the best WordPress website performance tools and practices is content offloading.
8. Use A Content Delivery Network (CDN)
As aforementioned, Cloudflare is a popular Content Delivery Network, which also offers Internet Security services. Plans start from free, but additional features are available for extra costs. It’s a fixed-cost CDN, meaning they charge by features instead of usage. It allows you to route your site’s traffic through its network before coming back to your origin host.
In the same fashion, Amazon Cloudfront uses the Amazon S3 service to provide Content Delivery Network (CDN) functionality for your static files. A CDN is a service that caches your static files on numerous web servers around the world. Providing faster download performance for your users no matter where they are.
It’s recommended that you use Cloudfront in tandem with S3 and not only S3 alone; the costs are not significantly different. On the same note, MaxCDN is a pay-per-usage CDN similar to Amazon Cloudfront. Among the differences are support for Video-on-demand as well as “mirroring” (no uploading required) of files, although you can upload them if you prefer.
Another alternative CDN provider is KeyCDN which provides step-by-step WordPress integration guides on its support page for beginner webmasters. KeyCDN and MaxCDN are among the most affordable CDN options available, they’re able to beat the pricing of competitors like Amazon because they are a division of much larger CDN Providers.
9. Static Content Plus RSS Feeds
Also, moving this content onto different hostnames can lay the groundwork for multiple servers in the future. Some web servers are optimized to serve static files and can do so far more efficiently than more complex web servers like Apache, for example, Lighttpd in this case. There is also Amazon Simple Storage Service (S3) that you can consider giving a try as well.
This is a dedicated static file hosting service on a pay-per-usage basis. With no minimum costs, it might be practical for lower-traffic sites which are reaching the peak that a shared or single server can handle. Forthwith, we can’t forget to mention your website feeds. Your feeds can quite easily be offloaded to an external service.
Feed tracking services like Google FeedBurner will do this automatically, the Feedburner servers will handle all the feed traffic and only update the feed from your site every few minutes. This can be a big traffic saver. Likewise, you could offload your own feeds to a separate server (feeds.yoursite.com for example) and then handle your own feed stats/advertising.
10. Multiple Hostnames And Adding Servers
There can also be user improvements by splitting static files between multiple hostnames. Most browsers will only make 2 simultaneous requests to a server, so if your page requires 16 files they will be requested 2 at a time. If you spread that between 4 host names they will be requested 8 at a time. Technically, this can reduce page loading times for the user.
But, it also can increase server load by creating more simultaneous requests. Also, an issue known as “pipelining” can often saturate the visitor’s internet connection if overused. Offloading images is the easiest and simplest place to start. All image files could be evenly split between three hostnames (assets1.yoursite.com, assets2.yoursite.com, or assets3.yoursite.com).
While it requires additional expertise, adding servers can be a powerful way to increase performance. We highly recommend reading Architecting a Highly Scalable WordPress Site in AWS A guide for building a more expensive, highly scalable AWS implementation using Amazon’s Relational Data Store (RDS).
11. Compression Plus Database Tuning
It also supports output compression such as zlib, see also Output Compression to be precise. It’s also important to compress your media files – namely images. The WP Smushit Plugin can help with this. Moving on, the next useful method is cleaning your database (database tuning). Herein, the WP Optimize Plugin can help you reduce extra clutter in your database.
You can use Amazon’s Elastic Load Balancer to spread traffic across multiple web servers and you can use HyperDB or Amazon’s RDS to run more scalable or multiple database servers.
12. Autoloaded Options Plus WordPress Website Performance Tools
Autoloaded options are configuration settings for plugins and themes that are automatically loaded with every page load in WordPress. Each plugin and theme define its own options and which options are autoloaded. Having too many autoloaded options can slow down your site. Generally, you should try to keep your site’s autoloaded options under 800kb.
By default, autoloaded options are saved in the
wp_options table. Autoload can be turned off on an option-by-option basis within this table. For step-by-step instructions on viewing and changing autoloaded options, check with your hosting provider. If you use a Persistent Object Cache, options (whether autoloaded or not) load faster and more efficiently.
Use These WordPress Website Performance Tools:
- Webpagetest: A tool for testing real-life website performance from different locations, browsers, and connection speeds.
- Google PageSpeed Insights: Measure your site’s performance and receive clear, specific feedback on how to improve.
- The built-in browser developer tools (by Firefox or Chrome) all have performance measurement tools.
A great example of how WordPress has been optimized was presented by Iliya Polihronov at WordCamp San Francisco 2012. Iliya does, among other things, server optimization for WordPress.com. Don’t run a mail server on your WordPress server. For your contact form, use something like Contact Form 7 with a free Mailgun or WPForms reCaptcha tools.
13. Consider The Best Practices For Core Web Vitals
Last but not least, it’s good to concentrate your efforts on Core Web Vitals to measure and implement your critical WordPress website performance aspects. If you didn’t already know, as a webmaster, you can find your website’s Core Web Vitals data in the “enhancements” section of your Google Search Console account. And then, get started for free!
Google plans to make a page experience an official Google ranking factor just so you know. As a result, age experience will be a mishmash of factors that Google considers important for user experience. They are the next evolution in Google’s page experience and performance measurement. For the first time, they’ll be incorporating data from the actual user experience.
As well as lab data, which makes this evolution pretty unique. By definition, Core Web Vitals are a set of specific factors that Google considers important in a webpage’s overall user experience. Overall, they are the subset of Web Vitals that apply to all web pages. Not to mention, they should be measured by all site owners and will be surfaced across all Google tools.
Basically, the Core Web Vitals are the new user experience metrics from Google. These elements are made up of three metrics that webmasters and SEOs will have to keep in mind in the future. Including loading, interactivity, and visual stability. By all means, keep in mind, that succeeding in organic search today requires an SEO audit, thus the Core Web Vitals role.