18 Tricks To Speed Up WordPress Website or Blog

WordPress is a good CMS solution and even better blogging platform, but most sites using WordPress are not maximizing its potential. Performance is one of the important factor of a successful website. In this article we have compiled a list of useful tips, tricks, hacks, and plugins that can be used to speed up WordPress and boost it’s performance.

These tricks are for different skill levels and some might even seem very obvious to you, but please bare with us as we want to satisfy the needs of users on all skill levels. These tricks are very easy to implement, so you should start now.

1. Cache Complete Generated Pages

WP Super Cache

WordPress is a PHP script, so everything is dynamic, which means every time a page is loaded, WordPress must execute the queries hence making the site load slow and even crash due to the server load if you experience high traffic. The best solution to this problem is by using static pages. A plugin called WP Super Cache cache complete generated pages and serve those to your users instead of processing the heavy dynamic queries. Once you have installed this plugin, you will see significant decrease in your site load time and much more efficiency in the usage of server resources.

2. Disable Hotlinking and Prevent Leeching

Stealing is Bad

Hotlinking is also known as bandwidth theft. It is when other sites direct link to the images on your site from their articles making your server load increasingly high. If one site does it, it might not make a significant difference, but there are too many spammers that will do this and that is something your server cannot hold specially if they copy your article with a lot of images. No matter how good your web host is, it will be slowed down if hotlinking is not prevented. There are a few ways you can disable hotlinking. First way we will share is through your root .htaccess file where you will place this code below:

#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?wpbeginner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?feeds2.feedburner.com/wpbeginner [NC]
RewriteRule .(jpg|jpeg|png|gif)$ – [NC,F,L]

You can make an image that will replace all hot linked image that will say Stealing is bad or something so it makes the spammer look stupid.

Remember you must allow your feed otherwise your feed readers would not see any images.

Source: Josiahcole

3. Choose a Good Web Host

Choosing the Right Web Hosting Service

This might seem like a very obvious one, but a lot of the times people try to save a few bucks and compromise quality. It is not worth it. Pay the extra few dollars and get a better web host. One that is reliable and have strong servers. We have a beginners guide at WPBeginner where we help you choose the web host for WordPress.

Some good and affordable web hosts:

4. Split Long Posts in Several Pages

If you are making a mega resource which will require you to list about 100+ resources and you will have 100+ image on the post. It is best that you split the post into multiple pages, so each page loads much faster, and you increase your pageviews. This is very easy and it is doable from the WordPress admin panel if your theme already has this function. When writing the post you just have to enter the following code when you want to split pages:


You must make sure that your template has the function. Check out the Template tags in the Codex.

5. Use Excerpts and Limit the Count of Posts Displayed on Blog Page

Use Excerpts on Blog Page

You should never show full posts in the main blog page because you have 5 or 10 total posts on the same page. If each of your post is a list post and it is displayed in full text mode, then it will be very inconvenient for your users because the page will take immense amount of time and server resources to load. Therefore you must use excerpts and limit the count on how many posts are displayed.

In order to display excerpt, you must visit your index.php and find:

<?php the_content(__(‘(more…)’)); ?>

Then replace this with:

<?php the_excerpt(__(‘(more…)’)); ?>

Now the second step is to limit the number of posts being displayed on your blog page. You can do that through the WordPress admin panel under the tabs Settings > Reading:

Post Count on Blog Page

6. Optimize Your MySQL Database

Optimizing your MySQL Database can make a difference in your load time. There are two ways of doing this. One way is manual hard core way. Another way is a plugin. To do it manually, you need to go to phpMyAdmin and select your database. Then towards the bottom, click check all to select all tables and then towards the center of the screen, there is a drop down menu, click optimize tables there.

Optimize MySQL Database

If you don’t want to do it manually then Joost De Valk has a plugin for you. It is called Optimize DB, this plugin does exactly what we mentioned above except you don’t have to mess with phpMyAdmin.

7. Reduce the Use of External Websites and Scripts

Try to avoid relying on external scripts whether it is directly or through the plugin. Some plugins like MyBlogLog and others can take a lot of time to load depending on the server connection. They can often be the reason for page not loading properly if you are experiencing high traffic. To display widgets from top directories, alexa and others in your sidebar only slows your site down. Try to avoid it as much as you can.

8. Add Expires Header to Static Resources

An Expires header is a way to specify a time far enough in the future so that the clients (browsers) don’t have to re-fetch any static content (such as css file, javascript, images etc). This way can cut your load time significantly for your regular users.

You need to copy and paste the following code in your root .htaccess file:

ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000

The number 2592000 stands for the number of seconds in a month. You can change that number to anything you desire.

9. Use WP-CSS


WP-CSS is a plugin that uses shorthand technique. It GZIP and strip whitespace from your CSS files. It allows you to confidently use @import inside a CSS file and not worry about what happens on the user’s end. It will look through your style.css file and put any @import files into it. Using shorthand technique can make a difference in your site load time because it makes the file size smaller.

10. Compress JavaScript Files

JavaScript files are loaded in almost every page and sometimes they can be large files. Even if it is a small file, being repeatedly loaded can eat your resources and have an impact on your load time. You can use the compressors to compress the JavaScript and save resources as well as increase the speed of your WordPress site.

11. Reduce Image Sizes

This one is a gimme, but it must be reiterated here. Images help make your blog posts lively, but you do not have to put extremely high resolution images in your blog posts and even in your web design. The bigger your image, the slower your site will load and the more server resources you will use. If an article with images gets popular in social media and you get tons of traffic, you can even get suspended from your web hosts if you exceed the limits. Therefore it is best if you have low image sizes. You can obtain this by using a plugin called WP Smush.it. This plugin reduces the image size with minimum quality loss. You can also use this directly from the site Smush.it.

