Imagine visiting a site where every page took several seconds to load.
Frustrating, isn’t it?
The truth is, many bloggers neglect their website’s loading speed as they load up on fancy visual elements — from image carousels to interactive widgets.
That’s not the way to impress your audience.
What they need is a blog that loads fast, maximizes readability, and delivers the information they want pronto.
Let’s discuss how to give them what they want.
Why is Page Loading Speed Important
In addition to improved user experience, a fast loading speed also has numerous benefits from a marketing standpoint.
Retain More Traffic
Statistics show that around 40 percent of users would leave a site that fails to load in three seconds or less. This figure jumps to 53 percent if we’re talking about mobile users.
And you wonder why your blog has such an abysmal bounce rate.
If you keep on ignoring your blog’s loading speed, you’re basically cutting your traffic potential in about half.
Did you know that a one-second delay in load times causes a 7 percent dip in conversions?
To put things into perspective, that’s a loss of $7 each time you secure conversions worth $100.
It may not seem huge, but remember that your competitors’ websites are only a few clicks away.
Once readers move on to a different blog with better user experience, they may never look back.
Higher Search Engine Rankings
In case you didn’t know, search engines like Google are very particular when it comes to user experience.
That’s why they look at loading speed as an important ranking factor not just for desktop, but also for mobile websites.
If you’re unfamiliar with the term SEO or Search Engine Optimization, I suggest you start learning using this post.
For now, allow me to show you the next step to achieving top-notch blog performance: measuring the actual loading speed of your blog.
How to Test Website Loading Speed
You may think your website already runs fast enough, but only a tool like Google’s PageSpeed Insights can prove it.
Put simply, it is a performance optimization tool that analyzes the speed of your website, detects issues that affect speed, and provides a list of suggestions along with helpful resources.
To use PageSpeed Insights, go ahead and enter your blog’s URL and click ‘Analyze.’
Just give PageSpeed Insights a few seconds to work its magic.
When done, the first thing you’ll find is an in-depth assessment of your website’s performance, including your speed score, factors that affect loading speed, and estimated latency or the delay before user inputs can be registered.
You can also use PageSpeed Insights for mobile performance by switching to the ‘Mobile’ tab. The tool should immediately present you with a different report that reflects your blog’s performance on smartphones and tablets.
Found your speed scores yet?
From here on out, I advise you to use them as your primary means of measuring your website’s performance.
Your goal is simple: to perform as many optimizations as needed to reach the “fast” end of the speed score scale.
Let me show you what I’m talking about.
You may read somewhere that a speed score of at least 85 is good enough, which is actually quite true given that even big sites like Facebook have scores of less than 90.
But as a budding brand trying to make a dent in your niche, settling for “good enough” is never an option.
You should always embrace opportunities that will help you get ahead of the competition.
Improving the user experience on your website by bumping up your loading speed is one of these opportunities.
Ready to take the next step? Then let’s get to it.
How to Reduce Blog Loading Time
Now that we’ve covered the “why” of page loading speed optimization, it’s time to talk about the “how.”
If you know a thing or two about web development, performing the recommendations shown in PageSpeed Insights should springboard your performance optimization campaign. You should be able to find them right below the “Lab Data” section.
Naturally, the suggestions you’ll get on PageSpeed Insights depend on the overall state of your website. Most of the common optimization recommendations, however, will be included in the list of strategies I’ve put together below.
Without further ado, here are the proven steps to a much faster and profitable blog:
1. Remove Unwanted Plugins
You can feature an online booking widget, create custom opt-in forms, build impressive landing pages — without writing a single line of code the whole time. Just use the integrated search bar to quickly find a plugin that meets your needs.
Talk about convenience.
However, utilizing plugins can be a double-edged sword.
You can’t just load up your website with as many plugins as you like.
Too many plugins in one page can eat up server resources and slow your site down to a crawl.
If you never paid much attention to your plugin library, chances are you installed redundant plugins that have similar core features.
You would think that WordPress will warn you if you’re about to install multiple plugins of the same type.
Unfortunately, that isn’t the case.
Just take a look at the many form builders I can cram into my WordPress dashboard:
The good news is, conflicts between similar plugins can be easily be fixed by deactivating the ones you no longer need.
To do this, expand the ‘Plugins’ menu from your dashboard and go to ‘Installed Plugins.’ From there, select all the plugins you don’t need and apply the ‘Deactivate’ or ‘Delete’ commands from the “Bulk Actions” drop-down menu.
Apart from conflicts between similar plugins, certain plugins — especially those untested with your current version of WordPress — could cause your dashboard to go haywire.
You can avoid this by installing one plugin at a time while avoiding “untested” plugins.
If you run into longer loading times, crashes, or other problems on your WordPress dashboard, deactivate the last plugin you installed. If the issue persists, then it’s probably caused by another plugin.
That’s when you can deactivate all plugins and switch them on one by one until you find the culprit. Once you do, consider looking for an alternative plugin or updating it to the latest version.
2. Look for Plugins that Do More
While we’re on plugins, let’s have a quick word about your plugin choices.
In WordPress, the fewer plugins, the better.
As much as possible, look for plugins that can wear many hats rather than installing a new one for every feature you want to implement.
For example, rather than using separate plugins for contact forms, star ratings, reviews, and landing page design, just use a plugin like Elementor Page Builder that rolls all these features into one.
After shedding off the excess plugins from your CMS, let’s look at another factor that may cause your website to run slowly.
3. Upgrade Your Hosting Plan
For new bloggers, a one-dollar hosting plan for your website is really hard to resist.
But once you start generating hundreds, if not thousands, of visitors per month, you’ll understand why hosting companies offer plans at this price point.
Frequent slowdowns, downtimes, poor customer support — these are some of the downsides of picking a cheap web hosting solution. That’s mainly because one-dollar hosting services typically use underpowered, baseline server hardware.
‘If you’re serious about blogging, your website deserves something better than the cheapest hosting plan.’ – Ankit Singla
Do your research and look for web hosting companies backed by plenty of positive reviews, such:
When in doubt, you can use a tool like Pickuphost to test the speed of any host you’re considering. All you need to do is choose your hosting provider from the drop-down menu, select the server location, and click ‘Start Test.’
Ideally, you should choose the server location near your target audience.
You may also notice that most hosting companies offer multiple plans, including shared, Virtual Private Server or VPS, and dedicated.
For most blogs, a VPS hosting plan should be more than enough to handle your website’s bandwidth needs. A shared hosting plan, on the other hand, may also be viable if you’re not getting hordes of traffic yet.
I recommend starting out with a shared hosting first and upgrading to a VPS-powered plan once your blog’s traffic picks up.
Perhaps the only reason to choose dedicated hosting is if your site also features an online store with hundreds of products. In which case, even a VPS host may not have the bandwidth capacity necessary to keep your digital shop up and running.
4. Pick a Better Theme
Speaking of bandwidth, you can reduce your website’s bandwidth requirements by choosing a more simple, minimalist theme.
WordPress users should immediately get what I’m talking about.
After all, the WordPress theme library already has several free minimalistic themes. Even third-party theme designers feature tons of lightweight themes that can improve your website’s performance.
The key here is to look for themes that aren’t studded with unnecessary visual details, such as image sliders, animations, and CSS effects.
You can check for these elements yourself by previewing themes, which is a staple feature in most theme marketplaces, including the WordPress theme directory.
Genesis child themes from Studiopress are among my favorite themes for WordPress. They offer dozens of minimalistic, mobile-friendly themes that are also compatible with the Gutenberg editor, which is the default content editor for WordPress version 5.0 and later.
More importantly, these themes will help you achieve faster loading speeds for your site.
To learn more about Genesis themes and their benefits, you should definitely check out this review.
5. Optimize Your Images
Not all visual elements that impact your website’s performance are baked into your theme.
Every image you upload to your website, be it your website’s logo, featured images, buttons, or infographics, inflate your blog’s bandwidth requirements and therefore affect performance.
But since visual content is a must-have in every blog, you can’t just stop spicing up your posts with images either. Instead, you can use an image compression tool like Kraken.io to reduce the size of your images without any noticeable changes in quality.
Kraken.io comes with a free, cloud-based lossless compression tool that can optimize images in bulk. Simply drag and drop your images into the tool or upload a zipped folder to initiate the compression process.
Don’t forget to set the compression mode to “Lossless” so the final images won’t look blurry.
For self-hosted bloggers, you can increase WordPress speed with a plugin like WP Smush to compress all images in your media library in one go. Just click ‘Smush’ from your dashboard and ‘Bulk Smush Now’ to get started.
WP Smush also gives you the option to automatically compress images as soon as they’re uploaded. To enable this feature, switch on ‘Automatic Smush’ under the “Settings” section of the plugin interface.
Remember, image compression is only one of the things you should do if you’re a fan of visual content — just like me. As such, I urge you to read my detailed guide on image optimization and SEO.
6. Disable Hot Linking
Even with lossless compression in place, your images can still hog up your server resources and slow your site down because of hotlinking.
This is a common practice where another site directly links to your image or file — allowing them to display these resources on their own page.
Sure, having your content shared on other websites is great when done the right way. But with hotlinking, these sites ultimately use the bandwidth you’ve paid for by pulling content from your site.
That’s why hotlinking is also commonly referred to as bandwidth stealing.
You can stop hotlinking once and for all by adding the following code to your “.htaccess file”:
gzip_buffers 16 8k;
For those who don’t know where to find their website’s .htaccess file, it can be found on your hosting account’s control panel.
What you need to do is look for your hosting service’s “file manager” and navigate to your website’s root folder. Your .htaccess file should be right there with an icon that resembles a notepad:
7. Invest in a CDN
Done with image compression and hotlinking prevention?
What if I told you that there’s a way to make your images load even faster?
With a Content Delivery Network or CDN, you can leverage an entire network of proxy servers to speed up the transfer speed of your website’s data to users.
The best part is, CDN service providers see to it that their servers are distributed across key locations around the globe. This significantly reduces the problem of latency that visitors from distant areas normally experience.
Just like web hosts, you need to be careful when choosing a CDN for your blog.
Don’t worry — I created a list of the best CDN Services for WordPress blog you can use.
I can personally vouch for MaxCDN, which is, by far, among the best CDNs in terms of cost and features.
8. Minify Your Codes
Your images aren’t the only things that can increase your website’s bandwidth requirements.
The fix? Minify them by removing any unnecessary characters within the code, such as white spaces, extra lines, and comments.
These characters do not, in any way, affect the function of the code, but they do increase its file size. In turn, browsers will take longer to download and run the code when loading your page.
Wait a minute — does that mean you have to go through each code on your site to remove unnecessary characters one by one?
Just like with image compression, there are tools you can use to automate this process.
If you use WordPress, an alternative is to use a plugin like W3 Total Cache, which can minify your code assets in one fell swoop.
Once installed, click on ‘Performance’ from the main dashboard and click ‘Minify’ to view your options.
I recommend turning on the following settings to optimize your website’s code for improved performance:
- HTML minify settings
- JS minify settings
- CSS minify settings
Read this W3 Total Cache Tutorial for all the optimal settings.
9. Avoid Render-Blocking Resources
Since we’re on the topic of codes, let’s delve into more advanced stuff.
If you ran PageSpeed Insights and got told to “eliminate render-blocking resources,” you may need to get your hands dirty with some coding in order to maximize your blog’s performance.
In a nutshell, render-blocking resources are codes that obstruct the loading of a website’s core HTML content. That means your logo, menus, posts, and other essential elements of your page won’t load unless the problematic resources are loaded.
Render-blocking resources can be stylesheets, HTML imports, and various scripts. PageSpeed Insights should provide you with a complete list of these codes:
You may also use the “defer” attribute to have the script load onlyafter the HTML has been fully loaded. This can be done by inserting defer=”defer” within the “<script>” tag.
Check out this post for more information about render-blocking resources and what you can do to optimize them.
Of course, you can always get help from a web developer if you’re uncomfortable working with codes. Alternatively, you can use a plugin like Autoptimize to automatically defer scripts to your website’s footer — yet another WordPress speed optimization plugin that makes your job a hundred times easier.
10. Reduce the Number of Posts on Your Homepage
Next up, let’s talk about the number of posts shown on your homepage.
CMS like WordPress and blog publishing platforms often have a plethora of themes that showcase blog posts from the get-go.
If you use high-quality featured images for each post, users will inevitably need more time to load your homepage.
I personally display only four posts on my homepage for good measure:
Granted, browsers may pull up your blog posts’ titles — sometimes including a description or the first few lines of your content — while images are being loaded. But that still diminishes the overall fluidity of the user experience on your website.
On the plus side, most website platforms and CMS allow you to reduce the number of posts shown on your homepage.
Since the settings you need to tweak for this varies from platform to platform, let’s just take a look at how it’s done on WordPress.
From the main dashboard, click ‘Settings’ and go to the ‘Reading’ section.
You should immediately see the “Blog pages show at most” setting. Feel free to tweak the default value to any smaller number and check if this improves your website’s loading speed.
11. Don’t Flood Readers with Ads
Although post previews on your homepage can negatively affect your loading speed, at least they have a positive benefit to your readers’ experience.
Ads, however, often don’t.
While it’s true that ads are definitely useful in monetizing a blog, your readers probably won’t appreciate it if you disrupt their experience with several ads on a single page. More importantly, setting up ads in every corner of your website will cause a drop in its performance.
That said, it’s best if you let your audience focus on the important elements of your blog and keep ads at a minimum.
I, for one, am not willing to compromise the experience of my readers for the sake of extra income — as you can see on my website with absolutely zero ads.
If I were you, I’d just prioritize affiliate links as my primary monetization strategy. These are contextual links pointing to products or services that can be helpful to users.
How do you make money with affiliate marketing?
You can refer to my affiliate marketing guide if you’re interested.
12. Clean Up Your Server
At this point, you should’ve already grasped the correlation between loading speed and the amount of clutter on your website.
It’s really simple: if you keep your blog minimalistic and light, browsers won’t take much time to get everything loaded and presented to users.
Always be prudent when adding more elements to your website, be it visual content, scripts, or ads. At the same time, be sure your hosting account still has ample disk space to keep your website running buttery smooth.
Your hosting account should have a built-in tool that lets you track your overall disk usage. To give you an idea, here is a screenshot of SiteGround’s Disk Space Usage tool:
If your hosting account is running low on space, here are some of the things you can do:
- Move Backups to a Local Drive
Older websites tend to have gigabytes of backups stored in their hosting server. Downloading them into a local drive and deleting them from your server is a great way to free up space.
- Delete Inactive Accounts
If you have inactive accounts in your hosting plan lying around, remove them for good to save you a lot of disk space. Since this is an irreversible process, consider creating a local backup of the account first before deletion.
- Delete .TMP Files
Your website platform or CMS may generate temporary files from tasks like plugin updates and session data tracking. It should be safe to delete them, but it won’t hurt to create an offline backup of your “tmp” folder for safety purposes, either.
When in doubt, contact your hosting service provider’s customer support on how to save disk space.
13. Enable Website Caching
Compressing images, minifying code, minifying ads, clearing up your hosting account — your website’s loading speed should be as fast as ever with these strategies.
But don’t relax just yet. We still have a few more strategies to discuss that will boost your website’s loading speed even further.
With website caching, your blog can load almost instantaneously for returning visitors.
Website caching works by enabling the temporary storage of data, including scripts, images, media files, and other forms of downloadable content — thus, reducing the number of HTTP requests a browser has to make.
To implement website caching, the long method is to insert the following code right into the top of your website’s .htaccess file:
## EXPIRES CACHING ##
ExpiresByType image/jpg “access 1 year”
ExpiresByType image/jpeg “access 1 year”
ExpiresByType image/gif “access 1 year”
ExpiresByType image/png “access 1 year”
ExpiresByType text/css “access 1 month”
ExpiresByType text/html “access 1 month”
ExpiresByType application/pdf “access 1 month”
ExpiresByType application/x-shockwave-flash “access 1 month”
ExpiresByType image/x-icon “access 1 year”
ExpiresDefault “access 1 month”
## EXPIRES CACHING ##
If you want, you can set different time limits before certain caches expire. For example, if you want to reduce the expiration time of PNG image caches to 1 month, simply modify the “ExpiresByType image/png” line into:
ExpiresByType image/png “access 1 month”
Again, WordPress users can use tools to make this optimization strategy a breeze. In fact, we already went through the very plugin you need — W3 Total Cache.
Going back to the ‘Performance’ sub-menu from your WordPress dashboard, head over ‘Page Cache’ tick the ‘Cache posts page’ checkbox.
14. Use GZIP Compression
Before you close W3 Total Cache and proceed with the last remaining strategies in this guide, there’s one more thing you should do.
From the ‘Performance’ sub-menu, head to ‘Browser Cache’and check the ‘Enable HTTP (gzip) compression’ option.
GZIP compression improves the download speed of text-based files by reducing their size — not too different from the process of compressing your local files into a zipped folder. The main reason why GZIP compression is widely adopted for website speed optimization is that it’s natively supported by HTTP from version 1.1 onwards.
If you don’t use WordPress or any other platform that has GZIP-related add-ons, then you’ll need to enable it using the traditional way: modifying your website’s .htaccess file.
Because you already know where to find your .htaccess file, all that’s left is the code that activates GZIP compression on your website.
Go — copy and paste away.
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0 no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
gzip_buffers 16 8k;
Keep in mind that, for NGINX users, you need to paste the code to your “.conf” file in order to implement GZIP.
Testing GZIP Compression
If you enabled GZIP compression manually, use a tool like the GZIP Compression Test by GiftOfSpeed to verify successful implementation.
Similar to PageSpeed Insights, the only step in using the GZIP Compression Test is to enter your website’s URL and click the ‘Check’ button.
Within seconds, the tool should verify whether or not GZIP compression is activated on your website. It will also show you its compression percentage, along with its sizes before and after compression.
15. Optimize Your Website Database
Fixing render-blocking resources and enabling GZIP compression are among the most advanced strategies in this post, but we’re not done yet.
The next step is to optimize your MySQL database tables to help your server fetch the data your users need faster.
What are MySQL database tables?
In simple terms, your MySQL database contains virtually everything there is to find on your website, including posts, comments, dates, and other pieces of content. Blog publishing platforms and CMS like WordPress then automatically create tables in your database as you add more information to your site.
Here’s what a MySQL database looks like:
However, your database will also accumulate all sorts of junk over time, including pingbacks, spam comments, and post revisions — steadily growing in size and affecting your website’s performance.
To de-clutter your MySQL database, one option is to use the integrated table optimization tool on your hosting account’s control panel.
SiteGround, for instance, has the ‘Optimize tables’ command from the ‘With Selected:’ drop-down menu.
These options can be found in the “phpMyAdmin” tool, which should be under the “Databases” section of your control panel.
As a rule of thumb, always create backups of your databases before you perform optimizations. Download them into a local drive to save your hosting account’s disk space.
Worried you might mess something up on your server?
With a WordPress plugin like WP-Sweep, you can optimize your database tables from within the CMS interface. After installing and activating the plugin, go to ‘Tools’ and click ‘Sweep’ to view the database tables found on your site.
From there, you can click ‘Sweep’ for individual database items to delete them — or scroll to the bottom of the plugin page and click ‘Sweep All.’
Just be sure you don’t have any post drafts since a full sweep of your database tables will also delete them. While you’re at it, check your unapproved comments so you don’t accidentally remove questions, valuable feedback, and other concerns voiced out by your readers.
16. Optimize User Comments
Talking about comments, WordPress blogs also have a handy feature that can instantly pull in the commenter’s profile photo via the Gravatar or Globally Recognized Avatar service.
While gravatars add a nice touch to your blog’s comment section, they do have an impact on your website’s loading speed. This compels some WordPress bloggers to disable showing them altogether.
To do the same, go to ‘Settings’ and then click ‘Discussion.’ Look for the ‘Show Avatars’ option below the “Avatar Display” section and deselect it.
If you want to keep gravatars but don’t like their effect on loading speed, you can use a plugin like BJ Lazy Load to make avatars load after critical website resources — a process known as lazy loading.
Apart from avatars, you can also enable lazy loading for post thumbnails, images, iframes, and other types of content. You simply need to go to ‘Settings,’ select ‘BJ Lazy Load,’ and choose ‘Yes’ on the options you want to use.
As far as WordPress comments go, another tip on how to increase page loading speed is to use pagination. This splits the comments on your posts into multiple pages — reducing the time it takes for browsers to load and render them.
To use pagination, simply head back to the ‘Discussion’ settings page and enable the option to ‘Break comments into pages with X top level comments per page.’
Try reducing the number of comments visible per page from the default value of 50 to anywhere around 10. This should significantly improve the loading time of comments and, in turn, your blog content.
17. Focus Optimization on Your Top Pages
Before we end this post, here’s one last piece of advice:
Start optimizing the performance of your most popular pages.
It won’t make sense for you to prioritize posts that barely get any traffic. On the flip side, making your top pages a priority means your efforts will benefit the most users.
Google Analytics is yet another free tool that will help you identify your top pages. Simply expand the ‘Behavior’ sub-menu and click ‘Overview’.
Your top 10 pages should be visible under the “Page” section.
You can also use Google Analytics to perform in-depth keyword research — a topic that I discussed in my post on how to find your top performing keywords with Google Analytics.
As a blogger, you should be prepared to do anything for the sake of user experience.
Your website’s loading speed may seem like a superficial factor, but it can single-handedly make or break the success of your blog — not just from a UX perspective, but also in terms of SEO.
Now, I know you won’t be able to apply all the strategies above in a single day. That said, don’t forget to bookmark this page and join our public Facebook group for more killer blogging guides!