Here’s some interesting stats about time impact of slow web pages:
“A two second delay in response time for Bing, reduced user satisfaction by 3.8%, resulted in 4.3% less revenue per user.”
A Report By LoadStorm Confirms
One second delay in your website load time means 7% less conversions, 11% fewer page views and 16% decrease in customer satisfaction.
& Google counts poor performance against you.
Anyone Can Make WordPress Faster
One of the more frustrating discoveries is there are mostly one size fits or outdated tips on the web for WordPress. Many of the current enhancements can be made by just about anyone with access to the WordPress admin. Word of caution, backup before doing any of them.
What Makes WordPress Slow?
The company that created WordPress – Automattic can’t just “make” WordPress faster. WordPress has become the multi-tool of choice, it’s built to apply to just about anyone. It works good out of the box for most folks. But it can be customized to run much faster.
What we do with our WordPress site & the hosting environment matters. If we took a multitool and left it in the rain to rust, it won’t work it’s best. But stored, oiled and sharpened it’s useful – so is WordPress.
Speaking of environment, this video by Automattic engineer Iliya Polihronov describes a large scale server setup. The same used by WordPress.com for hosting. This proves it’s takes more than the default WordPress install to make WordPress faster.
You could essentially set up the same exact environment using our Linux cPanel VPS servers with some customization.
Top 3 WordPress Performance KILLERS
- Executing PHP code.
- Database calls.
Executing PHP code means the web-server (or place your wordpress site is hosted) has extra work to do every time a page loads. Some of the time it’s needless. For example – some huge gains can be seen replacing php with static HTML or using a caching plugin.
Database calls are like making a phone call. It requires picking up the phone, dialing, talking etc. The fewer outbound “calls” to the database means less time it takes to fully load a page.
How To Make WordPress 100’s x Faster
There’s 10 ways you can immediately make WordPress faster, much faster! There are probably more, but we believe these are the best. We also added some “Advanced” (tips 11-14) suggestions for speed and workflow.
Get Caching & CDN ASAP. The most painless way is sign-up for CloudFlare. Utilize their CDN and caching to offload the work of creating dynamic pages. There’s a few other options discussed under WP Super Cache further down.
Optimize the database. This also includes deleting spam comments and remove trackbacks (also spam, read here), set a scheduled task to do this for you every so often. The WP Optimize Plugin can do this.
Install WP Super Cache. Once you’ve activated it, and enabled there’s a few more things you can do. With WP Super Cache you can enable “CDN Support” companies like MaxCDN, CloudFlare and others can provide this. Also, within the “Advanced” tab check the “Recommended” options.
Eliminate or Replace Slow Plugins. Use the P3-Profiler to analyze the drag for each plugin installed. Consider removing or replacing plugins which cause more harm than good.
Optimize images. People still pre-optimize their images for lowest possible size within reasonable quality. If your like most folks however you don’t want to do this, so instead use EWWW Image Optimizer. Once enabled it will reduce the sizes of uploaded images. You can have it also optimize images already uploaded using the “Bulk Optimize” feature. For images that still don’t compress well, consider using this utility for Mac, ImageOptim.
Compress & Browser Cache. To tell browsers they can “cache” things like files & images your site can declare when to let them “expire”. This is referred to as “expires header”. If you don’t declare browsers can cache things, they might redownload each time the visitor comes to your site. GZip compression is another way to speed things up. This tells the browser to that you’re sending compressed versions of files. The Far Future Expiry plugin helps manage both of these features (for Linux or Cpanel users with mod_expires enabled). See these posts with links to manual steps for browser caching for both Windows and Linux & modifying the .htaccess file for speed.
Control & Remove Revisions. If you often write and edit, saving “drafts” after each edit you’re likely going to have a long list of “Revisions”. While negligible for most, it adds overhead. Limit the number of revisions and eliminate the junk with Revision Control.
Stop Hotlinking. This is particularly helpful if you have content like images or videos on your site that others might want to “use” on their site but using your web-server to do the work. If you’re using CloudFlare, this is an option, see their explanation. If not, by editing the .htaccess manually, adding rules to redirect traffic elsewhere.
Minify Scripts. Luckily this can be done with a plugin we’ve tested. Otherwise if you’re probably going to need to get someone (a developer) to help get this done. Better WordPress Minify makes this easy. The default settings should be enough. Even though we use CloudFlare, we didn’t check the “Enable CDN Support” feature. It works fine without.
Keep WordPress Updated. This is easy, and now it’s automated. Updates can be auto-applied. It’s good practice to also make sure Theme updates and Plugin Updates are applied also, manually. Always backup first.
[Advanced] Use Memcached with Batcache. This advanced feature involves setting up a secondary server and installing Memcached. Memcached serves cached content in memory – not static file based content. Preferred for a multi server setup so cached content is consistent. Batcache is a WordPress Plugin created by Automattic that helps WordPress and Memcached work together.
[Advanced] Restructure Theme. Replace php code with html where possible, this can reduce the overhead on generating pages. If you’re caching this isn’t critical, but good practice. Also consider moving any scripts to the footer manually to reduce render blocking scripts from slowing page load times.
[Advanced] Use GIT. If you’re managing a WordPress site, and make manual updates frequently, use GIT. Develop a workflow that includes a local development environment, and push changes to your production servers. If something breaks, you can easily discover where and roll back. You can also have multiple people contributing. Get started easily with Github.
[Advanced] Monitor for Errors. Airbrake seems to have a super intuitive interface for tracking application errors. We’ve discovered others using this with their WordPress install. You can also check the server’s logs manually for free 🙂
We hope this get’s you excited about the possibilities increasing the speed of your WordPress site. Making wise choices about plugins, themes and where you host your WordPress, either on VPS or shared can have an impact.
We’re always exploring ways to make Hostek cPanel VPS and Windows VPS the best choices for WordPress Hosting. If you have questions about these tips, or want hands on help with Hosting questions, talk to support, or consult free with a VPS expert.
We’re glad to help!
- LoadStorm Performance Report
- Bing user satisfaction results found on page 6 of – Integration of Performance Management into the Application Lifecycle, By Eduard Tudenhöfner