I reduced my website’s load time by 23 seconds (now loading in less than two seconds) by installing just four plugins and utilizing a CDN.
Full podcast transcript
Welcome back to Tech Help for Churches. In today’s episode, I want to share with you how I took my website’s load time for first-time visitors from nearly 25 seconds down to less than two seconds. It’s not as hard as you may think. I want to tell you how I did it and why website load times are so important.
Since the process of speeding up my website required me to uninstall some plugins and install a few new ones, I also want to give you an updated list of recommended plugins for your WordPress website. I shared my list on a previous episode, but I want to tell why I removed some of them and why I added a few more.
Finally, and I’ll start with this, I’m going to be offering some Web services once again for those of you who would rather hire someone than do this website stuff yourself. It’s a little funny to me. Some time ago, I quit doing freelance web design to focus entirely on my ministry. But I also had the reputation in some circles as that “Web guy” you to go to whenever you have questions or need help with a website. So, that motivated me to start this podcast. I thought I could answer all of your questions and walk you through some of the steps without needing to take the time to do it with each individual person. That way I could save myself some time and still be able to help folks out.
As it turns out, I get more questions and have more people asking if they can hire me now than I did before. For those of you in business, it just goes to prove the power of podcasting. I give all of this information away for free and it actually generates more business if I want it. But I’ve been sitting on the fence about this. I wasn’t sure if I wanted to sacrifice the time in order to offer my services like before.
Well, I finally decided I will but on a limited basis. My time is limited so I will have to limit my services. Here’s what I’m planning to do at this point. I am offering to set up new websites on the WordPress platform for a flat fee. I will install WordPress, some core plugins–many of which I will talk about in this episode–and I will install and customize a theme for you. I will even design a logo for your site, podcast album art (if you need it), and tweak all of the settings within WordPress, your theme, and the plugins to accommodate your site. I’ll even set up Google Analytics for you.
As I said, I will do that for a flat fee. I haven’t decided what that will be just yet, but I’m thinking somewhere around $250. If that sounds like a lot to you, well, if you were to shop around, you’d see how much lower that is compared to most people offering the same service. Plus, I would be buying a premium theme for your site which will cost somewhere around $50. Now, what I would love to hear from you about is whether or not you think that’s a fair. Would you be willing to spend $250 on a new website? If you have feedback, leave a comment at JeremySarber.com/TechHelp14.
I also want to offer a continual maintenance service from month to month. That is where I will make sure to keep all of your plugins updated and do some of the typical maintenance on the website over time. I probably would only charge something like $5 a month for that. Of course, that would be entirely optional. It would be up to you.
Like I said, my services are going to be somewhat limited. With the continual maintenance plan, I’m not offering to do little tweaks and customizations along the way. We’d have to discuss that when something like that is needed. I’m strictly doing maintenance. Also, I’m not offering my services at this time to businesses. I will only take on projects exclusively for churches, pastors, and various Christian bloggers and podcasters.
One more thing I might as well mention. I will have to be paid up front. I hate to do that, but I’m still owed thousands of dollars from when I did web design full time. Honestly, businesses were the primary culprit. I discovered the bigger the business is, the less likely they were to pay me for my work. I don’t know why, but that’s what happened. Since I’m going to be squeezing extra hours out of my week to do this work, I’ll have to be sure I’m compensated for it.
So, if you have some feedback or you’re already interested in hiring me, leave a comment at JeremySarber.com/TechHelp14 or shoot me an email from the website. I’m also available on Twitter at Twitter.com/jeremysarber.
Alright, ladies and gentlemen, let’s move on to talk about website load times. How important is it that your website loads quickly? Well, last year, Amazon discovered that every second of load time costs them $1.6 billion in sales over the course of a full year. $1.6 billion is a lot of money. But what exactly does that mean?
Every website you visit on your computer or phone takes so many seconds to fully load. The longer it takes, the more likely a person will hit the back button on their browser. Obviously, the faster you can serve the page to a visitor, the better. In the case of Amazon, they have millions of people visiting their site, ready to buy something, but each person is only going to wait so long. So, every second it takes for Amazon to serve their site translates into lost dollars.
But what does that mean for someone who isn’t selling something? Well, the same rule applies. I’m assuming you have a website for a reason. The longer it takes that site to load, the less you are going to accomplish with that site–no matter what you’re trying to accomplish. I’ve talked before about the many studies that have been conducted which show you have less than ten seconds to capture the attention of your visitors. If your site takes all of those ten seconds (or more) just to load, you’ve got a problem.
Recently, I turned to a Christian blogger community on Google+ and asked them to critique my own website. The first thing they pointed out was how long it took my site to load. Keep in mind, I have a fairly minimalist website. I don’t have a lot of sidebar widgets and various things that need to be loaded each time. But I discovered it was taking up to 25 seconds to load my website for new, first-time visitors. That’s well over the 10-second mark.
There’s a free service available online to see exactly how long it takes a first-time visitor to load your site versus a returning visitor. Because of browser caching and things, your returning visitor load time will be a lower number. If a person is coming back for a second time, they should be able to load your site much quicker. You can find this service at WebPageTest.org. Visit their site and simply type in your web address. Give it a minute or two and they’ll give you the results.
The things you’ll want to pay attention to are the load times for first and second views as well as the ratings they’ll give you at the top of the page. Those ratings will give you a better idea of what is slowing down your website. For a more detailed look at what is taking your website the longest to load, they also give what they call a “Waterfall View” which displays the load times for each individual element of your site. In that, you can pinpoint if your site is loading slow because of images or maybe a particular plugin.
When I ran the test for the first time on my site, I found that images were my biggest issue. I have a rather large logo, background graphics, and a few other images that were taking the longest to load. I also discovered a few plugins that were slowing down the site. So, your first step is to run the test and figure out how long your load time is and what is causing it to load slowly–if it is loading slowly. By the way, I also ran the test on a number of different blogs I read and found the average load time was about 20-25 seconds. That’s too slow.
In my case, I knew I had to do something about the images on my site and I had to delete or find faster alternatives to a couple of the plugins I was using. The first plugin I had to delete was Lightbox Plus. That was fine with me because that plugin is used to enlarge images when people click on them, but I don’t really have any pictures on the site that need to be enlarged. So, I just deleted it. Digg Digg was another plugin I had to do something about. It added the social share buttons on the left hand side of the site. I found a faster replacement for it.
So, step number is to run the speed test and determine where some of your problem areas might be on the site. If I were you, I would go ahead and delete any plugin on the site you do not absolutely need. If you have one that is slow-loading but you need to keep it, try some alternative plugins and see if you can get a faster load time.
Keep in mind, if your site is on a shared hosting account–which many of you probably are–your site’s load time is going to fluctuate to some degree. A shared hosting account means your website is saved on the same server as a number of other websites. If, let’s say, one or more them is getting a lot of traffic or serving up large files, it will slow down every website on the server. As a matter of fact, you can see the other sites on your server by going to My-IP-Neighbors.com. That’ll give you a list of every website on the server where your website is hosted.
You could get on a dedicated server, but you are going to pay quite a bit more per month for hosting. Typically, a shared hosting account isn’t going to be a problem and it shouldn’t slow down your site that much. I’m on a shared hosting account and, as of this morning, my site was loading for first-time visitors in less than two seconds. I just wanted to give you a heads-up. If you see some minor fluctuation in load times, that’s probably why.
Once you clean up your plugins and get rid of the ones you don’t need, I would go ahead and run WP-Optimize. It’s a WordPress plugin that will clean up your database and remove old post revisions you don’t need anymore. I would do that before you get into the additional steps I’m now going to tell you about. Also, you might even run the speed test after each step just to see what’s happening with your load time as you go along. That’s not necessary but it might be interesting to see.
Next, I did my research. I learned what those grades meant on the webpage speed test. I figured out which plugins might help in those areas. I installed them and, like I said, dramatically reduced my site’s load time. So, I have four plugins to share with you as well as an additional service which could be used on any website–WordPress or not.
The first plugin is called Use Google Libraries. I’ll try to explain what this does in simple terms. A lot of the script and code on your website is identical to other websites. That makes it redundant when people are using your website’s resources to load any of that script. Installing this plugin makes it so your site doesn’t have to load that content. In short, it speeds up your site. That’s the overly simplified explanation anyway. There’s no set up involved. Simply install and activate it.
The second plugin is called WP Smush.it. This takes every image in your media library and every image you will upload in the future and compresses them. It won’t make a noticeable difference in the quality of your images, but it will make them smaller in terms of file size and force them to load faster. Once you activate this plugin, you’ll have to compress (or “smush”) the images already in your media library. To do that, click the “Smush.it” link under “Media” within your WordPress Dashboard. It’ll take a few minutes to run, but that’s it. New images from that point forward will be automatically compressed.
The third plugin is called Hyper Cache. You may already have a caching plugin like WP Super Cache or maybe W3 Total Cache. Hyper Cache works the same way but I think it’s an easier-to-use plugin than the other two. If you have one of the others already installed and you know how to set them up, you can ignore this suggestion. This is for people who don’t have a caching plugin or don’t have the technical know-how to set one up.
Once you install Hyper Cache, there are a few settings you may want to adjust. I would enable browser caching. I would select all three compression settings. You’ll see what I’m talking about when you have the plugin installed. I would also enable redirect caching and page not found caching. I believe that’s it.
Now, I have one last plugin you might consider using especially if you have a lot of images within the posts on your website. It’s called BJ Lazy Load. What this plugin does is it prohibits images and iframes from loading until the person scrolls to it. So, when someone pulls up your website, it will load what is above the fold–what they can immediately see in their browser–right away. Then, as they scroll down the page, this plugin loads some of the other slower-loading content like images as they come to it. In other words, not everything on the page has to load at the same time so it will load faster.
I would offer a word of warning though. I have discovered that, on occasion, the images don’t load at all. It’s like they try to load but they never do. In my case, I don’t use a lot of images within posts so it’s doesn’t matter all that much. That’s what makes this plugin a bit ironic. The websites who need this the most of websites with a lot of images. But if the images don’t load, what good does it do? Of course, the issues I’m having could be something else altogether. It could happening because I’m using a CDN and there’s some compatibility issues.
Speaking of CDNs, or content delivery networks, they are another possible way to speed up your website. This is an option for anyone whether you’re using WordPress or not. Let me try explain what a CDN does. Your website is hosted on a physical computer or server somewhere. For instance, mine is in Arizona. That means anyone trying to pull up my website is loading it directly from the server in Arizona. The farther they are from Arizona, the longer it’ll take for them to load my website.
A CDN has servers all over the country. They save a cached version of the website–or copies, if you will–on each of their servers. Then, when someone visits the site, the CDN will deliver to them the cached version of the site from the closest server possible. This can shave several seconds off of your website’s load time.
I’m using a CDN called CloudFlare. They’re not the only option out there but that’s who I went with. Just to give you some idea of the difference it’s made, I have two websites which use the exact same theme and plugins. They are virtually identically. I’m using CloudFlare on one but not the other. My site using CloudFlare loads, as I said, in under two seconds for first-time visitors. It is eight seconds for the other. That’s four times slower with a CDN.
However, there is one disadvantage with using something like CloudFlare. You will basically have one more potential fail point. I experienced this first hand the other night. I released an episode of my other podcast, Discovering Grace, the other morning and it had gained quite a bit of traction within the first few minutes of its release. Later that night, a fairly popular person on Twitter sent out a link to his followers. Right away it was getting retweeted by others.
So, I expected there to be a small rush to my website. I was fooling around on my laptop anyway so I went to that page of my site just to make sure everything was loading properly and that the audio file would play. Low and behold, I couldn’t load the page. I kept getting a 500 Internal Server Error. Of course, that means something is wrong on the server. Now, a flood of traffic can cause those errors, I didn’t really think that was it. Long story short, it was the CloudFlare servers that failed. I got in touch with one of their reps on Twitter and he assured me that kind of thing doesn’t happen very happen. Other than that one night, I’ve not had any problems.
In addition to faster load times, CloudFlare also adds some additional security to your site by not allowing known threats to even access your site. To set up CloudFare, first, you’ll have to sign up on their website. Second, you’ll have to change your domain name servers to the name servers CloudFlare gives you. For that, you’ll have to go to your domain management through your web host like GoDaddy or Bluehost.
As for your CloudFlare settings, I set my security profile to low. I also learned the hard way that hotlink protection should be turned off. Hotlink protection keeps other websites from using your images, but you don’t necessarily want that in all cases. For instance, I have images saved on my website that I use on other sites. As for performance settings, I went with CDN plus full optimizations. You’ll see what I’m talking once you sign up with CloudFlare.
Before I move on, let me give you a heads up. If you pay any attention to your stats–I use Google Analytics for Web stats–you’ll probably notice a drop in visitors to your site if you use CloudFlare. This is because they filter out many of the bots that would normal visit your site. So those numbers may go down, but the numbers you’ll see will more accurately reflect human visitors. I’ve also seen the number of pages per visit go up as well as the time spend on my site.
That’s it. Those are all of the steps I took to reduce my load time from 25 seconds down to under two seconds. It now takes less than half a second for returning visitors to load my website. I’d say that’s a vast improvement. Of course, I’m always thinking about mobile users as well. With just the traffic that comes to my website from Facebook, more people are using a mobile version of Facebook than the Web version. Since websites load slower on phones, it’s a great idea to make our websites as fast as possible. And let’s not forget, Google factors load time into their search equation.
Moving on, let me now give you an updated list of plugins I would recommend you install right out of the gate. I’ve already given you four of them: Smush.it, Use Google Libraries, Hyper Cache, and BJ Lazy Load. I am also using Akismet (which prevents spam comments), BackWPup (which regularly backs up your site), Blubrry PowerPress (which is for audio sermons and podcasts), Twitter Facebook Social Share (which adds those social share buttons on each post), upPrev (which adds the “You might also like…” pop-out box when a person finishes reading a post), User Avatar (which allows each user to have a picture of themselves), WP-Optimize (which cleans up your database), and WP Missed Schedule (which makes sure your scheduled posts actually get published).
For the record, I’m using more plugins than that on my site, but those are the basics. The other plugins I use are for very specific purposes that you may or may not need. Every website is going to be a little different. But that’s the beauty of WordPress. If you can dream it, chances are you can do it. Most of the time, all you need is the right plugin. If you ever get stumped, just ask me and most likely I can find the plugin you need.
One more thing before I wrap up this episode, I had someone ask me about recording Skype calls. You might want to do this on a podcast where you want to co-host or interview someone remotely. For Windows, there’s a free app called Call Graph. For Mac, I’m using an app called Call Recorder for Skype. Unfortunately, it’s about $20 but it’s a great app. I’ll have links to both as well as everything else I’ve talked about today at JeremySarber.com/TechHelp14.
Until next time, I’d love to hear from you. What do you think of the suggested $250 price tag for a website set up? Let me know. Goodbye for now.
Links from this episode
WebPagetest – Website Performance and Optimization Test
MyIPNeighbors Reserve IP Lookup
Use Google Libraries: A Plugin to Improve Script Loading Performance in WordPress
WP Smush.it WordPress plugin
BJ Lazy Load
CloudFlare | The web performance & security company
Akismet | Comment span prevention for your blog
Blubrry PowerPress Podcasting Plugin
Add Twitter, Facebook Like, Google plus one Social share
WP Missed Schedule Fix Failed Future Posts
Free Skype Recorder (Windows)
Call Recorder for Skype (Mac)
Support the podcast
Ladies and gentlemen, I do this podcast for you. I have no advertisers or sponsors. I don’t make a dime from this show. I just want to share what I know to help you or your church utilize this great technology that’s available to us. If you’d like to help me out, all I ask is that you leave a review in iTunes–even if you don’t use iTunes yourself. Visit JeremySarber.com/TechHelpiniTunes. Thanks for your support.