The “Back” button on a browser is your enemy. Great looking design, stunning imagery and valuable content are essential elements to convince a first-time visitor that your site is worth their time but none of these matter if your blog is impossible to access or very slow to load. You only have couple of seconds to hook a visitor and get him or her away from the “back” button. You better make each moment count. To win people over and attract more repeated visitors you should create a faster, more efficient, and improved user experience. Your visitors will love you for it and so will Google. Page load time is one of Google’s ranking factors.
How fast is my WordPress site?
The best starting point in improving your blog speed is to check your current page loading time and performance. Run the speed tests at sites below to see how fast or how slow your site is. These tools analyze site performance and provide useful advice on things you can do to optimize the loading time:
Any load time below 3 seconds and score above 75 is excellent in my book as it means that your site loads much faster than average. I am addicted to speed though so am always tinkering and optimizing. The screenshot below is how my blog performs. If your site takes longer than 3 seconds or if you want to get an even faster page loading time, read on for simple and not-too-techy tips that you can implement today and speed up your WordPress blog.
How to speed up your WordPress blog – The checklist
Choose the right web host
Invest in a good web host and the right hosting plan as your server is the foundation and the first step towards having a speedy site. Free hosts are usually not too fast and unreliable so I would avoid them. You want a host that is reliable and guarantees uptime and a server that has a fast response time. When you are starting out it is fine to run your site from a standard shared hosting plan. You can get these for around $50 per year. Look for managed hosting services that specialize in WordPress blogs. WordPress recommends Bluehost for hosting and it is a great place to start for the average new blogger. Eventually as your blog traffic increases you may outgrow the basic hosting account and may need to invest in a dedicated server but here we talk of thousands of visitors daily.
Optimize your WordPress
Your platform is what you build your site on, so it is important to get that right. For bloggers WordPress is the option to go for. It is free, it is open-source and comes as a very light and speedy platform out of the box. WordPress is used by majority of big bloggers and gets regularly updated with cleaner and leaner coding and functionality. See my post on getting started with WordPress.
To improve the performance of your WordPress install, make sure to regularly optimize the database and remove all the spam, trash and post revisions. WP-Optimize is a great plugin that helps you do just that. Also make sure to fight and eliminate those spam comments by using my guide. Last but not least follow this advice to keep your WordPress safe and secure.
Use a light, fast and clean design theme
Some design themes have more features than you will ever need. Some themes have bad and bloated code. Some have unnecessary images and JavaScripts. Choose light, clean coded design theme and try to find a balance between the looks, functionality and speed. Also pick a mobile responsive theme in order to optimize the performance of your site for visitors on tablets and mobile devices.
One option is to go with premium themes like the one from Genesis Framework that I use on my blog. Premium themes are highly likely to be developed clean coded, give you great flexibility and are speedy out of the box. They also allow you to customize your design and in many cases add a new feature with few lines of code instead of installing a plugin. Premium themes also provide support and are continuously upgraded and improved. This is not always the case with the free-to-use WordPress themes. Here’s more info on picking the right blog design.
Three free, minimalistic, lightweight and mobile responsive options are:
Check the speed impact of the plugins that you use
I love WordPress plugins as they allow me to add any feature to my site. The issue is that the more plugins you add, the more CSS and Javascripts you have on your site, and that hurts the page speed. Avoid plugins when a bit of modification to your theme with few simple lines of code will get you the same results. I’m currently using 5 plugins on my site, down from having some 20+ not too long ago.
Ballpark figure is to try and keep your WordPress to 10 plugins or less activated at any time but if you only use clean and efficient plugins you can go even higher. Consider whether the plugin truly adds any value to your site before installing it. Measure the impact each plugin has on the site load. There’s a plugin for that – P3 Profiler. Remove plugins that slow down your site. Deactivate and remove P3 when you are finished testing. Always deactivate and delete any plugin that you do not use.
P3 might identify your social media sharing buttons plugin as one of plugins that slow you down. This is very common as those buttons with share counters really are enemies of speed. Use a lightweight option like Social Sharing By Danny instead of the official social media buttons that use external scripts and make too many calls to services.
In general only use plugins that are listed in the official WordPress plugin directory. Quality signs to look for are plugins with high number of downloads, regular and recent updates and good reviews.
Optimize the image size, scale images and use lazy loading
Images are an integral part of any site, they brand your site and they keep your visitors interested in your posts. What many bloggers do wrong is that they upload the original, high resolution image and scale it down inside the WordPress interface to fit the size they need for their post. This way the size of the image is huge and dramatically impact the loading time. When saving the image in your image editor make sure to resize the image to the exact dimensions you need it for your content.
Also keep the image size low, somewhere around 100kb or less per image. Compress the image by using “Save for web” in your image editor before you actually upload it to your site. Saving for web reduces the size of your image file without compromising the image quality itself. EWWW Image Optimizer plugin is a solution that automates this process as it compresses your images as you upload them onto your blog. WP Smush.it can help optimize your existing archive or images in a lossless way by stripping meta data and compressing.
If you have an image heavy site like a fashion blog or a food blog you should consider using BJ Lazy Load plugin. Lazy loading only loads images that are in the browser’s view (i.e. above the fold) and loads the rest only as the visitor scrolls down the page.
Enable caching, minify and CDN
This part is a bit tech heavy but is arguably the fastest and most effective way of speeding up your page load time. Install a caching plugin, activate it and you will automatically see an improvement in your speed. Caching plugins speed up your site by generating static files and serving those files to your visitors instead of the dynamic files as WordPress does on default (dynamic means that they are refreshed every time they are viewed).
I use W3 Total Cache on several of my projects and it does a great job. The plugin was created by Frederick Townes, the senior technical advisor of Mashable, and they use it too. It is a very powerful, advanced plugin that is a bit overwhelming first time you look at it because of all the different options. Activating it with default settings will be fine for majority of bloggers though. In Performance – General Settings make sure all of the below are enabled:
- Page Cache to create a static version of your site and serve it to your visitors. Choose “Disk: Enhanced” as page cache method
- Minify to remove unnecessarily characters in your files and consolidate CSS and JavaScript files in order to reduce the size and the number of files needed to be downloaded
- Database Cache, Object Cache and Browser Cache to cache the static files and do gzip compression
You also have the option to enable CDN (Content Delivery Network) support to offload static files to fast data centers around the world. MaxCDN is the very powerful premium CDN solution. It might be too much for an average blogger but it is useful to more experienced and bigger bloggers that are OK with investing a bit more. CloudFlare is a free alternative that you can test.
As most of the above have to do with your theme files make sure to test your site when you enable these options in order to check that your design is still displaying properly.
Just keep it simple, stupid
In order to keep your site speed as fast as possible think like a minimalist. Consider simplicity and user friendliness when making any decision. This will not only help the experience of your visitors but will decrease the site loading time. Remove inessentials and eliminate elements that don’t matter. Remove buttons, widgets, flashy ads and pop-ups. Think about what purpose these elements have and test how they affect the speed. Some things to consider:
- Show less posts on front page and category pages
- Show post excerpts and summaries instead of full posts on front page and category pages
- Simplify your navigation menu, sidebar and footer. Only keep necessary widgets
- Restrict the amount of flash and image based banner ads. There are more effective options to monetize your blog
Thanks a lot! Was really helpful for a wp beginner like me ;)
There is much more then this to be done outside the wordpress.
In the server side there are many ways to improve wordpress.
My best advice is use
VARNISH to cache it.
lighthttpd is much lighter then apache