WordPress speed – How to reduce your load time to under 1 second

One of the most common queries we get at WP Curve is ‘can you make my site faster?’. Website speed is important for a variety of reasons. Here are 4 key reasons:

  • A faster site will increase your conversions.
  • A faster site means Google will love you.
  • A faster site will provide a better experience for your customers and visitors, resulting in fewer bounces.
  • The speed of your site is part of your brand.

The final reason was the most important to us because we’re a WordPress support provider. In this post, I’ll run through some very specific actions you can take to speed up your website. We’ll use our site as the benchmark and demonstrate how we reduced our page load time to under 1 second. We’ll also address the common reasons for slow websites, so you can work out which ones you need to deal with in order to improve your own page speed. Find out how to reduce your WordPress load time to under 1 second – CLICK TO TWEET Before and after results Here are some before and after results from our site.

wordpress_speed_before

Our original site was put up quickly and like many websites, we added things over time that weighed it down. When we decided to invest properly in the site, it was clear it had to be completely re-developed. The result above, 5.2 seconds is just outside the acceptable range for a typical small business. But we wanted to demonstrate best practice and get the download time to under 1 second. Note the result above was when we were hosted on our own Virtual Private Server (VPS), running W3 Total Cache and running a Content Delivery Network (CDN) tool CloudFlare. It was as bad as 10 seconds without any caching. Here’s how it’s looking now:

wordpress_speed_after

Note the Pingdom speed test tool can be a bit inconsistent, but I’ve had consistent times of under 1 second which was our goal. Ok let’s get stuck in to the major ways you can speed up your site.

Hosting

The quickest and easiest win you can have with page speed, is upgrading from a cheap shared hosting provider to a managed WordPress host. Cheap hosts are good for when you are starting out, but for ultimate performance you can’t match a managed WordPress host. Even our clients who have signed up with a dedicated server or a VPS (Virtual Private Server) struggle to match the performance of a managed host.

As you can see from our results above, just having your own server doesn’t mean your site will run quickly. We host on WP Engine and noticed an immediate 54% speed improvement the day we moved. They have a smart way of managing WordPress sites. They limit certain plugins, have different ways of managing caching and re-directs and have a built in CDN that serves images and other files at lightning speed. Prior to WP Engine, we were hosted on our own VPS and we had a CDN as well as a caching plugin installed. So a 54% speed improvement was pretty remarkable.

If you want to know if your host is an issue, here are 2 easy tools you can use. Google PageSpeed Insights A really quick and dirty test is to enter your domain into Google PageSpeed Insights. If one of the issues raised is ‘Server response time’, then you can get a big win from hosting with a fast host.

server_response_time

I’ve seen these as high as 5+ seconds which is obviously a big problem if you want to get your entire site to load in a few seconds. This is just the time it takes to hear a response from the server, let alone load the whole site. Pingdom Speed Test Tool The Pingdom Speed Test Tool will give you some quick information about the speed of your site. This doesn’t just relate to server speed, it will give you a lot of useful and actionable information. Here’s a rough, subjective guide of what is acceptable:

  • Under 1 second is excellent
  • Under 2 seconds is good
  • Anything around 5 seconds or more requires action

These times can be influenced by a lot of things, but as a guide if you are under the 2 second mark, you probably won’t experience a huge win by changing hosting.

Plugins

It’s not just speed. Your choice in plugins will be a common reason behind a lot of WordPress problems. Because plugins are written by different developers with varying skills, you need to be careful what you install and how many you install. As a general guide, we like to keep sites to under 20 plugins. A better rule of thumb is ‘less is best’. If you can have 0 then that’s fantastic, but probably unrealistic. We have 2 recommendations here: Remove any plugins you don’t need Remove any inactive or active plugins that you don’t need. Here are the plugins we removed and the reasons for removal:

  • Akismet – We use Disqus which is great spam filtering for blog comments.
  • CloudFlare – We are no longer using CloudFlare as we use the CDN that is part of WP Engine (Max CDN).
  • W3 Total Cache – This is best done at the server level and we now use WP Engine’s caching features.
  • Backup buddy – Again backups are best done at the server level, WP Engine handle this in a very simple way.
  • C Metrics – This is our own analytics plugin. It provides great information but we can get the data outside of WordPress. If your priority is speed, then these sorts of plugins can be left out.
  • Price Table – We coded our own pricing table into our sign up page.
  • Slingpic – This gave sharing options for images which I don’t think people tend to use too much. We can live without it.
  • WordPress Importer – This is a plugin that is often left installed after moving sites. We removed it. There are a lot of plugins that you only tend to use once that are best removed after use.
  • Youtube Shortcode – We use LeadPlayer to handle videos so we could remove this plugin.
  • Zilla Shortcode – We weren’t using it.
  • All In One Favicon – WE included the favicon code in the theme so we could uninstall the plugin.

This left us with 16 plugins on the site. Note I’m not saying these plugins are bad. This is just typical of a small business website. If you aren’t checking regularly you end up with a bunch of plugins that you can live without. Removing plugins generally means doing one or more of the following:

  • Going without certain features, if you decide that speed is more important.
  • Using plugins that perform more than 1 function instead of 2 plugins. For example using WordPress SEO from YOAST as the SEO plugin and for site maps. We see a lot of clients with 2 separate plugins not realizing that YOAST already creates site maps.
  • Removing any plugins that are particularly slow. The P3 profiler plugin can be used to find slow plugins, but make sure you remove it after you use it because the plugin itself will slow your site.
  • Performing other functions outside of WordPress. For examples analytics, email, backups or broken link checkers can all be done outside of WordPress.
  • Disabling plugins you only use from time to time. For example the WordPress importer is a common one. If you aren’t using the plugin regularly, you can remove it and add it later when you need it.

