19 Easy Ways to Speed Up Your WordPress Site

We will give you 9 Easy Ways to Speed Up Your WordPress Site If you have been part of virtual world for some time, it’s least likely that you haven’t heard about WordPress, but did you know?

When you visit a site and it takes a few seconds longer to load, what do you do? Leave the site or wait patiently for it to load completely? Of course, you will leave the site and it’s not just you.

Most of the web users expect a site to load in 2 seconds or less and if it takes more seconds, they tend to leave the site. And a 1-second delay in page response time will result in a 7% reduction in conversion rate.

Fact of the matter is that WordPress serves amazingly well as an efficient CMS platform, but it can slow down as well if it’s not optimized rightly. And trust me, you don’t want this. Why? Because a study by akamai.com shows that:

  • 47% people showing up on a website expect the page to load in less than two seconds.
  • 40% are likely to move elsewhere from a web page that takes over three seconds to load.
  • 52% of online shoppers confessed to show loyalty to a site whose web pages load quickly.

In this WordPress tutorial, you will see the most effective and tested tips for WordPress speed optimization. These are personally tested ways to optimize a WordPress blog for speed and these simple tips have huge impact on the load time of WordPress blogs and will help you in the optimization of your WordPress blog performance.

Speed Up Your WordPress

So, here I am with these 9 tips to help you get the best of WordPress in speed.

1. Start with a fast and reliable web hosting company

The first step to improving your website speed is to see if you are hosting your site on a good and reliable web host.

I recommend not going for cheap shared hosting solutions, as those are really overcrowded and you might end up sharing your hosting resources with hundreds of other users.

So many hosting companies impose various limitations to their shared hosting plans, hosting (read hording!) hundreds of sites on just one server to slash hosting fees, which chokes the resources. The better alternative is to go for a VPS or managed WordPress hosting depending upon your site visitors, business niche and financial viability.

Nowadays almost all the web hosting companies provide you unlimited storage space and unlimited bandwidth, which is not completely true, because nothing in unlimited. If you are on shared hosting, then storage space and bandwidth, though limited, will be enough to run a low-traffic site.

But as your traffic increases, the servers will experience more load and shared hosting won’t be able to handle all the traffic. At such a moment, switching over to VPS or Dedicated Hosting might be the best idea.

However, if your site is not getting very high traffic and still it’s slow as a tortoise, then it’s time to switch your hosting provider. The most popular ones might be Bluehost (aff.) and HostGator, but I would recommend you to go with A2Hosting

I switched over from Bluehost to A2Hosting a few months back and I haven’t witnessed a single downtime since. And the best part is the customer support because when I submitted a support ticket, it was solved in less than an hour!

2. Choose an efficient framework/theme

Just like choosing a proper web host is important to ensure a low page load time, a good WordPress theme also plays a very important role in the overall page load of your blog.

This is where sometimes even people having years of experience can make a mistake, i.e. choosing an inefficient and heavy framework/theme. Many people trade speed and efficiency of a WordPress framework/theme with unnecessary features, which can affect them seriously.

It’s better to keep away from bloated frameworks loaded with fancy features (which a serious web contender seldom needs) that can delay the process of crawling your blog or site. Similarly, too much plugins also take a toll on your site speed. So, make sure you equip your website with only what it needs to keep up with its functionality seamlessly.

I am using Genesis Framework on most of my sites because it is fast, it comes with built-in SEO features and the customization options are also present. 

3. Resort to helpful caching plugins

A caching plugin can help you a lot in reducing the response time of your website.

Talking of plugins; instead of falling for some fancy plugins that might choke the speed of your site; go for caching plugins, which are designed to help improve page loading time significantly. The best thing is that you can get all of them on WP.org free of cost and they are not complicated to use at all.

In order to check what difference does a cache plugin can make in a WordPress website, we tested a WordPress based website with and without a plugin. The result is shown below as you can see there isn’t much difference in size or request but the load time has decreased significantly improving the speed of WordPress blog.

