[21 actions] Speed up WordPress: Get a Super Fast Website Today - a complete guide

Follow the ideal steps to make your website powered by WordPress faster

Your WordPress website is dead in the water if it does not load quickly. It's useless having invested in excellent design, bought great plugins, and spent a fortune in marketing - if your WordPress website is slow, it is literally dead in the water. As the loading time of a website increases, so does user abandonment from your website!

Make wordpress fast

"I would love if SEOs dive into improving website speed, because (unlike a few facets of SEO) decreasing the latency of a website is something that is easily measurable and controllable." Matt Cutts

So how quickly does your WordPress website load? Our site loads in under 2 seconds - and we're here to show you how to make your website load insanely fast too.

As we have heard for a while now, Google considers website speed as one of the indicators that affects search engine rankings. Essentially, a slow load time of your web pages will result in a poorer search engine ranking. Let's also not forget that SEO today is all about a positive user experience. To make your WordPress site rank better, you need to make sure that your website loads quickly - really really quickly!  

So how do we make a WordPress website load quickly? Here are 21 actionable steps to make your WordPress FAST!

Fast Wordpress website - loading screen

Slow loading of your web pages will not only affect your search engine rankings, but can also have many other negative effects: it results in a 7 percent reduction in sales, a 11 percent drop in page views and so on. Besides of course a very frustrated user and a negative user experience. 

Slow website loading - frustrated user meme

 

However, a fast loading WordPress site can help boost user engagement, increase page views and help improve sales.

speed kills conversion rates infographic

Conversion rate vs load time

 

In this post, we’ll share a list of important tips and tricks that will help you improve the speed of your WordPress site, by sharing results from our own experience.

Reduce, Reuse, Recycle 

Essentially, to make your website fast you need to make use of the 3 Rs … Reduce, meaning you need to take all necessary steps to reduce the size and amount of resources your website needs to send to you visitors. You also should reduce the number of so-called requests to your site since each request creates a longer load-time.

Action 1 - Take a benchmark result and a backup!