Avoid problematic plugins There are certain plugins that we’ve found can really slow down sites. I won’t mention specific plugins here because we are often going back and forth with plugin developers to get them to resolve issues. However there are a few common culprits.

  • Premium plugins with encrypted code. The plugin has to go back to a 3rd party server and decrypt the code, and that process slows the load time significantly.
  • Re-direct plugins with lots of redirects. They can dramatically slow down the speed of the site.
  • Any plugin that performs a lot of database queries. WP Engine have a good list of these plugins here. ‘Related post’ plugins are a common problem.

Plugins can have a huge impact on your site speed so be careful about what you install.

Site size

A common reason for sites being slow is because of the size (in kilobytes) of all of the elements that make up the site, namely scripts and images. The Pingdom Speed test tool can tell you how big your site is. Our site was only 1.4 MB, which is OK. We’ve seen plenty of sites that are 4mb plus and that will have a massive impact on your download speed. Here are some rough, subjective guidelines around the size of the site:

  • Under 500kb is excellent
  • Under 1mb is good
  • 1-3 mb is acceptable
  • 3mb plus requires action

The culprit for a large site is often large images. Here are 2 ways to find if you have images that need to be optimized: The quick and dirty way is to use the Pingdom site speed test tool and after you run the test, click the drop down and choose ‘Sort by file size’. If you have images in here that are over 100kb then you can take action on those images.

site_speed_image_size

A better way is to use GT Metrix. Visit GT Metrix, enter your domain name and run the search. This will give you a bunch of important facts and specifically lists all of the images that need to be optimized. It even optimizes them for you which is a neat feature. You’ll have to download them and replace the ones on your site.

page_speed_images

Here are a few other tips for optimizing images inside WordPress:

  • Optimize all images before you load them into WordPress. As a general rule, I like all images to be well under 100kb. Simply right click on the image on your computer’s file manager and choose Properties. If the size is bigger than 100kb then it’s too big. Use an image editing program or a site like picresize.com. You’d be amazed at how many speed issues are resolved by optimizing a few images.
  • Use the exact required size for images and don’t rely on your theme to resize them. For example, if your theme shows featured images at 120px wide, make sure you create them at exactly that size.
  • Squish existing images with a plugin called Smush It.
  • Use less images. You can use more CSS and less images to reduce the overall size of images. Alternatively, you can reduce the overall length of your pages which will also reduce the amount of images used.
  • Deliver your media files via a CDN. CDN’s like MaxCDN or Cloudflare can serve your images quicker. Managed WordPress hosts like WP Engine have a CDN as part of the package. If you aren’t on a managed host you can sign up for CloudFlare. WP Engine uses Max CDN on the pro plans and up.
  • Cache your images. If you aren’t using server caching or a managed WordPress host, you can cache your images with a plugin like W3 Total Cache. This improves the download speed, although I prefer having this handled by the hosting provider.

Reducing external scripts

A really common cause for slow WordPress sites, is the existence of too many external scripts. Having Facebook like buttons, your Klout score and offsite videos are examples that can have a big impact on the load time. Once you load from other sites, it limits your options in terms of how you can treat that script. Simply removing some of these features can have a big impact on your site speed. On our blog, we ran with a minimalist design that focuses on the content. We removed Facebook and Twitter share totals from the blog homepage. We don’t use any externally hosted Infusionsoft forms. We compromised by keeping Disqus and SwiftType, because they are exceptional plugins. For others, we decided we could live without the feature in favor of having the blog load quickly. Simply deciding that you can live without certain features is sometimes all it takes to get a significant boost in speed. Here is a list of some common external scripts:

  • Video scripts like Wistia or YouTube embed scripts.
  • External commenting plugins like Disqus or Google+ comments.
  • Social media buttons like Twitter follow buttons and Facebook like buttons.
  • Social sharing plugins for blog posts.
  • Live chat plugins.
  • Conversion plugins like pop-up scripts and opt in forms.
  • Analytics services like Google Analytics or Infusionsoft web tracking.
  • External font scripts like Typekit or Google Fonts.

Not to say you should always turn these off, it’s all a compromise you may really want some of these features but you can compromise on others. To work out which scripts are particularly big, you can use the same approach above with the Pingdom Site Speed Tool and filter by size. GT Metrix will also tell you how many external JavaScript files your site is loading. From there you might decide you can live without some of them, combine them or make them load later (more on this later).

Too much ‘baggage’

One thing that could be slowing down your site is the sheer amount of ‘stuff’ that has accumulated on your site over the years. We found a big improvement just from re-doing the theme on our site from scratch. Even though we’d only built the old site 8 months ago, we’d added to it quite a bit and it had filled up with code that wasn’t necessary. Coding a new theme from scratch meant a lot less code. This is not the only type of ‘baggage’ that can slow down a WordPress site. Here are a few other manifestations:

  • Databases that have become huge, particularly WooCommerce sites with lots of old orders.
  • Sites that are filled up with too many images or too many backups that clog up the server.
  • Too many plugins.
  • Too many themes.

