Why is my blog slow? 10 possible reasons

One of the primary jobs I often do as part of my blog development business is performance tuning client's sites. About a year ago, Google modified their ranking algorithms to factor in overall site performance. Meaning, the slower your site compared to other similar sites, the lower your site and articles would be ranked on the Google SERPs. As a result of this announcement, I received an influx of requests to performance tune sites. As a result of this work, I came up with a list of the top 10 reasons why people's blogs and websites are slow. The good news? All of these are pretty easy to fix.

1 - Too many plugins

One of the most common reasons why your site may be slow is due to having too many plugins. One of the really slick features of WordPress is that there are literally thousands of plugins for WordPress that will do pretty much anything you could ever want. The downside is that many of these plugins are written by amateur developers and are not performance optimized. Another consideration is that most every plugin, regardless of how optimized it is, slows your site down a little. The more plugins you add, the slower your site becomes - Creeping normalcy if you will.

In a perfect world, you shouldn't run any plugins. Realistically, you should only run the bare minimum amount of plugins. I typically don't have more than 10 installed and two of these are performance optimizing plugins (W3 Total Cache and WP Minify). You can read about the minimum plugins I recommend at Base plugins for blogs.

Wondering if your site has too many plugins? Want to see which plugins are having the most impact to your site? Ironically, I'd suggest installing another plugin called: P3 Plugin Profiler. P3 will analyze your plugins and give you some really great detail on which plugins are taking up the most time and their overall impact to your site's performance. Once you're done with the analysis, I'd recommend deactivating the plugin until you need it again.

2 - Theme

Another frequent cause of slow site performance is your WordPress theme. WordPress.org offers many free themes. Unfortunately many of the themes that look really great, are terribly slow. I used to run a few of these free themes, but over the years realized that some things are just worth paying for. All of my sites, except this one, now run on the Genesis theme, which is incredibly optimized and fast out of the box. Converting this site over is still on my todo list.

3 - Too many pictures or graphics

I love pictures on blogs, especially free pictures. They draw a reader's attention, break up the wall of text often seen on many blogs (blogger blogs...*cough* *cough*) and frankly if done right, really make a blog "pop". Pictures though can have a negative impact on your site's performance especially when not used correctly.

Here area few things to consider when using images on your blog:

On your main page, use smaller images or thumbnails. Only show bigger images on your single post pages.

Optimize your image files before you upload them. Image Optimizer is a great tool.

Don't use HTML to downsize your image. One of the big mistakes people make is uploading a 1024x768 (or bigger) image, then use the img tag height and width attributes to resize the image to 150x150 pixels. Here's the problem: the full image is still downloaded to your browser. If you want the image to be 150x150, resize it first, then upload it to your blog.

Minimize the number of images used on a single page. I was visiting a site the other day, where the blogger included a large amount of pictures in her posts. This is all well and good, as the primary intent of her blog was photos. The problem was, she was showing full posts on her main page and showing a good 50 posts on that same page. It literally took a couple of minutes for her main page to fully load - very very bad. In this case, I'd recommend only showing one image per post on the main page or better yet show 10 partial posts on the first page and only show 1 thumbnail. The Genesis theme does this with just a few clicks.

4 - Too much Javascript

Another common cause of overall sight slowness can be Javascript, either too much of it, poorly written script or script that calls out to other sites too much. Javascript can be a bit tricky, as if you view your site code you'll often only see a few lines of actually Javascript, but what's it doing is potentially loading a much larger javascript or HTML file from another location.

Try to minimize your javascript as much as you can. If a plugin or widget gives you the option of using HTML or Javascript, I personally lean towards using the HTML. One plugin that will optimize your Javascript (and CSS files) is WP-Minify. I highly recommend you install and configure it. Enabling GZip compression (see the next item) will also speed your Javascript load times.

5 - You don't have Gzip Compression enabled

Gzip compression causes all of your site content to be transmitted across "the wire" compressed. Meaning that the amount of data transmitted is much smaller. Smaller data = faster load times. If you aren't sure if Gzip compression is enabled for your site, visit this gzip compression tester and enter your sites URL to find out.

If your site isn't Gzip compressing, doing so is really pretty easy. Just install the W3 Total Cache plugin. Not only will this plugin enable Gzip compression, but it will also cache all of your site content, both in the browser and on the server. Caching will cause your site to perform much faster - I've often seen it cut a sites response time in half.

6 - Your hosting plan is too small

One of the most common reasons your blog might be slow is due to having a hosting plan that is too small, or a shared hosting plan that isn't correctly managed by the hosting provider.