Before you start optimizing your site - you should check the situation as it is right now. We suggest passing your site through specific sites which measure your site’s speed such as GTMetrix (http://www.gtmetrix.com/) or Pingdom Tools (http://tools.pingdom.com/fpt/). Run your site through these two tools multiple times at different times of the day and take note of the time it takes to load your website. This will be your benchmark against which you are going to measure improvements to your website. 

You should also now take a full and complete backup. Some of the steps which we are going to outline involve some heavy changes, and there’s always a slight risk of things not going as planned. Take a full backup of your site right now, so you can revert to backup of the brown stuff hits the fan.

Actions 2 – Replace your theme with a Clean and Lightweight WordPress Theme

Choosing a clean, minimal and lightweight can do wonders in improving your website speed, and ensures that your visitors will stay a little longer to read your website content. It's not difficult to find a good-looking and fully-functional WordPress theme, however, finding one that makes few HTTP requests should be your ultimate goal (reduce).

Consider this fact: most themes come loaded with an extensive feature set, including integration with social media sites, parallax effect, sliders, various plugins, and other “resource heavy” extensions. With such templates, getting a high score on “Google PageSpeed Insights” can be challenging. By this we don't mean to say that using a theme that comes packed with features is a bad thing. However, if you want a really fast website we suggest is that you should select a minimalist theme which is optimized for speed.

The default Twenty Fifteen WordPress theme is designed for clarity. It is a fast theme that contains lightweight code and only the needed features. Apart from this default WordPress theme, there are 5 minimalist and fast WordPress themes among which you can choose one that best suit your needs:

Neat - Lightweight WordPress with Sass & Bourbon Neat

Neat Lightweight Wordpress Theme - Preview

 

Skadi - Creative & Retina Multi-Purpose Theme

Skadi large preview

 

 

ROSA - An Exquisite Restaurant WordPress Theme

Rosa Teaser

 

 

SEO WP — Social Media and Digital Marketing Agency 

SEO WP fast loading seo theme

 

 

X | The Theme

X Ultimate WordPress Theme Preview

  

Stockholm - A Genuinely Multi-Concept Theme

stockholm multipurpose portfolio theme

Action 3 – Install a Useful Caching Plugin

Installing the right caching plugin should be your second top most priority to speed up your WordPress site/blog. Doing so, will help save a lot of your resources (reduce and reuse) and will load web pages quickly. That's because, instead of sending request to the MySQL database to find and load the requested page(s), the caching plugin will store a copy of your web pages in a temporary file. Rather than consume server resources on every website visit, it will load the requested page from that temporary file without having to send requests to the database over and over again.

Our favorite and recommended caching plugin is W3 Total Cache or WP Super Cache. It comes loaded with all the features that are needed for improving the load time of a WordPress site. We will not analyse these features individually, but suffice to say, this plugin helps thousands of WordPress websites achieve very good speeds.

Open up your WordPress site admin panel. Next, from the dashboard admin screen, click on Plugins → Add New and search for W3 Total Cache. This will produce the following results:

W3 Total Cache

Simply, hit the “Install Now” button, and then active the plugin. 

Action 4 – Enable compression to compress Data and Files before sending

Following this step will ensure that your website data and files are compressed before being delivered to readers' browsers, which helps load the content more quickly (reduce). Basically, compression and decompression of content take less time and helps load the content relatively faster than the larger piece of content.

You can compress your website data, as well as, files using the above described W3 Total Cache, as it comes with built-in support for approaches that help in compression. W3 Total Cache supports caching of minified and compressed style sheets, as well as, JavaScript in memory.

Your host might also support this through the web server - so do enable this via your host too if you can.

compress wordpress images

 

Gzip and compress all WordPress content

Action 5 – Get Rid Of The Plugins You Don’t Need

When using the WordPress platform to build a website, you might become overwhelmed/excited by the wide variety of plugins available online. Whilst researching plugins, you may load your website with too many plugins. Although, having plugins adds specific features on your site, you should make sure you have the absolute minimum amount of plugins installed on your site. That's because, each plugin is creating more resources to load, sending additional database queries, and ultimately results in longer page loading time.

Work really hard on reducing the number of plugins you have installed. It will make a very significant impact on your WordPress websites loading time. 

Ideally you should rid of the plugins that make calls or reference external websites since these plugins are the ones that have a large impact on website speed. This is because you can never know how fast 3rd party sites will load.

If you can replace a number of plugins with one plugin which offers the functionality of multiple plugins, so much the better. And go for WordPress plugins from reputable companies, as opposed to from obscure authors - these are more likely to have been optimized for speed.

Action 6 – Delete Themes That You Aren't Using

When building your WordPress powered site, chances are that you would've installed many different themes to try out which one best suit your needs. Make sure to delete all of the installed themes except for the current theme that you're using.

You can see the number of themes you've installed on your site, by accessing your site's admin dashboard screen. From there, click on Appearance → Theme, and a window will pop up that looks something like:

 

Wordpress themes

 

As you can see in the above image, “BACKUP” is the active theme and rest all the themes like cherry, Twenty Thirteen and others are unused themes.

In order to delete the deactivated theme, click on the theme and then hit the “Delete” button provided on the right corner of the theme, and it will be removed.

Another way to delete the unused themes requires using FTP. Login to your server via FTP, find the folder “yourwebsite.com/wp-content/themes” and delete the theme folders you're not using.

Action 7 – Optimize Your Website Images

Images are a critical component of a website and help increase user engagement, however, they can even slow down your site. So, just like we talked about compressing data of your site in the above mentioned point, you'll also need to compress all the images of your site (reduce). 

One best and most recommended ways to minimize (and optimize) your website images is to use the WP Smush.it plugin. This plugin helps in reducing the size of image files without affecting its quality.

At times, you might not even know that the image files you're using are slowing down your site. But, having WP Smush will automatically scan each and every image that gets uploaded to your site (and already existing images), and get rid of the unnecessary data included in those images.  

The plugin uses lossless compression techniques to reduce the size of the images. While the size of images 'smushes' up to 1MB using the WP Smush.it plugin free version, on the other hand, the pro version compresses the size of images up to 5MB. When using this plugin, you will get results as shown in the below provided image:

WP Smush It Bulk Compression

 

Action 8 – Load Image Sprites Instead of Separate Images

NB: This takes some work - but is really worth the effort in terms of making your website load faster

Another great way to optimize your website images to make improvements in the load time is to combine the images that are a part of your website static elements (like sidebar images, background images, etc.) into sprites. This will save you from having to load separate images - and thus both reduce and recycle the requests used to send resources to your visitors. Rather, you only need to load one single image that contains all the graphical elements. This makes your site very fast because many small images (which is the order of the day for most themes) will create havoc in terms of loading time. Ideally, you should use a theme which already sprites it’s images.

This can be a challenging step for novices since it requires messing with the code. To gain better insight on CSS Sprite, you can refer to a comprehensive guide on CSS Sprite by visiting the link provided below:

https://css-tricks.com/css-sprites/

 

Or you can use this tool to help you create Sprites for your website.

http://spriteme.org/

 

It requires some playing around and tweaking of your theme and CSS, so handle with care ... but you should definitely give this a shot or ask your developer to go down this road.

Action 9– Signup to a CDN (a.k.a Content Delivery Network)

Many popular and big WordPress blogs, such as Copyblogger and several others use a Content Delivery Network (CDN), as it helps boost the speed of their website. The logic behind having a CDN is that: a content delivery network store all of your website static files (like CSS, JS, images, etc.) and make visitors download the files that are present from the physically closest server to their location (reduce the physical distance the files have to travel).

 

With vs Without a CDN

 

For our blog, we've been making use of the MaxCDN and we totally recommend using MaxCDN - you will see another drastic improvement in the loading time of your website. 

Action 10 – Optimize Your WordPress Website Database

All of your WordPress website content (like posts, comments, etc.) will get stored in the database. In addition to this, the database also stores all the settings of your site, including the theme and plugin settings. If you update your site quite frequently, your database is bound to grow in size over time. As you may know, a large database can have a significant impact on your website performance and increases page load time.

You can cut down a lot of your loading time, by cleaning your WordPress database using the WP-Optimize plugin. This plugin does one simple task - it helps in optimizing the WordPress website database by getting rid of post revisions, spam comments, database tables, post trash, and so on.

 

WP Optimize

 

Action 11 – Avoid “Trackbacks” and “Pingbacks” Spam

Trackbacks and Pingbacks are great ways that help WordPress bloggers and publishers to communicate with readers. However, approving trackbacks and pingbacks will display a link and a short description (i.e. excerpt) of an article in the comments section of your site/blog. Sadly this feature typically attracts spammers. In fact, chances are that most of the trackbacks and pingbacks you're receiving are spam.

To solve such an issue, you can turn off the setting “Allow link notifications from other blogs (pingbacks and trackbacks)” from your admin panel. For this, go to Settings → Discussion in your admin dashboard screen and uncheck the option as shown in the image below:

WordPress discussion settings

 

Action 12 – Fix and make Adjustments to the Gravatar Image

If your WordPress website comes with Gravatar support, then every time a user leaves a comment on your blog, each users' gravatar image will be automatically added next to their comment.

This means that the more users' will post a comment, the more gravatar image requests will be sent to the Gravatar servers, which will eventually slow down your site. Perhaps, you may choose to set the Gravatar image to “default”.

mystryman

 

However, when a default avatar image is enabled, your site will still make an external call to the Gravatar site for each single image, causing your site to load slowly.

A viable option is to load your own custom avatar as the default avatar and make your server load the custom avatar, rather than sending requests to the Gravatar servers for loading an image. To do so, simply add the following code in your theme functions.php file:

 

add_filter( 'avatar_defaults', 'custom-gravatar' );

function custom-gravatar ($avatar_defaults)

{

  $newavatar = get_bloginfo('template_directory') . '/images/icon.png';

  $avatar_defaults[$myavatar] = "CUSTOMNAME";

  return $avatar_defaults;

}

 

Next, upload the image of your choice as the new default gravatar to your theme folder: /wp-content/themes/yourtheme. Generally, most of the theme contains an image folder, and so be sure to change the default avatar image to your own image inside the path: images/icon.png 

Action 13 – Make Changes to the Reading Settings 

A WordPress blog page allows displaying 10 posts per page, by default. However, choosing to show a higher number of posts on each page can have a significant impact on your blog's load times. Thus, to ensure fast loading time of your WordPress blog make sure that the default setting in your Reading page is set to 10 posts per page

Additionally, if you produce regular content for your WordPress, then you can share your recent blog entries using syndication feeds. You can also set the limit of syndication feeds as per your requirements (but not more than 10 items).

Lastly, as you may know, WordPress blog entries are listed in RSS feeds. For each of your articles included in a feed, you can select the Full text option. But, in case you write long posts (containing plenty of images), then including all your posts as Full text on one page can increase the page loading time. To avoid such a situation, it is advisable to include a summary that displays only the first 55 words of your post content in the feed and contains an option that let users view the rest of the post on another single page.

Wordpress optimal reading settings

  

All of the above changes require you to make some adjustments to the Reading Settings page in your admin panel. Once, you've made all the changes make sure to click on the Save Changes button.

Action 14 – Get Rid Of Accumulated Overhead

WordPress database stores plenty of extra (and unnecessary) data, including revisions, meta-data (or custom fields), trashed items, and much more.

WordPress tracks post and page revisions by default. The problem is that WordPress doesn't set any limitation on the number of revisions a user can save. Thus, when you're writing a long article, WordPress will save hundreds of revisions, which eventually increases the size of your database. The additional bloat makes the database to load website content in a slow and less efficient manner. Perhaps, you may think about disabling revisions completely, but it isn't a recommended step. A better solution is to set the config file to reduce the number of revisions that are saved in your WordPress database. To do so, you just need to add the following line of code in your theme's wp-config.php file:

 

define( 'WP_POST_REVISIONS', 2);

 

Just like revision data, trashed data take up a lot of space in the database. Therefore, make sure to empty the trash on a regular basis. In addition to this, be careful about making the right use of custom fields. WordPress gives post authors the ability to assign custom fields to any post. The problem with custom fields is that it causes an N+1 Problem. So, in case you've lots of data needed for all the posts, be sure about choosing a plugin or a custom post type to help such an issue.

Action 15 – Improve Script Loading Using Google Libraries 

Warning: this is a controversial action and not everybody agrees with doing this for various reasons.

By default, any standard WordPress site load common JavaScript (or JS) libraries directly from a WordPress install. This can slow down the performance of your site or blog, since users are required to download a JS file at least once. However, using the Google Libraries plugin will let you use the Javascript libraries from Google’s AJAX Libraries CDN, rather than loading the files from your WordPress install. The best part about  Google’s AJAX Libraries CDN is that it doesn't require downloading a JavaScript file at all..

Furthermore, using the files from Google’s AJAX Libraries CDN provide 3 main benefits:

  • It heightens the possibility that your users already have these files cached (recycle).

  • Reduces a substantial amount of load from your server.

  • It lets users utilize the compressed versions of the libraries.

  • jQuery is loaded from the closest Google server (reduce).

How to loads jQuery from Google Library (CDN)

First of all default WordPress scripts are registered via functions.php file and using the function wp_register_script() which takes five parameters.

  1. Name (jQuery in our case)
  2. URL of script (if it is loaded from theme folder or other place outside WordPress code)
  3. Array of any scripts which depend on this script
  4. Script version number (Only optional to keep the track of scripts you have installed)
  5. Load the script in the footer. (by default it is set to load all scripts in header, if this parameter is set “true”, scripts will be loaded in footer instead, so we leave it empty because we want to load it in the header)

Jan from Saotn.nl also made a good point. If you enabled WordPress SSL on your website, you'll need to change the URL to HTTPS, otherwise the scripts will be prevented from loading by the browser.

No HTTPS url: http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js

HTTPS URL: https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js

//Making jQuery to load from Google Library
function replace_jquery() {
	if (!is_admin()) {
		// comment out the next two lines to load the local copy of jQuery
		wp_deregister_script('jquery');
		wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', false, '1.11.2');
		wp_enqueue_script('jquery');
	}
}
add_action('init', 'replace_jquery');

Action 16 – Is Your WordPress Site Still Running Slowly? Try P3 Plugin Performance Profile 

In case your WordPress website is still running slowly, then one possible reason behind the slowdown of your site could be a misconfigured plugin. Simply put, one of your plugins may be causing your site to load slowly. If that's the case, then you would certainly want to find out the plugins that is causing such an issue. For this purpose, you can use the P3 plugin (Performance Profiler Plugin), as it will scan your website and will measure the impact of each plugin on the overall performance of the site. 

The plugin helps in creating simple to read charts, as well as, profiles to give you a fair idea of the plugins available on your site that are causing it to run slowly.

 

Action 17 – Opt For a Good Fast Web Hosting Service

For most (if not all) of the people creating a new website, a shared host appears to be a good bargain, but it comes at a hidden cost which you need to be made aware of. A shared or cheap hosting server will make your website speed incredibly slow, and will increase the down time when you're receiving high traffic on your website.

The reason why hosting is typically cheap is because a LOT of websites are placed on the same server. This causes that server to be overwhelmed and each time somebody visits your website it has to compete for server resources, making each visit to your website implicitly slow.

This slowness and possible downtime, can tarnish your image in front of your customers, and they won't possibly visit your site again. Choosing a good web host is crucial for speeding up your website. And, InMotion is an awesome web host that you should consider for your website. We have chosen InMotion VPS hosting - because we want our website to be really really fast. By switching web hosts we immediately made our website loading time 2 seconds faster without doing anything else! There are many reasons as to why we have chosen InMotion which we list separately here.

We initially had chosen HostGator hosting company for our blog, but as the blog became popular and started receiving heavy traffic, we saw a decline in server response time. No doubt, HostGator is a good hosting company, but we soon outgrew it. As we started evaluating more hosting solutions and ended up choosing InMotion for our blog. Soon we saw improvement in our server response time, as you can see in the below-provided image:

InMotion Loading Time

Advanced Tips: make your WordPress faster using these infrastructure software optimization tips

If your hosting is all within your control and you've got full root access to your software infrastructure, you may want to perform these advanced optimizations to make WordPress fast.

Note that it is best if you hire a WordPress developer to perform these advanced changes, because not having the right skill set may actually break your site.

Optimize MySQL server configuration

Action 18 - Switch your database tables to InnoDB storage engine

The MyISAM storage is outdated, and other faster and better technologies exist. Make sure your MySQL database tables are using the InnoDB storage engine. If you want to really optimize your MySQL, you should alter your database tables to change them to InnoDB.

Execute the result set of the following statement on your database to convert your old MyISAM tables to InnoDB:

SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables WHERE engine='MyISAM' 
AND table_schema NOT IN ('information_schema','mysql','performance_schema');

The output procuded will be something similar to the following:

ALTER TABLE db-name.table1 ENGINE=InnoDB;
ALTER TABLE db-name.table2 ENGINE=InnoDB;
ALTER TABLE db-name.table3 ENGINE=InnoDB;

Run this query on your MySQL to alter the tables to InnoDB for much improved performance.

If this sounds like something you wouldn't be happy doing, you might want to do this with a plugin such as Vevida Optimizer (https://wordpress.org/plugins/vevida-optimizer/, or any other plugins) which can automatically convert the tables to InnoDB.

Action 19 – Optimize the MySQL InnoDB configuration

In action 10 we've seen how to optimize our WordPress website database, which runs MySQL. It is also very important to have an optimized MySQL server configuration.

If you have access to your MySQL installation, server administrators can utilize the configuration settings their MySQL flavor (Oracle MySQL, MariaDB or Percona) has to offer. Since MySQL version 5.5.4, one of the most important settings to adjust is the innodb_buffer_pool_instances and innodb_buffer_pool_size of course.

This former settings divides the InnoDB buffer pool into multiple, separate instances.

For maximum efficiency, specify a combination of innodb_buffer_pool_instances and innodb_buffer_pool_size such that each buffer pool instance is at least 1 gigabyte. To squeeze out more read i/o and write i/o threads, you should also have a look at innodb_write_io_threads and innodb_read_io_threads too.

Ideally, your WordPress database tables need to be of the storage engine type "InnoDB". Jan from saotn.org explains this in detail in this article about InnoDB Performance.

Optimize your PHP settings further

WordPress is built with PHP, and PHP usually runs great out-of-the-box. But PHP can perform much better if you give it some extra love and attention. There are a few settings you really need to have a look at, because not only will it make PHP run faster, but it'll also resolve some common connection errors (such as problems connecting to WordPress.com or Jetpack).

At a glance, here are some settings that need tweaking. Unfortunately, we cannot provide exact configuration values, as they differ per hosting setup. Values mentioned below are provided as-is.

Action 20 – Use and configure OPCache

PHP OPcache is an opcode cache: OPcache speeds up PHP performance by storing precompiled script code in memory, removing the need for PHP to load and parse those scripts on each request. OPCache is bundled with PHP 5.5.0 and later.

In your php.ini, add:

  zend_extension=php_opcache.so

and configure its most important settings:

  opcache.memory_consumption=48
  opcache.interned_strings_buffer=8
  opcache.max_accelerated_files=5000
  opcache.fast_shutdown=1

 

You may use the PHP Runtime Configuration document as a reference: http://php.net/manual/en/opcache.configuration.php. For more details about optimizing OPCache refer to this article also from Jan.

Action 21 - Optimize realpath_cache_size

PHP's realpath_cache_size is another setting you can and should optimize. This setting sets the size of the realpath cache to be used by PHP. This is where PHP caches file locations. Increasing realpath_cache_size may greatly improve PHP performance.

You can use the realpath_cache_size() function to discover the current cache size used, and base your configuration on that.

Create the following cache_size.php file and run it on your install

  <?php
    var_dump( realpath_cache_size() );
  ?>

 

Based on the result of the above, you can increase PHP's default 16K to 128K, or even 192K, depending on your PHP web application.

 

Wrapping Up 

If you take these actions - some of which are of course more involved than others, we are sure you will cut the load time of your WordPress website by a significant amount. These are the exact same steps which we do to make our own website faster, so we're sharing them because they are proven to work for us - so we'll know they'll work for you!

Final Note - the quickest way to make your website faster

We're hosted on InMotion because we care about our website being really really fast, and we're recommending them because we truly think everybody should too - it will give your website an instant boost. Besides loading faster, their servers are safer and their support is better (they do have to metrics to prove these bold claims). Why don't you do like us and give InMotion a try. You won't have to worry about moving your site, they will do it for you for free. We guarantee you'll never want to go back to your old host. They have 90-day money back guarantee, so you don't even have to pay them a cent if you don't like what you see ;) 

Author Biography:

Samuel Dawson is a professional working at Designs2HTML Ltd. Together with DART Creations he has researched and shared his views on how the speed of a WordPress website can be improved. Samuel love is to convert PSD to WordPress with relevant code.

One more thing...

Do you have friends or a Facebook group who you think would find this useful? Share this with them and then let me know what they think.

Want to supercharge your website?

 
Our website loads FAST ... just 1.29 seconds. We're hosted on FAST InMotion VPS servers We want YOUR website to be fast too, so we've gotten you an exclusive deal - 47% OFF for DART Creations friends + FREE domain! Check it out NOW!