Why is website speed so important?
Visitors have no patience or time to deal with slow websites and poor performances. They will leave website like that in no time, even before the page is 100% loaded. That means website speed has a strong impact on a number of sales made, a number of ad clicks (impressions as well), and overall happiness of your visitors and your happiness as well, because: happy clients -> more sales/conversions -> more money for you.
There is a big number of available optimization plugins for WP, but there are few well-known plugins that all WP websites should have installed:
Optimization of huge photos/graphics is the great way to decrease page load time. The EWWW Image Optimizer will do automatic optimization of images right after you upload them, but there is an option to optimize existing images (uploaded before you installed EWWW).
You can control optimization level, but be careful, if you over-optimize image to get smaller file size, images could become blurry and ugly.
However, there are a few conditions to be met if you want EWWW to work on your website. Some hosting companies have disabled certain PHP functions (for security reasons), and that makes EWWW unusable on hosting servers like that. But even if your website is on the server like that, there’s still hope! This plugin offers you an option to optimize images using their own external servers (eg. in the cloud). That service is not free, so you may find that it is cheaper for you to move your website to a better hosting company, but if you don’t want to do that or you can’t – this is a perfectly fine solution.
First of all: what is caching? Well, WP (and other dynamic websites) works this way: PHP (or some other programming language) generates HTML on the server and displays it in the browser when the website is visited. So, this page is generated again and again each time it is opened. This consumes server resources, internet connection, decrease loading time… It is better to have a static HTML page to be displayed to each user instead, and that is generated again only if the administrator of the website change content of that page.
There is possible using caching plugins. There are few big names in this area (like W3TC and WP Super Cache), but I will recommend you less known but reliable and more user-friendly one – Comet Cache. It has a few settings and it is doing its job well. I used it on this website, and you can see the results here:
As you can see, loading time is significantly decreased. You can achieve even better results because my website had been already partially optimized, imagine how faster some badly optimized website would be!
This plugin is great for cleaning “garbage” from your WP database. Garbage = post revisions, spam and trashed comments, auto-drafts, transient options (unimportant options stored temporarily in your database, and later removed) etc. Also, it has the option to optimize database tables. You need this because WP over time writes and deletes many things from the database. All that affects database access time and performances. This option is not extremely important on small/personal websites, but for bigger websites, database optimization is must-have.
Doing all this (removing garbage, optimizing), will reduce your DB size and that will save you some space on disk (hosting server).
Lazy load – this is a technique that loads only currently visible part of the page. So, if you have the page that needs to be scrolled to load more images/content, normally all things are loaded first and they are ready to be seen after visitor scrolls down. But with lazy load activated, only currently visible part of the page will be loaded and when the user scrolls down, more images/content will appear.
You may be wondering – why would we do this, isn’t it better to load everything at once so it will be ready to be seen right away?
Well – nope. A big number of visitors will never want to scroll the page to see everything that page offers. With lazy load we will save our hosting plan bandwidth, visitors mobile data plan, the load time will be significantly decreased. BJ Lazy Load can be configured to lazy load iframes and textual widgets also.
Check out this gif to find out how lazy load looks in action: Google Maps are lazy loaded and if they were not, that would significantly increase page loading time (because Google Maps are displaying content from an external website, Google Maps website of course):
If you want to learn more about different (and more complex) ways of WP website optimization, check out this great article on the WordPress Codex website: WordPress Optimization.