How to speed up and optimize a WordPress website
WordPress is definitely one of the most widespread CMSs. However, it's pretty slow in default configuration, especially, if the site has a lot of visitors and heavy content. Moreover, since 2010 Google has used page load times as a factor in its search ranking algorithms.
Luckily, the flexibility of this CMS suggests numerous methods to speed up website loading time significantly. You can check your website using online tools such as Google Page Speed to track the website speed results after each step.
Below you can find a few ways to optimize and speed up WordPress. We recommend to use them when building your website.
NOTE: Before proceeding with any changes, make sure that you generate a full backup of your website.
Tips to speed up the website:
- Choosing a theme
- Optimizing images
- Compressing files
- Using caching plugins
- Using browser cache
- Homepage optimization
- Enabling hotlink protection
- Optimizing the database
- Estimating your WordPress website performance
Choosing a theme
A theme plays a key role in a website load speed. If you plan to create a busy blog, we recommend to do the research and testing to find the lightest and the most optimized theme.
The main and the most important rule about choosing a theme for WordPress website is that WordPress theme should correspond to the content of your website. You should define the topic of your website and the content it should be filled with first, and only then choose a theme which will suit for your future website.
Many WordPress themes are flexibly customizable and allow WordPress users to tweak multiple theme options to create the desired look for their website. These options, if they are coded improperly, can create issues with changing theme to another one.
Some WordPress themes which are quite attractive at a first glance, can actually make your website load more slowly than it should. Below are several useful tips which can help you to select the best theme for your WordPress website:
1. The simpler – the better.
2. Choose a theme with responsive layout.
3. Take into account the range of supported plugins.
4. Pay attention to the presence of page builders which come with the theme.
5. Consider SEO friendliness of the theme.
Specialized threads on WordPress forums are the best places to check for that. Here are two examples:
WordPress › Support » Fast theme needed?
WordPress › Support » Fast loading / low bandwidth theme: Appropedia's 13
A number of plugins for reducing image size exists on the web, for example, EWWW Image Optimizer, WP Smush.it and so on. They all have different features and allow you to find the configuration you need. We recommend using the EWWW Image Optimizer plugin.
NOTE: It requires exec() function activated.
Once the plugin is installed and activated, you need to go to Media > Bulk Optimize to optimize your images:
You will have an option to bulk optimize all images in Media library using Start Optimizing option. Here you can also optimize all other images outside Media library such as graphical elements of the theme and so on with Scan and optimize option:
NOTE 1: The optimization procedure requires considerable resources so hitting the CPU resource limit temporarily is probable.
NOTE 2: The plugin allows determining a degree of image compression. For example, if you own a photo blog, note that well-compressed pictures will lose quality.
You can also set the plugin to conduct scheduled optimization in Advanced Settings.
Scheduled optimization does not include Media Library images, because they are either already optimized or will be optimized on upload.
cPanel includes Optimize Website function. It uses Apache's mod_deflate to compress content before sending it to the visitor's browser.
Gzip is the most popular and effective compression method today. If gzip compression is enabled for website content, it generally reduces the response size by about 70%. To gzip your website components, log in to your cPanel > go to Software and Services section > Optimize website menu.
Here you need to select Compress all content and click on Update Settings.
for cPanel paper_lantern theme:
for cPanel x3 theme:
Select Compress all content and click on Update Settings.
Using caching plugins
A number of WP caching plugins are in use, and the vast majority of them drastically improve the page load time.
W3 Total Cache and WP Super Cache are the most popular ones. The main difference between them is that W3 Total Cache is more customizable. W3TC utilizes multiple techniques to improve performance, including:
- page caching
- gzip compression
- CDN (Content Distribution Network) support
- browser caching via ETags
Below are the guidelines for its initial setup and tweaking.
To configure the plugin, go to Plugins > Installed Plugins > find W3 Total Cache > Settings:
NOTE: If you are a shared hosting account user, remember that all available caches should not be enabled at the same time - avoid choosing Toggle all caching types on or off (at once). The reason for this is that if Object caching and Database caching are on, they will trigger resource usage spike without any improvement of the page speed. These caches can be enabled if your WordPress website is hosted on a VPS or Dedicated server only.
Scroll down the page and check Enable next to the following options:
1. Page Cache
3. Browser Cache (more details on browser cache setup in W3 Total Cache can be found in the next paragraph)
Then click on the Save All Settings button.
If you wish to get familiar with all configuration options of WordPress 3 Total Cache plugin, you may find them listed in this article.
Estimating your WordPress website performance
When a lot of plugins are installed on your website, they allow you to enrich your WordPress website functionality and include a variety of custom options for you and your website visitors. The side-effect is that heavy and resource-capacious plugins may slow down your website by consuming the CPU and I/O resources allotted for your website.
To optimize your website efficiently, you should understand which exactly plugin is eating up most of the resources. To check it, you may use P3 (Plugin Performance Profiler) plugin for WordPress. When scanning your website with this plugin, it shows a diagram with the contribution of each plugin to the website loading time and the relative time each plugin loads. It will allow you to determine which plugins make your website load slower and decide whether they can be disabled.
There is another useful plugin for WordPress – Plugin Organizer. It allows you to disable plugins selectively and rearrange the order your plugins are loaded in. It can also improve your website performance.
Finally, once all these measures are implemented, you may check the optimization level of your WordPress website with GTmetrix plugin for WordPress and enjoy the scores you earned!