Based on my personal experiences, I would recommend W3 Total Cache rather than trying anything else. It is loaded with all features that can help you better your site speed.

I have always used this caching plugin on all my sites because it has all the features that you will need to improve the page load time and speed up WordPress blog. You can easily cache your pages with the plugin and also compress CSS and JavaScript as well.

4. Make use of a CDN (Content Delivery Network)

A Content Delivery Network basically takes all the static files on your site and allows the visitors to download them by serving those files on servers that are closest to them.

What it does is collects all the static files present on your website (images, CSS, javascript, etc), places them strategically on a collection of serves across the globe. Now whenever a visitor wants to download them, he is routed to the server located closest to him geographically, saving much of his time doing so.

There is also another aspect to this. Since the content of your site is being loaded from multiple servers in different locations, any traffic spike is least likely to bother visitors.

The best CDN service currently available is MaxCDN

You can check out the pricing for the plan that suits your monthly needs by heading over to the MaxCDN’s homepage.

There is another free alternative that you can use on any number of sites, CloudFlare.

Currently I am not using any CDN network on my blog because I am still working on improving my blog’s traffic and the day my blog is not able to load properly due to high traffic, will be the happiest day in my life!

5. Leverage image optimization

Images comprise more than 50% of the size of any website. They are an essential part of any website but at the same time, they are responsible for the large size of the website. Therefore, it’s important that the images you are using on your blog are optimized properly.

Compress Images: Compress the images you are using on your WordPress blog, you can automate this whole process using WordPress plugins.

Scale Images Properly: You have to display an image of size  500*400 but you are loading an image of size 1240*820 and then displaying it in the size of 500*400. Obviously, this is wastage of resources, you could have loaded the image in the required form which would result in decreased image size and will ultimately improve the load time of website.

Therefore, scale your images properly, you can define the size of images you want to use from settings > media.

Many of you must have used or at least heard of Smush.it, a wonderful image optimizer used by Yahoo. It helps you reduce image file size drastically, more importantly, without affecting quality of the image.

The good news is that you can do the same on WordPress with a plugin called WP-SmushIt for free. In fact, if you have it installed, it will optimize all images that you choose to add to your site by itself, automatically, leaving not much on you to worry about.

6. Don’t forget about WordPress database optimization

Fact of the matter is that you cannot expect a database-driven website (all CMS-based sites including WordPress) to work well without optimizing your database.

By properly configuring the MySQL databases, you can make a huge difference in the page load time and you can do it either manually using phpMyAdmin or do it using a simple plugin.

There are a few things you have to consider in this regard, starting from monitoring code for slow queries. For sites on VPS or dedicated server, enabling query caching and optimizing database server configuration does the trick.

Or, you can resort to a wondrous tool like WP-Optimize plugin, which will take care of all such concerns without even letting you know when and how it’s done. Plus, using this plugin, I can easily remove the useless post revisions, spam comments, pingbacks and trackbacks as well.

7. Homepage needs optimization too

The homepage is the most important part of your blog and if it’s loading slowly, it will leave a bad impression on your visitors.

Though whole of your site should be fast enough, but homepage remains the most important part of your site, as majority of people will land there more than anywhere else on a website. Some of the things you can do to optimize homepage of your website include:

  • Keep less posts on the homepage, anywhere between 5-8 are good.
  • Display a brief excerpt as an intro with your posts rather than showing full post. Show excerpts of your posts on homepage and not complete posts.
  • Use less number of widgets on the homepage.
  • Cut down the number of social sharing widgets on homepage

In short, these are just a few things to help you make your homepage load quick; ultimately do everything possible to keep it this way.

8. Add Lazy Load

Images are a very important part of an article and you just can’t stop using it altogether just to improve the page load time. But you can surely optimize it!

Well, this is another great way of serving your visitors with a quickly loading webpage. It involves loading only those images on a webpage that are above the fold (the images which visitors can see in their browser windows). The next set of images is loaded as soon as a visitor scrolls down, minimizing loading time ingeniously.