There’s no real quick fix to the baggage issue other than to regularly keep an eye on your site and clean it out. If you’re not sure how to do it yourself, it’s probably best to find a developer to do it for you. A few improvements could be:

  • Removing older orders or making database changes in ecommerce sites. Changing from MyISAM to InnoDB can help sometimes (ask your developer about that).
  • Removing old backups, particularly if there are backup plugins running.
  • Removing old themes and unused plugins that are taking up space.
  • Reviewing your theme code or even starting fresh every few years with nice clean code.
  • Removing any spam comments or trackbacks that you don’t need.
  • Removing older installations of WordPress on your server.
  • You can also store media files like PDF downloads externally on Amazon S3.

Think of it as servicing your car. You can’t leave your website in the same state year after year and expect it to perform the same way.

Speed up high traffic pages

I’ve read a few posts about how to speed up your site and very few mention this simple tip. It’s likely that 80% of your traffic is hitting only 20% of your pages. For maximum impact, it makes sense to optimize the most popular pages. We pay particular attention to our homepage. That’s not only a high traffic page but it’s the one that has the biggest impact on our brand. First visit Google Analytics, then click Behaviour / Site Content / All Pages. I’m willing to bet your homepage is top of the list. You can apply the same approach to any other high traffic pages.

  • Simply make it smaller. Include excerpts instead of full posts for example or just have a shorter page with less content.
  • We took the SSL certificate off our homepage and moved the signup to a dedicated page. I didn’t look at ways to optimize this, but we wanted a dedicated payment page either way and removing the SSL was one thing that could go.
  • Avoid poorly coded scripts. Some sliders for example can decrease load time by loading a lot of images at once or overloading JavaScript.

Making your home page and other high traffic pages faster will improve the speed for 80% of your visitors.

Some more advanced techniques

The techniques mentioned above should be enough to get your site load time into the good range (under 2 seconds). If you are really keen, there are some more advanced things you can do:

  • Don’t load some scripts on high traffic pages. In our case, we moved our live chat script from the homepage and instead put a ‘contact’ us link up the top. We use the live chat script on the contact page. Another example is plugins that aren’t used on the homepage like the SwiftType search plugin can have its associated scripts loaded only on the blog pages.
  • Use CSS sprites to combine little images like icons. This is a small win, but it all helps.
  • Loading scripts asynchronously means the page will load before the script has to load in. If it’s not something that is needed right away this can be a great idea. We did this for the video script and the live chat script on our site as an example.
  • Check that you specify the image dimensions in the HTML code for all images. The GT Metrix report will pick these up for you.
  • The piece of code below in your theme’s functions.php file will remove query strings from static resources. This ensures that they are cached like other elements.


function ewp_remove_script_version( $src ){
	return remove_query_arg( 'ver', $src );
}
add_filter( 'script_loader_src', 'ewp_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', 'ewp_remove_script_version', 15, 1 );
Thanks to Doug from Efficient WP for supplying that code. He has some more tips here on WordPress speed. Some things are more important than speed Just as a final thought, it’s worth keeping in mind that speeding up your site involves compromise. We could probably get our site loading much quicker if we wanted. But there are always competing priorities like:

  • We want a nice design so we do have a few images on there that take a bit to download.
  • There are some plugins that give us functionality that we don’t want to live without.
  • We don’t want to go hacking plugins, so we put up with some performance hits from a few plugins that we do really like.
  • I could get my developers to constantly tweak the site and scrape a few more milliseconds out of it, but that’s time they aren’t spending helping clients.

I think if you can get your site under 2 seconds then it becomes about prioritization. If it’s important that you have a nice design, you probably do need some decent size images on there. If there are some plugins you can’t live without, it makes sense to keep them and take a bit of a hit speed wise. Summarizing WordPress speed You can really go deep on speeding up your WordPress site. You could probably spend weeks fine tuning all of the elements and getting it perfect. But for most people, there are a few major reasons why their site is running slow. And if you don’t deal with these issues, the fine tuning is a waste of time.

  • Quality of your host.
  • Physical size of the site, generally due to images.
  • Number and quality of the plugins used.
  • Number of external scripts running on the site.
  • Extra baggage built up over time.

Improving conversions and user experience will also help your rankings in Google. To help you implement the modifications required, we have created a free downloadable WordPress speed guide. Download it for free below.

wordpress speed guide download

If you have any questions about WordPress speed, please reply in the comments below. If you are interested in support with your WordPress site check out WP Curve.

About

