Question from Carrie: I have a WordPress blog that averages around 2200 visitors a day.
When I first started this blog the pages loaded very quickly, almost instantly. But now it takes them forever to load, often as long as a minute or more.
I’ve read everything I could find about how to make blog pages load faster and so far nothing has helped.
I’ve cut back on my images quite a bit and optimized the ones I’m still using. I cut the number of WordPress plugins I was using from 16 to 5.
I even ran a malware scan in my blog like you recommended in this post.
I’m at a loss as to what I’m doing wrong. Do you have any idea what could be making my blog load so slowly?
I know that being on a shared server isn’t the best, but surely it wouldn’t slow my blog down that much would it?
Rick’s answer: Carrie, you didn’t mention which web hosting company you’re using to host your blog or whether your blog slowed down over time or it went from being a speed demon to a snail virtually overnight. Therefore, I can only give you some general information and advice.
First, I’ll discuss what typically causes a blog to slow down gradually over time…
If your page loads times increased slowly without any massive jumps or spurts, it’s most likely a natural result of your blog growing as you added more and more content.
As more posts are added to a blog, those additional pages typically attract more and more visitors from search engines, links on other websites and other traffic sources.
This is more or less a natural progression for active blogs. More pages draw more visitors, which in turn results in more total daily page views. And as the daily page views increase the time it takes your server to assemble and deliver those pages to your visitors’ browsers also increases.
All things considered, it’s a GOOD thing when a blog slows down over time because that means your blog is active and growing, both in terms of size (i.e. the number of blog posts) and traffic (how many people visit your site every day and every month).
When it comes right down to it, the only effective way to speed up a blog that has slowed down due to growth is to either purchase a higher-tier hosting plan with your current web hosting company or move your blog to a different (but better) web host altogether.
Again, you didn’t mention the name of your current hosting company, but since it takes over a minute for a page to load I’m guessing that your host might have grossly oversold their shared servers.
If you believe that to be the case as I do, I recommend that you first try moving your blog to a better web hosting company.
Hint: If a hosting company’s servers still use hard drives instead of SSDs you should immediately strike them from your list of potential candidates.
Also, if your blog is currently hosted on a shared web server (a server that hosts lots of other websites in addition to your blog), I strongly recommend that you move up to a better hosting plan (either a VPS or WordPress Hosting).
Now, lets discuss what typically causes page load times to dramatically increase over a relatively short period of time…
If your blog chugged along with roughly the same page load speeds for an extended period of time and then page loads slowed to a crawl virtually overnight, that could mean your blog was hit by a sudden massive surge in traffic.
The reasons for a sudden slowdown could be either good or bad, depending on what those reasons are.
For example, one really good (as in beneficial) reason for a sudden slowdown would be a huge jump in your blog’s search engine rankings.
If one or more of your blog posts rises to the top of the search results for a popular search term the resulting sudden burst in traffic could easily overwhelm the resources allocated to your site under your current web hosting plan.
This blog is a perfect example of that. Several years ago a major Google update caused several of my most popular blog posts to rise dramatically in the Google search results.
Literally overnight the number of daily visitors to RicksDailyTips.com jumped by a factor of 8.
Unsurprisingly, the shared server that was hosting the blog back then simply couldn’t support that much traffic. In fact, the pages didn’t just start loading slowly, they stop loading at all!
As mentioned above, that was a GOOD reason to have my blog grind to a halt. After all, more traffic is always good as long as it is REAL traffic, and traffic from Google is just about the best traffic you can hope for.
To get my blog back up and running smoothly I moved it from the shared server it was on at the time to a Virtual Private Server (VPS) that had enough oomph to serve the number of pages that were being requested thanks to Google’s newfound largess.
Another GOOD reason for a sudden slowdown in page load times is having one of your blog posts go viral on social media.
If a post starts getting shared like crazy on social media or up-voted to the front page of Reddit, the sudden burst of traffic can easily bring even the best shared server or even an entry-level VPS to its knees.
I had exactly that happen to this blog back when this post went viral on Facebook.
Most of my blog posts end up getting anywhere from a couple of hundred to a few thousand Facebook social shares, but that post ended up getting over a quarter of a million shares in the span of a week!
During that “viral week” my blog’s traffic increased to the point where even my already beefy VPS server couldn’t handle it. I ended up having to bump my VPS hosting plan up to a higher tier.
As usually happens when a post goes viral, things calmed down in a little over a week when the massive traffic level began to subside. Before long things were more or less back to normal, but I’m happy to say that a large portion of that extra traffic decided to hang around.
When all was said and done the number of unique daily visitors to RicksDailyTips ended up staying about 30% higher than what it was before that one post went viral.
In short, having this blog hosted on a great server saved my bacon.
My bottom line recommendation is this Carrie: I strongly recommend that you switch from your shared hosting plan to a more capable plan with either your current web host or with another top-rated hosting company.
Personally, I wouldn’t have much confidence in your current hosting company since your current page load times are so long, but you are certainly free to give them another chance with a better plan if you wish.
That being said, if I were you I would simply take the plunge and move up to a better web host right away and save yourself the hassle of having to make a second move in a week or two.
And now a few recommendations…
1 – Install a good caching plugin
If don’t have one installed already, I strongly recommend that you install a quality caching plugin on your blog.
A caching plugin will dramatically speed up your blog by creating static copies of all of your blog posts and pages, then deliver those cached copies every time a visitor’s browser requests a page from your blog.
Those cached copies will load a lot faster in your visitors’ browsers because your server doesn’t have to take the time to assemble all the “parts” of a page together before sending it to the browser.
There are several really good caching plugins available, but I use and recommend WP Rocket. While WP Rocket is a premium plugin, I believe it’s well worth the small yearly fee because it’s hands-down the most effective caching plugin I have ever used.
If you would prefer to use a free caching plugin I believe your best option is to go with WP Fastest Cache. While it isn’t as good as WP Rocket (no free caching plugin even comes close), I believe it’s the best free option available.
2 – Use a Content Delivery Network (CDN)
A CDN can be a game changer when it comes to speeding up a sluggish blog, especially if it’s a busy blog that receives a lot of traffic from several different countries.
In a nutshell, a CDN network consists of many different servers that are located in various countries around the world.
Those remote servers each store static copies of your blogs pages and serve those copies to visitors that are closer to that server than any of the CDN’s other servers.
This helps speed up your blog in two ways…
First, the static pages load faster in the visitors’ browsers because the server doesn’t have to take the time to assemble all the components of the page into a single page before transmitting it to the visitors’ browsers.
Second, since the pages are being delivered to visitors’ browsers from the closest server, it takes less time for the info to be delivered over the Internet.
There are several great CDNs to choose from, but I use and recommend CloudFlare.
3 – Use file compression on your images
Always make sure every image you use on your blog is compressed to make it as small (in terms of bytes) as possible.
You can always use a plugin like Smush to compress your images after they have been uploaded to your server, but personally I prefer to compress them manually using a fantastic web-based tool called TinyPNG before I upload them.
That’s all there is to it, Carrie. I hope the info I’ve provided here helps. Good luck!
Update from Carrie: Thank you so much, Rick! I took your advice and signed up for a WordPress Hosting Plan with DreamHost and they finished transferring my blog to the new server yesterday morning.
They also set up a CDN for me and the speed difference with the new server and CDN is phenomenal. The pages seem to jump onto the screen! You are my hero!!!