This not only results in your page loading quickly, but it also helps in saving your bandwidth, as less data is loaded for users who don’t scroll down through the end.

Whenever a visitor lands on a post on your blog, all the images on that page will be loaded at the same time and thus increasing the server response time. So by adding a plugin called jQuery Image Lazy Load, you can prevent all the images from loading at the same time.

Instead, it will load as the visitor scrolls down and the image appears on the screen thus decrease the response time and improving the speed of your blog.

9. Avoid Pingbacks and Tracbaks

When some other site links to your content, you will receive a notification and it will then update your posts with the trackbacks putting a load on your site.

WordPress is designed to respond to the requests from other blogs featuring pingbacks and trackbacks by default, which ends up harming more than charming when it comes to site speed. Turning this intrinsic feature off in your WordPress settings will not affect the backlinks strengthening the position of your website; it will just reduce extra labor.

So you just have to go to the settings area and disable the trackbacks and pingbacks. This will not remove your backlinks on the other sites, but it will just prevent WordPress from updating your post.

10. Enable Gzip compression

There are many plugins that will add Gzip to your blog easily, but that would mean adding yet another plugin that is completely useless because adding Gzip manually to your website is very simple.

You can add the following code to your .htaccess file (found in the root directory of your server):

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

Once you have added it and saved the file, you can test the compression by running your website in the Check Gzip Compression tool.

11. Leverage Browser Caching (Add Expires Header)

The reason you should use browser caching is that whenever you visit a website, all the media files will be loaded and stored in a local folder and the next time you visit the same site, all these files will be loaded from the local folder instead of making HTTP requests.

You just have to add the following code to your site’s .htaccess file:

## EXPIRES CACHING ##

ExpiresActive On

ExpiresByType image/jpg “access plus 1 year”

ExpiresByType image/jpeg “access plus 1 year”

ExpiresByType image/gif “access plus 1 year”

ExpiresByType image/png “access plus 1 year”

ExpiresByType text/css “access plus 1 month”

ExpiresByType application/pdf “access plus 1 month”

ExpiresByType text/x-javascript “access plus 1 month”

ExpiresByType application/x-shockwave-flash “access plus 1 month”

ExpiresByType image/x-icon “access plus 1 year”

ExpiresDefault “access plus 2 days”

## EXPIRES CACHING ##

The above code will tell a browser to cache the media files for a certain span of time. (Source – WPSquare)

12. Check Which Plugins are Slowing Down Your site

When you are using a lot of plugins on your site, it is possible that some of it might be responsible for the slow page load of your blog.

To identify the impact of the plugins on your page load time, you can use a WordPress plugin called P3 Profiler.

This plugin scans your pages and shows you which plugins causes the maximum impact on the speed of your WordPress blog. But one thing you have to note here that, after a scan, it will show you a message about certain plugins that show artificially high results. So don’t start removing the plugins if they are very important.

13. Minimize the number of HTTP requests

Number of http requests does have a huge impact on the load time of your WordPress website, by reducing the number of http requests you can improve the speed of your WordPress website.

Browsers have a specific limited number of http requests they can handle simultaneously to a domain. For example, like there are 10 images,1 CSS, and 2 Javascript files to be downloaded, total 13 files have to be downloaded and the browser can handle only 6 http requests at a time, that means the browser will first download 6 files after that another 6 files and after that the remaining 1 file which will obviously take time. Therefore, by reducing the number of these files, we can speed up our website.

Factors responsible for number of http requests:

  • Number of CSS files (Themes and plugins both can have CSS files)
  • Number of Javascript files (themes and plugins can have javascript files)
  • Number of Images (Most of the images are used by your posts)

How can you reduce the number of http requests:

  • See, if you can combine the CSS files. You can try plugins or use a caching plugin.
  • You can try combining the Javascript files.
  • You can try merging two images into one, as each image makes one http request.

