So, you have reached Part 2 of WordPress Performance for your site. (the thrilling saga continues).
To reach Part 1, please click this link: Part 1
Previously on WordPress Perfomance for your site- make your site SIZZLE!
We spoke about CDN’s, Hosts (Siteground) and Themes (Generatepress) … so once you have this all in place and you have some content up… HOW do you try to make your site faster?
Your site should already be reasonably quick, due to a light theme and a good host…NOW, let’s look at doing BETTER.
Some of the things that will have quite a big impact on your site:
Table of Contents : Part 2
- Upgrade to PHP7.
- Change to secure “HTTPS”.
- Stop WordPress Virtual CRON Jobs and change to REAL CRON jobs.
- Important: TAKE A GOOD LOOK AT YOUR SITE AND SPECIFICALLY YOUR HOME PAGE.
to be continued into a Part 3
1. Change your site/ Upgrade to PHP version 7.
PHP 7 is well written up in technical blogs, has more advantages for developers and IMPROVES speed for your site (as opposed to version 5.6).
If you have access to your cPanel, you can, on most hosts, access a PHP version manager.
As with most things, do not just do… you first need some kind of a check to see that it won’t mess up your site… luckily, I can help you there.
WARNING: Siteground (very good hosting company) have indicated that changing upwards from version 7 to the new version 7.1 (the latest) could bring about problems. So, if you are on version 7… do not just change to 7.1. without doing due diligence and checking everything out.
To check if you are able to upgrade to PHP v7, i.e. are all your plugins compatible, you can use the tool on this page: https://wpengine.com/blog/php-7-compatibility-checker-plugin/
Once you have verified that your plugins and so on are compatible with PHP7, you would use the PHP Version Manager in your cPanel to upgrade your version.
NOTE: I was informed that the PHP7 version is as fast if not faster than HHVM (the PHP execution engine created by facebook for speed- which is offered by hosting companies as part of their caching tools or stand alone)
More info:
https://wordpress.org/plugins/php-compatibility-checker/
https://wpengine.com/blog/php-7-the-way-of-the-future/ (bit more information on PHP7 vs HHVM).
When upgrading to PHP7, consider the order of things:
Load compatibility plugin- check compatibility with plugin-
Remove all caching on your site-
Go into development mode if you are on a CDN and the CDN allows for it- then the site is “clean”- also if you have been using HHVM, remember to remove the script for HHVM in the HTAccess.
Then, hopefully you will not experience problems from the cache plugin or the CDN cache – thereafter (after upgrading and checking), activate the caching again.
2. Change to Secure Certificate (HTTPS)
Upgrade your site to a secure site, get a SSL CERTIFICATE.
Without going into too much detail about this, a few points should be kept in mind.
- Google does give better rankings to https, as opposed to http sites (or so the Interwebs say- as no one outside of Google has access to their algorithms).
- The use of HTTP/2 protocol, that results in serious loading speed gains, is supported by browsers only over encrypted connection.
- And… obviously, you would be wanting to protect your site visitors by using HTTPS- as it is the right thing to do.
You no longer need to pay a large sum for obtaining a certificate, as Lets Encrypt are providing them for FREEEEE!(in the interests of making the web a safer place).
Note the following:
- You do get different types of certificate, so if you have subdomains, or different “parts” to your site… make sure that the Lets Encrypt certificate will do the trick and be sufficient for your needs.
- A lot of hosts will allow for the Lets Encrypt certificate for free on their managed wordpress (however, NOTE that some hosts do not. I suspect that this is so that they can continue to derive revenue from the sale and setting up of certificates). Siteground do allow and in fact encourage the use of https, here’s a post from their blog: https://www.siteground.com/go/blog-https
- Remember, if you are planning on an online shop, your site will need a Secure Certficate.
- Some newer browsers are starting to indicate that you are not on a secure site… so , I have no doubt that sites without secure certificates will start to lose some traffic just from this.
- Remember, to redirect your site to only load with HTTPS.
3. Stop WordPress Virtual CRON Jobs and change to REAL CRON jobs.
WP-cron jobs
If you have access to your C-Panel (you more than likely will have, if you are using wordpress.org and have a self hosted site- managed hosting or otherwise).
What is a CRON job?
WordPress has a ‘virtual’ cron job scheduler (cron job:The software utility Cron is a time-based job scheduler in Unix-like computer operating systems. People who set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals. … cron is most suitable for scheduling repetitive tasks.- CRON Wikipedia).
You can adjust this, so that you are using a REAL CRON job– a job that runs off your server at the time you set… as opposed to WordPress virtual jobs which run when someone visits your site.
You should only be looking at this is you are trying to sort out issues (I was looking at a whole lot of 404’s coming up in the redirection plugin- so doing this was simply to try and eke out a better load time), if you want more control over when the jobs are run, less load on your server if you have a high traffic site, etc.
Only do this (in fact anything on your site) if you feel comfortable in what the change is actually doing.
The objective of doing this is to get your jobs/ looking for updates etc. done at a specific time, as opposed to whenever someone enters your site (i.e.- moving from WordPress virtual CRON to REAL CRON jobs)
I used the following articles to implement this on my site (I saved about a second load time after doing it on my other site):
http://support.hostgator.com/articles/how-to-replace-wordpress-cron-with-a-real-cron-job
(remember, that if you have multiple sites running on your account that you should be looking at implementing staggered cron jobs).
http://wpweb.co.in/documents/replace-wordPress-cron-with-a-real-cron-job/
(ask your hosts for the exact code that you are going to need to be certain- when you get to the section to enter the new command for the added cron job).
(you should be making a backup before you do anything with your wordpress config file).
4. Important: TAKE A GOOD LOOK AT YOUR SITE AND SPECIFICALLY YOUR HOME PAGE.
Most of the optimising that we have done to this point is server level, bigger picture stuff.
We are now getting to where we look at the actual site as a content portal of fascinating information (your hard work, sweat of the brow creation).
My 1st suggestion here is logical (yet often overlooked).
TAKE A STEP BACK.
Shut off all distractions… look at the site on desktop…look at your Home page… does it get your point across… what can you simplify? What can you link to in your own content? what can you remove?
(you can always add things that you want somewhere else).
THE OBJECTIVE of this is to have as little as possible on your Home page that is going to be drawing down on your load time, loading of JS Queries, etc.
And, now, seeing as how it is late on Sunday night (again)… I will be going to a Part 3!
I hope you are enjoying the series to this point and I will see you in the next Part (within this coming week).
Kenny