P
P
papabig2017-08-16 13:07:04
css
papabig, 2017-08-16 13:07:04

How to optimize a site on wordpress + visual composer?

Are there any tips or practical ways to optimize the loading of the VCARE site . On my part, all images have already been optimized, animations have been disabled, the site has been moved to vps hosting, all unnecessary plugins have been disabled.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
I
Igor Vorotnev, 2017-08-16
@papabig

Your backend is very smart:
This is a very, very worthy result. Everything is fine with the server and on the server side. And now bottlenecks:
1. Loading fonts from Google servers. With your nimble server, it makes sense to pull the fonts for yourself and give them locally. Cut off a second and a half:
2. Next, there is a problem with several styles:
vcare.uz/wp-content/plugins/js_composer/assets/lib...
vcare.uz/wp-content/plugins/js_composer/assets/lib...
vcare.uz/wp-content/plugins/js_composer/assets/lib...
They take a long time to load, you can see it yourself in Developer Tools. The problem is not only that they take a long time to load, but also that they queue up because they are located in the basement and because of the use of HTTP / 1.1. Can be solved in 2 ways:
- single file concatenation
- using HTTP/2
Ideally, you can find a balance between HTTP/2 + selective concatenation.
3. Files
- new.vcare.uz/wp-content/uploads/2017/08/header-1.j...
- new.vcare.uz/wp-content/uploads/2017/08/bg-white22..
There are 2 problems with them: -
loading from a subdomain (+ DNS lookup and other losses on a new connection)
- a dynamic parameter that prevents the file from being cached on the client side
Transfer the file to the main domain and remove the parameter.
4. Contact Form 7
You have 7 (!!!) Ajax requests generated by this plugin. As I understand it, these are 7 different forms on the page. Requests are fired fairly early in the page's lifecycle, and block other resources by occupied connections to the server. According to the HTTP / 1.1 protocol, as far as I remember, the browser opens up to 6 connections to the server. In your case, some of these 6 ajax requests are already busy by the time these ajax requests are called, and they queue up one after another, along with other resources. This multiplies the waiting time. Switching to HTTP / 2 will significantly reduce the impact, but it is desirable to get rid of them altogether. I would advise replacing CF7 with a more adequate plugin. Try, for example, Torro Forms (sensible and free, also with a normal interface).
5. Another request to admin-ajax.php
Actually, it was initiated by Visual Composer - it's a Masonry grid. Perhaps it restarted for me because I started scrolling the page and scrolled to the place where it is needed. Perhaps it does not start by default and is not a problem.
6. Front-end performance (parsing and rendering):
Parsing scripts takes a lot of time, because there are a lot of them. But this can only be gotten rid of by reducing their number, which is perhaps not an option. But the second very disturbing signal is just the waiting time (Idle). This just indicates the inability of the browser to continue working at some stages due to the fact that it is waiting for the requested resources to arrive. Switching to HTTP/2 is highly desirable + replacing CF7. This is exactly the case when HTTP / 2 should have a tangible effect.
Well, that's just a quick analysis. See test results here: https://tools.pingdom.com/#!/2GQ2d/http://vcare.uz/

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question