You can use the plugin WP Asset Clean up, it gives you more control on javascript and CSS files.

14. Minify CSS and Javascript

WordPress websites do have at least one CSS file and few Javascript files.

By minifying Javascript and CSS we simply refer to decreasing the size of these files, there are numerous ways to reduce the size of these files. However, I’ll not recommend editing anything in these files until you know what are you doing.

When you use a lot of plugins on your website, there will be a number of JavaScript and CSS files that will load individually on every page load. So it is a better idea to put all the JavaScript files in to one JavaScript file and all the CSS files in to one file.

You can do that by using the Minify section in the W3 Total Cache plugin and you can also place them in the footer section to reduce the HTTP requests.

But if you want to use another plugin, then the best options are WP-Minify and Better WP Minify, that will combine all your JavaScripts and CSS files into one,reducing the number of requests and improving the speed of your blog.

15. Remove Post Revisions

Whenever you start working on a new posts, you will save your posts as drafts a number of times. WordPress also saves the posts automatically so that if your PC shuts down for some reason, you won’t have to worry about your posts.

But when you finally publish your post, there will still be some copies of your posts saved as revisions or drafts which you don’t need at all, since the post is already published.

So you just have to remove this revisions to improve the loading time. You can do it easily by using a plugin called Revision Control. But if you have WP-Optimize plugin already installed, then it will remove these revisions and auto-drafts from your blog.

16. Disable Hotlinking and Leeching of your images

“Hotlinking” is a kind of a bandwidth theft that occurs when some other sites link to the images on your blog directly from their articles. This will increase the load on your server drastically.

The load will keep on increasing as more people scrape your content and if you use custom images on your site then disabling hotlinking and leeching of your images is a must.

To do that, you just have to add the following code to .htaccess file on your server:

#disable hotlinking of images with forbidden or custom image option

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?codingace.net [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?http://feeds2.feedburner.com/codingace [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

When adding these code, replace my domain with your domain name and also add your feeds URL so that the feed readers are able to see the images.

You can even make a custom image saying “Stealing is Bad” which will replace all your images when someone scrapes your content. 

17. Break Comments into Pages

If your blog posts attract a lot of comments then you must break it down into multiple pages to reduce the page load time.

When you show all your comments on the same page, it will take a long time to load each and every comment on the page. So you just have to go to your blog’s setting area and break down the comments into pages.

18. Split Long Posts in Several Pages

When you are going to write a post about 100+ resources, then the post will also contain 100+ images on the post. So if you just keep the images on the same page, it will put a lot of pressure on the server and increase the page load time.

But you can easily speed up WordPress blog by splitting your post into multiple pages. You can make 25, 50 or even 100 pages from a single post showing only a few resources per page. This will not only make it easy for the visitor to go through every resource, but the page load time will also improve.

You can do so by just adding the following code to your post whenever you want to split pages:

<!–nextpage–>

Check out all such codes that you can use in your posts.

19. Decrease number of fonts you use

If you are using fancy fonts or too many different types of font on your pages, you should remember that this will have a huge impact on your website loading time.

You should use only one type of font in your whole blog.

If you use google fonts, you can see the impact of fonts on the loading time at the google fonts website (An example image is shown below). Choose a font which has minimum impact on the load time of your website.

Over to you now

This is where my list to improve WordPress site speed ends for now, but this can’t be all about it, surely. That’s why I am handing it over to you now; feel free to share your experiences and opinions with us on this in the comment section below.

Add a Comment

Your email address will not be published. Required fields are marked *

ABOUT CODINGACE

My name is Nohman Habib and I am a web developer with over 10 years of experience, programming in Joomla, Wordpress, WHMCS, vTiger and Hybrid Apps. My plan to start codingace.com is to share my experience and expertise with others. Here my basic area of focus is to post tutorials primarily on Joomla development, HTML5, CSS3 and PHP.

Nohman Habib

CEO: codingace.com

Request a Quote