12. Do a Plugin Check and Remove Inactive Plugins

If you are using more than 15 plugins on your blog then you need to check to see if you really need all of those. If you don’t then you need to delete them. Also remove the inactivate plugins from the site. While checking for plugins, make sure that you use the proper format when including the plugin in your template files. Instead of including the code like this:

<?php refer_thanks(); ?>

You should add it like this:

<?php if (function_exists(‘refer_thanks’)) { refer_thanks(); } ?>

Having it this way ensures that WordPress will only pull that code on the page if this plugin is active. If you use the first way of coding, and you inactivate the plugin, your page will load with error and sometimes it even displays on the page that there is an error.

Source: Yoast

13. Cache Your Database

WordPress is fully integrated with MySQL therefore when a page is loading, multiple database queries are being executed which takes time. A plugin called DB Cache caches the database query and make the site load much faster.

14. Split Comments into Pages

Every site has few articles that went viral. These article generates tons of comments and they can consume enormous amount of server resource upon each visitor loading the page. Or maybe your blog is already popular and you are getting a good discussion going in your posts, then it is recommended that you paginate the comments to increase your site loading speed and save server resources. This can be done by going into Settings > Discussion in your WordPress Admin Panel.

Paginate Comments

15. Reduce the Number of Database Calls

Database calls make WordPress so dynamic, but sometimes you can live without it. By replacing simple text, you will be able to increase your WordPress speed. To give an example look at your header.php code which looks something similar:

<html xmlns=”http://www.w3.org/1999/xhtml” <?php language_attributes(); ?>>
<head profile=”http://gmpg.org/xfn/11″>
<meta http-equiv=”Content-Type” content=”
<?php bloginfo(‘html_type’); ?>;
charset=<?php bloginfo(‘charset’); ?>” />

This code above is calling useless database queries which you can simply put in as text. Like in the example below:

<html xmlns=”http://www.w3.org/1999/xhtml” dir=”ltr”>
<head profile=”http://gmpg.org/xfn/11″>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

By making it slightly less dynamic, you have saved yourself some load time. If you get a custom theme designed for a specific WordPress site then there is nothing wrong with removing these because it will only be used by you.

You can also reduce database calls by doing the following:

  • make your stylesheet URL’s static
  • make your pingback URL static
  • make your feed URL’s static
  • you can remove the blog’s WordPress version

Source: Yoast

16. Cutting Down the Size of MySQL Database

When writing posts, now WordPress actually autosave which even after the post is saved, the revision articles stay in the MySQL Database. Bigger database also bring the site load time down. If you are not using Revisions then you can remove them by adding the following code to your wp-config.php

define(‘AUTOSAVE_INTERVAL’, 500 ); // seconds
define(‘WP_POST_REVISIONS’, false );

You can also delete unnecessary tables from the Database like:

DELETE FROM wp_posts WHERE post_type = “revision”;

Note: Only do this if you don’t use revisions. If you like to have revision in WordPress then do not take this action.

17. Stay Updated with the Latest WordPress Version

Ofcourse this is a must. You should always stay updated with the latest stable release of WordPress in order to boost performance of your site. If you don’t do this, you are also putting your site in security risks.

18. Display Page Loading Time and Queries

Display Query and Loading Time

In order for you to track how well your site is doing, it is wise to add this code in the footer. If it is a low number then it means your site is at its potential. Just paste this code in order to display page loading time and queries:

<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.

What tricks do you use to speed up WordPress? Share it with us in the comments. We will add it in the post, so everyone else can use it as well.

Previous The BEST Free WordPress Ping List for Your Blog
Next WordPress.com, Why not use it?

About author

Jarrett Gucci
Jarrett Gucci 289 posts

Jarrett Gucci is the owner of Dynasty Web Solutions. A full service Internet presence provider specializing in WordPress development for business owners. Jarrett Gucci along with his team of professionals have designed over 400 WordPress websites. Jarrett Gucci believes strongly in creating websites that are unique, functional and generate referrals.

You might also like

WordPress Resources 0 Comments

Top 11 Shopping Cart Plugins for WordPress (5 are FREE)

WARNING – Video is mildly funny only! A WordPress shopping cart plugin can instantly turn your WordPress site into a full blown online ecommerce store. Nowadays there are many WordPress

WordPress Resources 0 Comments

WordPress Developer Client Contract Template

If you are running a WordPress design business it is always best practice to operate with a WordPress Developer Client Contract.  If you are using one, you are protecting both

WordPress Resources 0 Comments

Top 10 FREE WordPress Plug-ins That Are A Must To Have

  WordPress Plugin HOT List: This is a HOT list of 10 plugins every WordPress Website or Blog should have installed.  These plugins will give your Website or Blog the

WordPress Resources 0 Comments

The 4 Best WordPress Traffic Monitoring Plugins

The best way to track who and how many people are coming to your blog is to use a WordPress traffic monitoring plugin. There are plugins to simplify the use

WordPress Resources 0 Comments

The Best Way to Backup WordPress – Step by Step

ContentsBackup Before You CrackupSTEP #1STEP #2STEP #3STEP #4STEP #5 That is it.  Let me know if you want to know how to restore as well. Backup Before You Crackup WordPress

WordPress Resources 0 Comments

WordPress Websites Are Better Than All Others

WordPress based websites are faster to setup, easier to maintain, easier to market and extend. About 2 years ago I started messing around with WordPress and have been deploying WordPress


No Comments Yet!

You can be first to comment this post!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.