Dan Norris is a co-founder at WP Curve and a passionate entrepreneur with an obsession for content marketing.

  • Tim Davies

    Great practical article. Ill be sharing this one with the dev team at work – and uni course online. Thanks again.

  • Thanks Dan, great advice. Optimising my website’s speed is actually on my to do list. I just ran it through Pingdom and it takes just over 8 seconds. Got some tweaking to do 🙂

    • Hey Malessa good stuff, I hope this article helps. Perhaps the first goal can be to get under 5 seconds which should make a big difference.

  • It is possible without a doubt. It is always possible to squeeze the last byte. I wish it can be done on any WordPress websites.

    • Can it not be? I think a lot of the time it’s just about compromising. If speed is more important than other factors (i.e. saving money hosting, loading up a blog full of ads etc) then it’s do-able.

      • You are right, it is about compromising. In terms of hosting, CDN, gzip compression,minification, low number of plugins, low number of HTTP requests, etc.. For blogs sure, it is real possibility to get under 1sec, but for more complicated projects based on WordPress.
        Without a doubt speed is one of the main factors, the top one is user experience.

  • Suggesting not to use SSL site-wide / prepare for the use these days is a pretty bold claim, especially with so many of the future HTTP 2.0 specs already being published. Handshakes don’t take nearly as long as they used to and a decent server setup (session caching etc.), wildcard certificates and a thoughtful infrastructure in general can further improve SSL performance.

    People are (slowly but steadily) becoming more security focused in their daily browsing habits, not alone because browsers are highlighting valid certificates more and more.

    I think the way to go here is to tune every little thing in the sites infrastructure to be able to deliver a great user experience while still using SSL everywhere instead of only using it at checkout pages for example.

    • Hey Max good point, I’ve re-worded this. I didn’t specifically look at ways we could have optimized this but for now I don’t think it’s needed on the homepage. For a software app or something it makes sense but for us it made more sense to have a dedicated signup page.

      Can you explain how an SSL benefits the end user on the homepage? It seems completely unnecessary to me if the page isn’t capturing any information from the user?

  • Sweet post man! Curious if there are any workarounds you’ve found on Youtube/Vimeo/Wistia embed scripts?

    Have messed around with the LeadPlayer/LeadPages embed but doesn’t seem to help.

    • Hey Terry we stayed away from the LeadPlayer script because it felt slow. I didn’t specifically time it or anything but I don’t like the way it sits there loading on the page and think it’s unnecessary when such a small % of people actually watch the video.

      The compromise for me was using the Wistia Popup with a slight twist. The pop-up means the only thing that needs to be loaded is the 640px image and the javascript file from wistia (which is about 50kb from memory). I copied the over to our installation of WordPress so it’s cached and delivered via MaxCDN (as opposed to sitting on Wistia), and we also loaded the wistia javascript asynchronously which means it doesn’t load in until the page is fully loaded so it doesn’t impact on the load time for other people. So to have the video there we have about 40kb of image and then another 40kb or so that loads after the page loads.

      It also looks better I have no idea why Wistia keep all of the player stuff visible when a video is not yet played. It looks horrible and makes no sense. I was actually considering using Vimeo or something but the pop-up works pretty well.

      • Yeah adding another layer of LeadPlayer script just didn’t seem to make sense either. Vimeo has some huge overhead too in their embed so I guess a popup / layover image is the best solution as you mentioned!

        • Yeah if you think about how few people actually watch the videos it doesn’t make a sense for everyone to cop the associated load time. The pop-up looks kind of cool too, those videos don’t look much good at 600px or smaller.

        • HA! Vimeo was had such a shocking time with load times recently. In Australia they’ve had ongoing issues, to the point where I can’t actually watch them. (Yes, I have a super fast, wired connection). It’s really annoying as a lot of people use Vimeo to deliver training video. My “to watch” list is a mile long now.

          • Yep I ran it through the Pingdom test and there is something that takes almost 1 second to load. Will give Dan’s suggestion a shot and use an image overlap then have a lightbox popup player or something similar!

    • Hi Terry,

      We’ve recently added both Vimeo and YouTube API playback to FV Flowplayer. We do everything to make sure FV Flowplayer loads quickly and has a light footprint (including visual). You can disable autoplay/autoload as a global setting across your site. If you or Dan have any suggestions about how we can make FV Flowplayer even lighter or easier to use, please let me know.

      You can read more about FV Player here http://foliovision.com/player

  • Now this was an epic post! Thank you so much. I’m glad I’m part of the email list. I didn’t understand half of what’s in this article. Haha. But I just applied a few of the tips and bam! My speeds increased significantly. Thank you.

  • flipfilter

    Hey Dan,

    I’ve noticed when I load WP Curve, the first time it loads all the p text seems to be missing – http://awesomescreenshot.com/03d2k0kib6.

    It’s fine after a refresh though. I’m using a relatively up to date version on Chrome on Mac. Any ideas?

    • Hmm not sure, it could be the old version cached. I’ll have a look. We just replaced the theme and sometimes that happens. Let me know if it happens again.

    • Alicia Hurst

      Same here!

  • So if you remove Akismet, how to you stop the spammer just spamming your WP comments?

    Somehow I still get WP comments without Akismet

    Edited to add: I use Disqus! 🙂 Have done for years!

    • We use Disqus for WordPress comments. The default WordPress comments system is very average and the quality of the comments goes up with Disqus. We get no or virtually no spam with disqus and if we do occasionally get a low value comment we can just reply to delete it via email.

      • Yep, I have used Disqus for years. So I disabled askismet and within MINUTES I got dozens of spam comments emailed to me.

        I never get spam in the Disqus comments though.

        • What do the comments look like? Are you sure they aren’t trackbacks? You shouldn’t be getting any comments through WordPress if you are using Disqus.

          • sidhartha

            I too have the same problem. I am using Disqus. But still daily I am getting spam comments in WordPress comment system.

          • Hmm, on closer inspection they are track backs. So how can I get rid of the spammy ones?

          • Ah cool I just ignore them and delete them when i have to. You could turn trackbacks off but I like to know when people link to me so I generally leave them on.

          • I don’t really love handling an extra 100 emails a day, so I guess I’ll leave Akismet installed then!

  • Great post, Dan. I recently switched to WP Engine recently and so far so good (although unfortunately their Japan datacentre where I’m hosted has been giving 60 second page load times for most of the day!!).

    Do you (or anyone) know of a way to combine various tracking scripts somehow? With tools like google analytics, clicky, crazy egg, etc all running at once it slows the site down a fair bit. But as you said it’s a trade off between speed vs the benefits/insights this stuff provides.

    • Hey Damien have you seen http://segment.io ?

      • I hadn’t seen that. Looks great. I also found Google Tag Manager, which seems good so far. It just has one small snippet of code on the site which never needs changing, then you add and update the individual tracking tags for various tools in their Tag Manager interface.

        • Yeah I was going to suggest that, I had a look at their site before replying and I was a bit confused by it but I thought that was what it did.

  • Tim Blankenship

    Dan, I am a client of yours and this was a great article. Wow, what a rabbit hole!! I checked my site for all of these things and they all need attention. Does your service handle this or do you recommend someone that can take care of these things

    • Thanks Tim. We do the main things for clients and I’m usually pretty confident that through a combination of us doing small fixes and clients taking our advice, we will be able to get sites into the 2-3 second range. I’ve logged a ticket for you.

      There are some things that clients often don’t want to hear though. Namely moving hosts, reducing plugins and things on the page. That always seems to be something that business owners never really want to make hard decisions on.

      Some things in this article are well out of scope. We probably spent a full week working on the speed of the site, so it wouldn’t be possible to do all of that in small fixes.

      • Tim Blankenship

        I just signed up with wpengine using your affiliate link. Thanks for your help, im just impatient.. 🙂

  • Paul Oaten

    Hi Dan, just to let you know you have a spelling error in Doug’s code snippet which will white screen a site if copied & pasted as is. the word “filter” in the last two lines is missing the “i” 🙂

    Great post – thanks for pulling it all together. Some great tips.

  • John Peterson

    Excellent post. I’ve just gone through a overhaul of my company’s site too. Had some poorly written plugins, unnecessary plugins, un-optimized images, and other things that were slowing things down. Went from ~2.5-seconds to ~700-ms. Still need to implement caching and perhaps a CDN. I’ve used wpEngine with great results too.

  • Juan Cervantes

    hola, i have wordpress with woocommerce. my provider told me i should move to a vps because of my traffic. now it is very slow, the server cpu is always 100% and the provider told me i have problems with a script but he wont help me.:( now i’m looking for somebody who can help. i would pay for it. my customers go down and down and i don’t know how to solve

    • Hey Juan we’ve helped a few clients with WooCommerce. A few things that help:

      * Having more RAM is almost always helpful, it seems to hog ram for busy sites
      * Changing from MyISAM to InnoDB also helps
      * Removing old data can help as well, particularly on older sites the database gets filled with orders and products and loads of stuff that makes it a bit unmanageable.

      It sounds like you are on a shared server which for a busy site with a lot of orders probably won’t cut it for WooCommerce.

  • Dan,

    This is one of the most in depth guides that I’ve found right now on improving load times for WP sites – will be including it as a reference in a post I’m working on at the moment.

    Not sure if it’s just me but the font you guys are using now isn’t too easy on the eyes.

    • Thanks man great to hear. Yeah we need to fix up the font on Windows. It’s in our list.

      • No worries! Looking forward to the font fix – thanks.

  • Samir Madi

    Dan great post… This is ideal for my new site that I am about to develop and the timing was great.

    A number of points above I was not aware of.. I bet you web performance developers don’t like to shares these points as it takes them out of a job.

    I only have a launch page but already I found that the image is too big in size..

    Well done..

    • Hey Samir I’m really glad you found it useful mate, thanks for commenting.

    • They may think it puts them out of a job, but better clients will be happy to let them keep up with the evolution of WP changing, CDN evolving, SSL evolving….. evolving and just build trust by letting us know what they are doing rather then trying to be magicians. But I fear you are correct most perf. developers won’t like it – takes them off the pedestal.

  • Peter Knight

    fyi I’m on Chrome 32/windows. Readability sucks, open sans not rendering well at all.

    • Hi Peter sorry about that, this should be resolved now.

      • Peter Knight

        Hey it’s much better now. I look forward to the day when all browsers just render fonts beautifully and consistent every time.

  • Cesar Falcao

    Nice article, very detailed, I think I will double check my plugins. Currently I’m using a 5 US/m Digital Ocean VPS (APC+NginX) and Cloudflare gave me 1.24 secs (no CDN points in South America) for a 1MB page.

    • Great work Cesar and thanks. Digital Ocean are great for tech savvy people. We hosted our forum software on there recently it’s a good system.

      • Cesar Falcao

        Thanks Dan. I was very reluctant to learn Unix/Linux, even as a OSX fan, but in 4 months I could made the switch, and love it. As sidenote: you have a very cool service here.

      • Cesar Falcao

        What forum solution did you choose? – I tried all of them (I think it’s WP related, I don’t want to to hijack the post).

        • We used Discourse, it was great. We actually ran it on discoursehosting.com but we played around with the open version on Digital Ocean when we were considering customizing it.

  • For speed up render youtube players

    http://wordpress.org/plugins/youtube-speedload/

  • mohammed chand

    This was given by google pagespeed insight was this good or bad.

    Reduce server response time
    In our test, your server responded in 0.38 seconds. There are many factors that can slow down your server response time. Please read our recommendations to learn how you can monitor and measure where your server is spending the most time.

    • Hey Mohammed, .38 is not great but it’s not terrible either. Page speed will trigger that rule if the delay is over .2 of a second. We have had clients with page delays of 1-5 seconds or worse in rare cases. .38 delay is probably ok, if the rest of your site is optimized you can probably get a load time of 2-3 seconds which is fine for most small business sites.

      Generally we recommend moving hosts if you want to speed up the response time. Usually our site on WP Engine will not trigger that rule which means the response time would be under .2 of a second.

  • Just remember if you use a caching plugin to ensure your feeds are exempt. Cached feeds can wreak havoc with RSS to email services.

  • Katie Keith

    Thanks a lot, some really useful tips here! Interesting to see how much improvement you got from moving to a specialist WordPress web host, even though you were already using W3 Total Cache and CloudFlare.

  • My site appears to load quickly but when I run it through Gtmetrix or Pingdom it says it loads in 6 seconds. I disabled all the plugins except WP Super Cache and I dropped 3 seconds off the load time. But I like those plugins so I will have to go with something else. I’m on shared hosting with Cloudflare Pro but am thinking of dropping the Cloudflare in favor of DreamPress.

    Excellent article. I will be sure to come back to because I am all about speeding up my website.

  • Peter

    Great advice! I’m curious how your example site in the article went from 150 requests down to 39 requests, and down from 1.4mb to 452.6kb? Was that something WP Engine did, or how did you lower the requests and page size?

    • Hey Peter, I feel like this was explained in detail in the article. Which parts do you have questions about? It’s essentially reducing image size, having less plugins and less external scripts. We also load some scripts after the page is loaded. This is all manual dev work that our developers did.

  • FBA;

    can someone tell me why my site is so slow still, http://bragnews.com/

    • All of the reasons listed in the article. Too many to list again here.

  • gaffmultimedia.com

    you really tried but inactive pluggins doesnt affect the website speed, i have experimented

    • I think explained reasonably well why it’s not a great idea to have inactive plug-ins.

  • Darwin Bonilla

    This is great, thank you, this has been very helpful

  • KatArt Graphics

    I am running a WooCommerce Bookings site where someone can book any hour within the year 2015 (8760 blocks). The Booking Calendar is running ~3500 database queries which gives me an ~13s Server Response Time. I don’t know what I can do fix this load time.

    • Hey KatArt it’s a bit hard for me to help much with that info but yeah it sounds like there’s a lot of data to manage there.

  • I heard you on the SPI podcast. Thanks for this page. I already started removing unnecessary plugins.

    • Good to hear mate. I’m glad you found the show useful.

  • This is fantastic. I went a little crazy with awesome images I created in Canva, and my site got huge. I have been working diligently to rein it in and this article helped me to figure out what else was slowing down my site. Thx!

    • Ha yeah Canva can be pretty addictive hehe.

  • dedicated hosting
  • This is an incredibly useful post, Dan. I am trying to get all of my clients on Wp – Engine.
    Love your advice about plugins.

    • Thanks mate I’m glad it’s useful.

  • Fabrizio Azzali

    Great post
    If can be useful just in my site with W3 Total Cache and some shrewdness and without CDN i reached in a shared hosting (aruba.it) with wp 4.01 with 9 plugins installed.
    – on tools.pingdom.com Performance Grade of 95/100 and load time of 823ms
    – on Gmetrix Page 95% of Speed Grade

  • Excellent post Dan – thank you again! Dreamhost has recently launched an optimized WP hosting option and I’m moving a few domains there to see the difference between that and their VPS. I have several WooCommerce sites on VPS and response time is horrible (15sec – 1min! on certain pages). Other WP sites running on the same VPS without WooCommerce are fine. Even after configuring W3 total cache and MaxCDN, WooCommerce chokes when products are added to cart. I’ll post my findings if anybody is interested.

    • Please do. I think with hosting, you get what you pay for generally. WooCommerce, particularly with a big list of SKUs really needs a decent server.

      • So, Dreampress is turning out to be a great solution. They were able to reduce load time to under 2 seconds, other than the SSL pages. But those are very snappy as well.

  • Vinaya Naidu

    thank you for sharing nearly everything in this super mega post!

  • Dave Starr

    Great article with some very useful tips. But as you say speed is not everything. Consider using black on white text rather that the sort of “shades of gray” palate you are using now, and boost the basic font size a couple of points. You would be surprised how much more readable (useful and thus “sticky”) this makes a site.

    Oh and yes, you’re right, I am old, but I have the time (and disposable income) to spend time on sites I like .. but never on those which give me an “eye exam” every time I visit. Thanks.

    • Yeah we are re-doing the theme it could be easier to read.

  • Absolutely fantastic, thanks a lot. Got a few different strategies to help troubleshoot a new load-time issue here. Although I suspect it’s a plug-in, will definitely be using several of these tips to further reduce page load after the culprit is deleted. For instance, I hate a ton of excess files on server just because it’s junky, but didn’t realize this would affect load time. Thanks again!

  • Will my site speed up if I use Disqus instead of the standard WordPress comments?

    • Hi Edward I haven’t specifically tested both but I suspect the site would actually slow down – or at least the amount of time taken to load the whole page, with comments would be slower since it’s getting data offsite. However the top of the page would load before the comments so it may not impact on the experience for most people.

  • Techistnet

    Hey, this helped me a lot, I use shared hosting as i want to minimize my investment into hosting and worry more about my content, but the blog which im testing best bitcoin wallet is loading too slow, but thanks to this amazing High quality post, i reduced my load time by a bit if not much. but anyways, this has helped me immenssely.

  • Heather

    Dan,
    I found this post after listening to your interview on Smart Passive Income. I decided to “just see” what my load time was for my website, and it was 30+ seconds!! So I compressed my images, deleted a bunch of plugins, and added a caching plugin. Now my website is about 5 seconds. So not there yet but this post was really a wake up call for me; my blog is a food blog, so I was putting 4-5 3000+ pixel images in every post! Thanks for all the info! 🙂

  • petermurphy

    Tips for best server or best price on dedicated server? I have done everything WPcurve has recommended in last months and my loading time is horrible.

  • parishy

    #samsung #Galaxy #Note5 #galaxynote5 #Gamsunggalaxynote5 #releasedate #specifications

    https://www.facebook.com/codeandcommand/posts/766544336754740

  • Andy Lai

    Hey Dan, I would like to know if you can help me evaluate whether Inmotion Hosting company is a good company that have a good hosting plan since i found that I have a problem deciding between Inmotion Hosting and WP Engine.

    • Hi Andy you will have to make that decision for yourself mate. I’m a big fan of WP Engine I haven’t specifically looked at too many other options since they solve the problem for me well.

      • Andy Lai

        Then I definitely would love to know some of the great things that WP Engine did for you so that I can make the decision myself since I personally have been trying to understand what they provide and I am still clueless on how good of a quality service they provide.

        • I covered a lot of it in this post. They are fast, they have good systems for doing backups and caching and stuff like that. I haven’t analyzed it too much. I’ve had plenty of bad hosts in the past and I know they are good, and that’s why we host with them.

          • Andy Lai

            Then I wonder what previous host did you host with and how are they bad since i personally am thinking about different offers and to know what I truly want for my site?

  • Awesome post. Do you find the details change as the different tools change over time? Is WordPress getting better speedwise? Are different hosts improving….?

    I am sure the answer is yes they change, so I guess the real question is how much? Are they only affecting the speed a few percent (ie 2036ms to 2023ms) or is the evolution significant? The guidelines you map out look solid for years, but updated case studies would be great (especially if you had a client that was willing to be a case study for you). Of course, since you don’t have anything else to do but what for our requests, you could just keep retesting – lol.

    Mostly just musing, rather then taking action. Time to take action with the many challenges you created great suggestions to improve the site.

  • Great Post! I’ve been able to get my website, techsational.com, to about 700ms from 5 and more. However, if I test posts, my load times go up to 1-2 seconds. Is this normal because images are loaded full size? Or does Smush.it not otptimize images in the posts themselfs, only the homepage?
    Any help is appreciated, thanks!

  • Thank you very much for this excellent post. As you said to remove backup budddy plugins, that one really cause server load? What about wordfence plugins? that one cause any problem?

  • Some great tips! We’ve just managed to reach a score of 98/100 on the Google Page speed test, and have seen leads increase also. We’ve documented how we did it here – http://harrisonmann.co.uk/website-design/how-to-speed-up-your-wordpress-website-and-why-it-is-essential/

    Cheers,
    Richard

  • Nice to stumble upon your WP Curve, Dan; now I know what you’ve been up to lately! 😉

  • javajoba

    Nice job, I have 2 sites I’m working on today currently one is raking in the top 66% and want to get it the top 85% or higher.

  • WOW – I’ve had serious speed issues and have searched forums and posts for ages trying to find solutions. This is by far the best article I have come across on what to do to optimize and speed things up. THANKS so much!

  • Thanks for sharing this valuable information. Go to https://developers.google.com/speed/pagespeed/insights/ and check your page speed. Here also you can detect the critical errors which down your page load speed. You can also download the report.
    http://www.mozinfotech.com

  • I checked my website with google page speed tester and it’s give me the same error as shown in the upper image in your article. How to fix it ? my website http://www.educhatforums.com/

  • Hi Dan,

    Nice post. I thought that W3 total cache would be the best solutions to
    decrease my website’s load time. But everything went opposite.

    Before installing it my website’s load time was 7.59s which has now reached
    to 8.31s. Any idea what happened wrong?

  • Thanks for share such a great information help me a lot. you may get some amazing information on how to tab on my blog Textile engineering student

  • Hi, when you say ‘Performing other functions outside of WordPress. For examples analytics, email, backups or broken link checkers can all be done outside of WordPress.’, what do yo mean? How can you perform Google Analytics outside of WordPress?

  • nice great article. very useful information.

  • Awesome post Dan! I particularly appreciated the fact the you focused on the user-side of things and intentionally omitted the server-side “clever optimizations” like Varnish, Apache/NGINX, OpCache, PHP7 etc. which sometimes only end up masking the real issues of a website. However once you got that covered a host supporting Varnish and PHP7 (of HHMV in the case of WPEngine) can provide immense speed-up to the point where bandwidth becomes the limiting factor.

  • helpnesss

    So in order to
    download Wistia videos, in this article we will recommend a third-party
    downloader – Allavsoft for you. Allavsoft is a great tool workable on 1000+
    websites, almost covering all the popular sites.

  • Removing all unnecessary styles and scripts that are not needed on the home page and other posts/pages would make the page even faster. I’d recommend “WP Asset Clean Up” – https://wordpress.org/plugins/wp-asset-clean-up/ – to remove the assets you don’t need.

  • Jon Tucker

    We are troubleshooting a speed issue on a membership site. We’ve disabled all plugins, on wp engine, and without s2 member plugin it loads 0.5 secs and with s2 member it’s 4.5 sec. Researching a lot and not seeing much re how to optimize speed on s2 member (not a caching issue since we are on WP engine and server side caching for logged in users is unique).

    Have you battled this before dan? Is 4.5s unacceptable? Any pointers?

    (Trying a different membership plugin ASAP to see if that resolves the issue).

  • Chris Andrew

    Awesome Post ! good hosting is very important i was also getting this issue but when i moved to better host my website speed got increased

    Thanks for sharing with us.

  • MinnieMe

    Great research and i definitely will use some of these services for my own projects. If you are looking for cheap CDN i recommend you to try http://cdnsun.com/. It’s good and price is decent. But i worked with it only on UK territory, i don’t know about quality of their servers in the other parts of the world.

  • Norman Armenta

    Great research and i definitely will use some of these services for my own projects. If you are looking for cheap CDN i recommend you to try http://cdnsun.com/. It’s good and price is decent. But i worked with it only on UK territory, i don’t know about quality of their servers in the other parts of the world.

  • temafrank

    So now the question is: how do you find a developer who designs sites for a good balance of speed and conversion? How do you know if they are BSing you?

  • Love this post Dan, I have a deal site with LOTS of images and huge load times. I’ve just installed Smush Pro and it’s working it’s magic thank you. I also changed to WP engine a few months ago which got my speed down from 16sec to 5-9 sec (Pingdom varies between the 2). I still have to host the domain and point it to WPengine, will the host that the domain is on effect the speed?

  • nice

  • My blog page size is 2.59MB When i check my blog size in webhostinghero. com
    I have not much knowledge about wordpress. I have read this article but i did not understand How to reduce large page size, actually i have minimum number of Plugins installed as you say in above post.

    Have you any wordpress theme related to my blog that have lowest page size and full optimized?

    Please suggest me..!!

  • EppK

    My biggest issue has
    ALWAYS been downsizing the content of my site so it would be reasonable. As I
    run a blog, it can be understood how difficult issue this is as I am constantly
    battling between good quality content and downsizing the content. Thanks for
    pointing out some good tools for doing so, I especially find the http://picresize.com/ to be helpful! I’m not
    very experienced with a more high-level changes so I won’t get my head achning
    with implementing those but instead I just decided to change my theme as the
    first thing. Actually, it worked very well and enhanced my page speed
    tremendously. In case anyone else is looking for a rather easy fix with the
    theme, I’d suggest take a look at https://ttfbtest.com/
    as they have most likely the widest selection of fast WP themes possible. For
    me, it did the trick but I will definitely use your advice now too.

  • Danson Githumbi

    ok

  • Trick

    Awesome post! I recommend CDN from https://www.inxy.com/. Their prices are far lower than in MaxCDN, and quality is practically the same.

  • Still a great post over 2 years on…

  • Great article. Shared hosting always has impact on speed of the page no matter how much we optimize.

  • What an excellent post. My company is raising the bar on all website reviews both in technology and SEO audits so looking at many of the above variables. Thanks so much for laying this out.

  • I am getting 96 score in google speed test for https://applyipo.com but it is showing to cache adsense ads does it have any alternative for same

  • Tyrohn White

    Article is great on basis of content. But it was just reading in black and white. I would personally suggest please work on presentation part of the article. I would suggest to have a look on other blogs like crazzy egg or of template toaster they have well presented blogs and great content also. Presentation is a part that makes a reader stick to article and make article well defined.

  • Marcus Ferdinand

    I have tried to reduce load time on my website for years now. It seems like there is a wait time before everything else is loaded. However I try, whatever I do, I cannot reduce that wait time. I now believe that the reason is that the plugins have to work and create the page before it can load anything in to it. Is there a way to reduce this wait time? If this wait time is so long, would it even be worth trying with CDN? would a CDN reduce that wait time? Would be very thankful for a good answer to this. 🙂

  • Great guide, thanks so much for walking through things each step of the way!

  • Great tutorial. Its really help to improve my site speed

  • My site speed was 48ms but after a week it reach at 60.00s. I am so confusing to see this. I have use every method which you have told. But still I am facing issue. My site has hosted on inmotion hosting and site name is global blurb. Please help me if any person is expert here.

  • Nemanja Males

    Hello I need some help if someone can help me. On GTmetrix test, I have 94% for PageSpeed Test and 82% for YSlow Score, my page size is 1.11MB, but still my website loads from 3-5 sec. That all happend when I have made redirection fron non-www to www. Can someone help me to minimize that redirects that are cause me trouble?

Free download

Wordpress speed guide

How to reduce your Wordpress load speed under 1 second.