How to Fix a Slow WordPress Site

wordpress_speed

In today’s era of high speed internet and 4G coverage, there’s really no excuse for your website to load slowly. Long gone are the simpler days of the hiss and beep-booping of dial-up modems, when people knew how to wait patiently for the content they wanted, when kids played stick ball in the street, and you could get a gallon of gas for an Indian nickel…

Okay, maybe I got a little off base there. So sue me (please don’t). Still, if you run a website or a blog, you’ve most likely had to deal with some unwanted sluggishness at some point or other. The reasons for a slow site can vary massively, so today I’m going to narrow it down and focus on the web’s most popular content management system, WordPress.

Below are some common issues and fixes that can help you troubleshoot and fix a slow WordPress site.

First things first: Is your site actually running slowly?

Problem: Sometimes your website will seem slow to you, because you’re on a slow connection, have a weak wi-fi signal, or your computer sucks.

Solution: Use a third party website speed test. Be careful to choose a reputable service, because there are some who will give you a poor score no matter what, in order to up-sell you on their own website optimization services. Another issue is that depending on the complexity of your site, it may be perfectly acceptable for it to take a little longer to load than a more simple site – so speed test tools that just give you a flat grade are not always terribly useful.

Here are some options we like:

  • Pingdom Website Speed Test – One of the big benefits of Pingdom’s tool is that its waterfall view tells you exactly what elements are taking a long time to load, so you know where to focus your efforts.
  • Google PageSpeed Insights – This tool does a great job of providing a list of specific things your site does well, and things it doesn’t do so well, with some insight on steps you can take to fix it.

You may also want to turn off Pingbacks and Trackbacks for your WordPress site, which frequently attempt to check for links that point to your site from other blogs, or notify other blogs when you link out to them. This isn’t massively processor intensive, but it’s also not too useful for many WordPress site owners. You can turn these off by logging in to your admin dashboard, then going to Settings > Discussion and un-checking the appropriate box.

Overall Performance Of Your Web Hosting

Problem: Slow web hosting can throw any amount of website optimization and compression right out the window. If you know you’re doing everything right, or you’re getting pretty good grades in the tools listed above, except for total load time, chances are, your hosting is an issue.

Often, shared (i.e. cheap) hosting will run slow, because dozens, or hundreds, or thousands of websites will run on a single web server. If one, or a handful, of those sites experiences a traffic spike, things will slow down for everyone else. Not fair!

Solution: Change your web hosting. Consider a dedicated server, a cloud VPS, or a carefully managed hosting environment. Yes, it’ll cost more, but if your website is any part of your livelihood, it’s probably worth it.

However, if changing your web hosting isn’t an option, don’t fret – there are other things you can do.

  • Use a Caching Plugin – Every time someone hits your WordPress site, your pages are dynamically built by the server, retrieving your contents and settings from a database. These requests can add up and begin to bog down your site. To alleviate this, a caching plugin like W3 Total Cache will convert your pages to flat HTML, which will majorly lighten the complexity of requests on your server. Many people have great success with plugins like this, however I should mention that they can sometimes cause issues with displaying new content, conflicts with certain other plugins, and they may make automated backups a little wonky.
  • Use a Content Delivery Network (also known as a CDN) – This will spread your website’s assets out on multiple servers across the country (or world), so when someone loads it, everything flies in from a different place, eliminating heavy taxation on any one server, thus speeding up your load time. The downside is, it can take a bit of work to set up a CDN, and if your website uses SSL, you may have a few extra hoops to jump through. If you’re interested, CloudFlare is worth checking out.

Shoddy Themes, Frameworks and Plugins

Problem: OK, here’s the deal: Pretty much anyone who knows how to write a little bit of code can crank out a WordPress theme. And by pretty much anyone, that includes idiots, lazy people, and those who have good intentions, but really shouldn’t be allowed within ten feet of an HTML editor.

Solution: Either have your site custom built by an experienced agency, or only use well-rated themes and plugins from reputable sources. The WordPress.org repository can be a mixed bag, so make sure you check the star-based user ratings. I would recommend only considering things that have received 4-5 stars, unless you’re seriously out of other options.

It’s also worth considering premium themes and plugins, which are sometimes (but not always) better than their free counterparts. A good place to look for these is the Envato Market.

Large or Un-Optimized Images

Problem: In terms of file size, the images on your website may be many times larger than they need to be. This may be due to unnecessarily large resolutions, or images that simply haven’t been optimized or saved as the best file type for their purpose.

Solution:

  • If you have Photoshop, use the “Save for Web” option to reduce your image file size, without noticeable loss of quality. This can reduce a 500kb banner image by 90%, down to 50kb. I have seen it done.
  • If you don’t have Photoshop, use an online image optimizer, like Yahoo!’s Smush.it, which will perform amazing reductions to your image file size. There’s also a Smush.it WordPress Plugin that you can install to automatically compress your images as you upload them.
  • Finally, once your images are optimized, you can use a plugin like LazyLoad, which will only load images that are currently visible in a user’s browser window. As they scroll down, it will load newly visible images. This is great if your site has long pages, but watch out – it can cause conflicts with some rotators and sliders.

Malware and Viruses

Problem: Your website is infected with malware, which can secretly be doing things like constantly sending spam email from your server, or using your server to try and brute force crack passwords. This can be very processor intensive.

Solution: Use good WordPress security scanning plugin, like WordFence or Sucuri. It would also be a good idea to do proactive server monitoring and hardening to keep an eye on what’s going on outside of your WordPress install.

Excessive Javascript or CSS Files

Problem: This often doesn’t have a huge impact, but with a slow site, every little bit can count. Basically, when Javascript and CSS code is written, it’s often done by humans, who write it in a legible way that can be read by other humans. In other words, there are spaces, line breaks and comments sprinkled throughout the code, which can mean additional file size.

Solution: Removing this extra information and leaving nothing but sweet, pure, unadulterated code can shave off some load time. There’s a great plugin called Autoptimize which will do this for you. After you activate it, it would be a good idea to give your site a quick once-over. Normally, it doesn’t cause issues, but every now and then something strange can pop up.

Go get optimizing! (But be smart about it!)

The ideas above are only a few – albeit often majorly helpful – of the things that can be done to optimize your WordPress site. However, when it comes to making technical modifications to your site, it’s important to be vigilant in looking for potential negative affects and conflicts.

You also want to make sure you’re spending time optimizing the right stuff. If your site has been infected with malware, optimizing your images might not make a big difference. Compressing your javascript files might not have any noticeable effect if your server itself is merely creeping along.

If you think your website is running slow, feel free to reach out to us. We’d be happy to take a look and provide some ideas on what you can do.

Here are more articles you might find helpful.

Leave a Reply

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