A few tips to accelerate your WordPress website page load time – #PROductivity 2
Load time, this shadow killer…
Your website load time is essential. Many years ago, various expert reports indicated the clear link between website load time and the number of visitors abandoning your website. Consequently, it is absolutely crucial to keep page load below 3 seconds in order to secure an optimal retention of your readers or users on-site. There are two possible alternatives you can use: work on your website or work on your web hosting provider.
I calculated the total time that humans have waited for web pages to load. It cancels out all the productivity gains of the information age. Sometimes I think the web is a big blog to keep people like me away from normal society.
It’s probably less expensive, but it will definitely keep you busy. Here are a few things that you can improve:
Images often take a lot of space, an awful amount of visual space. You should think of ways to optimize their compression in order to make your website load faster.
There are multiple tools to do just that. On Mac, I recommend you use the excellent Image Optim which is also available as a web service. For Windows users, File Optimizer is just as interesting as it does not only deal with image optimization.
In case you wish to optimize your images directly on WordPress, you’ve got an easier option: image optimization plugins, quite a handful of them, but ShortPixel looks pretty appealing.
Think Async to Speed up Your Loading Time
Synchronous and asynchronous, what’s up with that? Suppose your web load time is similar to a list of packs that the mailman has to deliver. If you have to wait for the delivery of package (A) in order to expect the delivery of package (B), and so on up to (Z) which is what synchronous loading looks like, it will take longer than having all packages delivered at the same time by multiple mailmen (asynchronous loading).
Beware: in practice, all changes cannot be operated separately, but it would be a great step ahead to be able to separate some of them.
Use Cache Solutions
Many users know how to clear their browser cache, but they don’t really know why they need to do that. Cache is neither a history nor a surveillance tool prying on your private life. The fact that browsers allow people to clear their cache of all that data at the same time might be confusing.
Thanks to cache memory, search results are readily available to users. To explain it metaphorically and to put it simply, suppose you’re ordering a drink. The waiter who comes to pick up your order already brings a customized selection of your favorite drinks for you to choose from. This means that you do not have to wait for the waiter to fetch your drinks: you have just saved yourself a lot of time!
Cache memory may exist on servers, but also on the computer who uses it. There are also other types of cache, but you will not be able to control them such as the cache of your Internet service provider: it will not search for Google’s logo each and every time; it will be stored in its cache.
There are two major WordPress plugins which dominate the cache solutions thanks to their excellent service and free available versions: W3 total cache and WP Super Cache. It would be difficult to say which one is best, so why not see it for yourself by using both on your website? Alternatively, if you are using LiteSpeed server technology, the only option is to install the LiteSpeed Cache plugin.
Keep It Simple!
You have probably heard about the KISS principle designed by the US Navy which is the acronym for ‘keep it simple and stupid’. Restrict the number of modules (also known as plugins) as these often include “hooks” or anchor points which are in use each time there is a load in progress (e.g. page, website or other) in order to activate the module, and let it do its job. These are essential to website overall functioning, but it overloads your page: suppose you have 50 active modules or 12; impact will be extremely different. The advantage on WordPress is that you may deactivate a module without removing it, so you should definitely use this functionality!
Don’t add too many items or audiovisual components per page.
It’s highly unlikely you will get to use all these tools at the same time; especially if your website boasts a responsive design, multilingual features and crisp layout! Remember, add one component at a time and see how your website loads. If certain things don’t work, use something else especially since some themes or plugins cannot function in combination with all these optimization techniques.
WordPress is now the major player for content management and website creation. It’s a huge opportunity for webmasters and web agencies; there are tons of potential customers using WordPress out there. When it comes to development neither PHP nor WordPress are known for clean development structure: there is room for improvement by using an additional project acting as framework. If your goal is to maintain a quality project over time, this article is clearly for you.
What we were searching for…
First, let’s describe what we reviewed when we used those frameworks:
Develops clean and fast for WordPress with a clear code separation MVC (Model View Controller) style.
Ability to manage frontend and backend views.
Using an ORM (object-relational mapping), or any clean way to make requests to the database.
Internationalization support: translation management, date formats, currency etc.
Solid documentation and support.
Open source preferred.
So, now let’s take a look at some awesome projects:
Interesting framework designed for plugin and theme.
People are very active and responsive.
They were focusing only on backend views, but we tested the release 0.9.9 still in development and the frontend is now managed.
Specific elements you should know A plugin done with Piklist will be dependent on the Piklist plugin. This means that users installing a plugin coded with Piklist should install the Piklist plugin; this can be done automatically, but anyway you’re not embedding anything.
If you don’t have strong development knowledge, it’s probably the easiest project to start with!
Largo largo.inn.org (update October 2021 : the ssl certificate has not been renewed, the project seems abandoned.) Mostly focused only on building news websites with WordPress, if editorial content is your business, check out this project!
Shop Plugin https://shopplugin.net It’s not really a framework, but more a set of plugins with an API; nevertheless, it can be really useful when you need standard checkout and payment interfaces. The main plugin is free with additional paid support and an interface plugin; you get what you pay for.
About the classic WordPress framework used for coding plugins, I should say: that’s all folks! However, it would be a shame not to mention these interesting projects:
Gantry http://gantry.org Not for plugins, only for theme, but very interesting if you want to build WP + Joomla theme.
Unyson http://unyson.io This project is “built with clicks and without code” and is an awesome way to extend WordPress without having any coding knowledge. It’s a serious challenger for DIVI Builder.
Nouveau Framework https://nouveauframework.org/ It’s not a plugin framework, but a theme framework with a set of plugins you can reuse as per your needs. Anyway, a very interesting project; at the moment, they are close to a version 1.0 and I’m sure that it is worthwhile to follow them in the coming years.
You should understand that some of these frameworks are evolving fast; hence I will update this article time after time to track their respective progress. Who can do more, can do less: a framework focused on a project is also able to build a plugin for example, but you have to be aware that you will have to work around the configuration.
There is one last thing to understand, using a certain framework does not prevent you from using another one. If I find it silly using Themosis and Herbert at the same time, then perhaps using some elements from a framework (i.e. how to manage the backend view with another project like an ORM) can be also a good choice if you know how to lay the bricks together.
All is not rosy
Well, during your next conversation with another developer, you can say that you are using a framework, and you are following “good practices”, “clean code”… Welcome to the master class! Pay attention there is also a hidden side of the moon.
If the project is stopped: Well, nobody plans on dying, but everybody will; the same works for IT projects. So, I will have a small preference for open source projects; when people stop working on a large project, most of the time there’s a small group of people that are frustrated and starts a fork in order to make some minimal maintenance of the project.
If it’s not possible to do what you want: I already saw people starting work on a technology without knowing exactly if it will meet their needs. So, read, learn and make a small proof of concept. What if it doesn’t run in your productive environment? Did you already check if you can run your new framework on your productive environment prior to any serious coding? For sure, it will run smoothly on your development device and as developers always said: “But… it worked on my device!”, it’s so easy to manage localhost, feels like home right? It’s even more so with an environment like Mamp, Xamp, LAMP, EasyPHP… but it’s dirtier when it comes to production.
Mostly, as you will have the following option:
WP official repository: That’s tricky guys! First, you will have to pass a complete review of your plugin by the WP team. They will require several parameters such as being able to run all supported versions of PHP!
First, be sure you meet the WP plugin guidelines, Take a look at how to write a plugin on codex, optional get a look at the coding standards.
Then, remember you will be downloaded by users all around the world in any kind of hosting, so the next rules “Shared hosting” also apply to you.
Shared hosting: People using a shared PHP hosting have the chance to get a very complete service almost for free; the cons are that the less money they paid, the less parameters and configuration they can manage. Being able to change the PHP version is sometimes possible (often via cPanel or a .htaccess file), but loading a new Apache module feels like mission impossible. Why will people buy a dedicated server if everything is possible via shared hosting?
Your own server: That’s the easiest part; it’s your server, so you can install what you want. Just do it the clean way, and be sure it will not impact existing applications already running on that server.
So be sure to make a small proof of concept, and check if it meets your needs and runs in your productive environment.
Update : API v1 is deprecated, please API v3 instead.
As we dive into 2016, Sagenda is intent on helping its users achieve some of those winter resolutions. Whether you are looking to improve client communications via a multilingual WordPress booking software or overhaul your online payment strategy, let’s focus on your needs with the right tools and determination. So, we thought we’d give you a head start on your competition with some simple perks to boost your business.
Easy PayPal WordPress Payments
PayPal payments are now available for all Sagenda WordPress users. There’s nothing more depressing than booking online and queuing offline to pay for the same service. Why not mix book and pay? As of now, your clients can book, rent or schedule and make payments via PayPal directly on your WordPress website. By activating this option, you are reducing client waiting times while improving your service operations. Try it and you’ll reap the benefits immediately!
Sagenda API Also Supports PayPal
It’s either written in the stars or in our APIs. We have updated the Sagenda API in order to allow the ‘book and pay’ system. Should you wish to integrate Sagenda directly on your existing website, you can do so and take full advantage of the PayPal module. Online booking and shopping habits have evolved considerably which is why your website should definitely support electronic payments. Better be versatile than sorry!
Mind Your Language
Given the diversity of our users, we have shared the translation process of the Sagenda WordPress module with our online community and the results have been great. Up to now, our Sagenda plugin is available in Chinese (Simplified), English, French, German, Hindi, Italian, Japanese, Polish, Romanian, Russian, Swedish, Spanish, Dutch, Korean and Portuguese. Our upcoming translation of the booking system Sagenda is also being considered.
Why don’t you give it a try and let us know how it works for you? We’d love to hear your thoughts and suggestions.