Many times as new bloggers, we start off with an inexpensive hosting plan. These plans generally work well for a few months as we slowly build blog traffic. At some point, and this particular point is often difficult to recognize, our blog outgrows the current hosting plan. I recommend monitoring your site performance from day one. Just check your response times a couple of times a week, and record the times in a spreadsheet. What you'll generally notice is that over time, your site progressively slows down, then all of the sudden gets exponentially slow. This is generally the point where your site traffic has exceeded your hosting plan and a big sign it's time to upgrade. Your hosting provider or a consultant like myself, can usually help you determine when it's time to upgrade if you aren't sure.

Another common problem with inexpensive plans is that they are generally what's called "shared plans", meaning your website runs on a single server along with many other websites. The number of sites on a server varies greatly from hosting company to hosting company. The problem with this approach is that if one of those sites has a technical issue or gets a large amount of traffic, the performance of your site will most likely be impacted. The solution? You can complain to your hosting provider who can manage this to some level, but generally these types of situations are the reality of a shared plan. The real solution is to get a dedicated or virtual server. The downside is the cost.

When picking a hosting company, I always recommend someone that has seamless upgrade options, meaning you can increase and/or decrease you plan as needed. The three hosting companies I recommend for bloggers are:

A Small Orange - This is the provider I run all of my sites on. They are a little more expensive, but provide a high level of service and performance.

For more detail on selecting the right hosting, check out my article: Hosting for blogs.

7 -You aren't caching

I already touched on caching above. Caching is a technology that stores pages when they are requested on disk for fast access. Enabling caching within WordPress, using a plugin like W3 Total Cache enables both server side and browser caching. Caching offers significant performance increases for WordPress blogs due to the nature of how WordPress builds pages. The content for each WordPress page is stored in a database, WordPress pages when requested are built using a combination of code and the actual page content from the database. In a nutshell, running that code and retrieving the page content from the database each time takes time. A caching plugin stores the final HTML page, so that the next time it's requested, it doesn't have to be completely regenerated.

If you aren't caching, you should be. Spend a few minutes installing and setting up W3 Total Cache, it's time well spent. One note, if you're running Thesis - do not enable Object caching in W3 Total Cache, as it will cause your site to not render correctly.

8 -You don't have the latest WordPress and plugin versions

Another common cause of slow site performance is having old versions of WordPress and various plugins. WordPress and the many available plugins are constantly being upgraded and improved. Staying on the lastest versions can not only make a considerable performance increase to your site, but it can also keep you from being open to hacks or security vulnerabilities.

Also make sure your WordPress version and plugins are on the lastest releases. Fortunately this is easy to do with WordPress's built in upgrade process.

9 - Too many blog posts on one page

I mentioned this earlier, but displaying too many posts on your main page can quickly slow down your site's performance, especially if you have large posts or posts containing image or video content. Every time a post is rendered in WordPress, WordPress has to fetch the post content and render it. WordPress has to do this for each post. Thus, if you display 20 posts on a page, and you're displaying full posts - rendering that page is almost equivalent to displaying a single page 20 times. For those more technical, I realize this isn't exactly true - but regardless, the more posts on a page, the slower the page gets.

I generally recommend no more than 10 posts on your main blog page, and even then I recommend only showing "teasers" for each of those posts. That is similar to what I do here on Side Income Blogging. I show 2 partial posts, followed by 6 teasers with thumbnails. I decided on the number of teasers to show based on the length of my sidebar. As you can see, the main page loads quick, even with the images.

Tip - While some might think this is a bit sneaky, showing partial posts and teasers on your front page not only makes your site faster, but it causes your reader to view two pages on your site. Why would we want to do this? That's twice the advertisements we can show them. Devious? Perhaps, but remember, this site is about how to earn a side income blogging and without advertising there is no side income.

10 - You have a hosting issue

Finally, while not common, a cause of your site being slow may be an issue with your hosting company. Perhaps they are having some type of network issue, hardware problem or configuration issue. If you have all of the above taken care of, and your site is still slow, ping your hosting company. Most likely they'll say everything is fine, but every so often they identify a problem and fix it. This is one of the reasons I like A Small Orange and pay extra for them - They have 24x7 support and most notably 24x7 phone support - meaning I can get a live person whenever I want.

---===---

Not sure if your site is performing fast or slow? Visit Google PageSpeed and get an online analysis. I got an 87/100 on this site, which isn't bad at all but means I do have a little bit of work to do. How did you score?

Did I miss any? Have you experienced another reason for site slowness or have a technique, idea or strategy for making blogs faster I didn't touch on? Add a comment and make this article even better!