WordPress itself is so powerful, that it’s actually quite slow. The number of functions, database calls and the enormous amount of code makes it obvious why does it happen.
Some people say that due to that WordPress itself is “crap”. I honestly do get their point. Some programmers belive that it’s a be-all solution, suitable for everything forcing default WP installation everywhere making it use considerable amount of server resources. WordPress core code is also very inconsistent, there are some functions prefixed with wp_ there are some non-prefixed. There are global variables all over the place. Default PHP functionality can be used instead of “wise” WP functions and so on. Lastly WordPress is problematic with design patterns. Especially considering OOP. Method visibility failes hard with WordPress actions and filters.
On the other hand WordPress is very simple to learn and use. It’s most probably the perfect place for a to-be-programmers starter. Additionally the enormous community and amount of plugins extends its power even more.
We believe that its a matter of wise judgment. Certainly its absolutely idiotic idea to overcomplicate stuff. There’s no need to use WordPress everywhere.
We are not going to judge anybody on using or not using it. It’s solely up to you and your judgment, profession or skills. Just don’t blame people for trying to achieve something – Rome wasn’t built in a day. And you haven’t become a source of programming patterns wisdom either.
Given the above we’re going to give one couple of tips on how have we optimized our WordPress installation following Google Page Speed Insight and several WordPress plugins.
What are we using?
- W3 Total Cache to cache the resources and deliver a static content
- Async JS and CSS to load the resources asynchronously
- EWWW Image Optimizer to optimize the images
- CDN (not here)
What we’ve achieved?
- Thanks to W3TC we’ve managed to increase server response time by around 50%
- Thanks to Async JS and CSS we’ve managed to reduce the page render time by around 40%
- Thanks to the Image Optimizer we’ve managed to improve the Mobile Experience due to lower size of the page
- Thanks to the CDN we’ve managed to add another layer of safety to our pages
What’s the con?
The biggest con of using these plugins is the fact, that with all the settings enabled they will do the opposite from expected. They will most likely render the site useless.
W3TC relies on several PHP libraries which might not be supported on one’s server.
Asynchronously loading resources doesn’t work all the time. With script and style dependencies some functionality may be disabled. (Like missing jQuery call called by the Gravity Forms)
What’s the proper approach?
- Be patient
- Enable plugin functionalities one by one, checking the site everytime you enable something
- Be patient
- Compare the results with Google Page Speed insights before and after. Occasionally it may happen that the change won’t speed up the site
- Be patient
- We’ve manually set up everything for W3TC – believe or not it took us several hours to fix all of the conflicts. We’ve manually decided where to load the scripts and styles (either within the <head> or after the </body> section)
- Due to plugin dependencies we’re asynchronously loading the CSS only (you can see that the page displays unstyled for couple of seconds)
- We’re running batch image optimizer quite often
- We using Google Analytics plugin and constantly check the reports on the site performance