VirtueMart Forum

VirtueMart 2 + 3 + 4 => Security (https) / Performance / SEO, SEF, URLs => Topic started by: nortkele on July 07, 2016, 18:42:20 PM

Title: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 07, 2016, 18:42:20 PM
Hello ,
we using Joomla! 3.4.0 ; Virtuemart VirtueMart 3.0.14 . Web site is hosted on own server xampp with php 5.6. Template - core joomla template Protostar.
Virtuemart works . Score in Pagespeed insight : Mobile 82/100 ; Desktop 92/100
Issue 1 : after publishing Virtuemart core module - Future products, and checking in Pagespeed insight : Mobile 66/100 ; Desktop 87/100
Issue 2 : Blocked scripts:
                   http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js?vmver=1.9.2-please pay attention that blocked java script is provoked by vmver=1.9.2
                   /components/com_virtuemart/assets/css/vm-ltr-common.css?vmver=9194
                   /components/com_virtuemart/assets/css/vm-ltr-site.css?vmver=9194
                   /components/com_virtuemart/assets/css/vm-ltr-reviews.css?vmver=9194

Above described test was made also with different templates - same results as issues 2

Question: Could you please share with me your experience - how to eliminate all issues with blocking scripts.

Thank you in advance for your collaboration.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 09, 2016, 21:47:35 PM
in addition,
with core module Future products set on front page, after checking with w3c validator,
the above described module causes 6 Warnings: The border attribute is obsolete. Consider specifying img { border: 0; } in CSS instead.
Any ideas how to avoid this issue?
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: jenkinhill on July 09, 2016, 23:47:45 PM
I wonder why you are not using the current Joomla version J3.5.1  (J3.6 is due for release next week) and the current stable VM3.0.16 - or for experienced users, VM3.17.2 ?
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 10, 2016, 19:33:14 PM
Quote from: nortkele on July 09, 2016, 21:47:35 PM
the above described module causes 6 Warnings: The border attribute is obsolete. Consider specifying img { border: 0; } in CSS instead.
Any ideas how to avoid this issue?

Hi nortkele,

thanks for reporting this issue, I will suggest changing that in the next release. Always good to have a few pairs of eyes extra for checking these kind of issues that might be relics from early versions.

Thanks
Stefan
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 10, 2016, 19:46:36 PM
Just in short for now on the CSS in VirtueMart.

There is a lot of discussion about making it smaller and more effective, but that cannot be done in a rush since VM has to keep some backward compatibility.

On the other hand you can disable the VirtueMart CSS in the configuration and add it to your own file, if you like.

Be aware that most of the CSS is always "render blocking" since HTML and CSS have to be loaded first before the page can be displayed. The fine tuning is only in which CSS is loaded before rendering and which one you can load after rendering the page.

There are some templates out that help with the above mentioned and you can use compression tools too to get a faster rendering of the page.
But still CSS is always "render blocking", you should not get too disturbed by the term.

Stefan
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 13, 2016, 23:34:44 PM
Hello All ,
jenkinhill - thank you very much for answers but suggested Joomla version J3.5.1  (J3.6 is due for release next week) and the current stable VM3.0.16 has bugs - but this is subject for another topic. I have checked them and i have full list with the bugs - especially for virutemart VM3.0.16 installed on J3.5.

For me is important elimination of render blocking java and css script in new versions.
     So abaut sugestion of Stefan -
    1. I'm wondering why we have to  disable the VirtueMart CSS if this function is core function developed and implemented for use?. (Plese understand me well - we love 
         virtuemart and i work and develope for myself Virtuemart since virtuemart 1.1.6 is born. ).
    2.Also secuance for Async and Defer for java and css....please acept my apologies but it is not good way. Not work at 100 % and not help at all if you want to be "friend" with Google! On page SEO is broken.
    3. Please permit me to discuss my question for help- i'm talking abaout core module Latest/Futured products developed for Virtuemart. This module render blocking scripts and drop down seo and speed picture. And not only this module - If you enable on first page, core module - Virtuemart search - the picture for SEO(Page speed and w3c validator) is worst than explained in my original post.

Is there another way or new virtuemart free of render blocking( Async or Defer for java and css) assumptions? Please advice.
P.S. Maybe is good time FOR new topic/s - Best practicess for each version of Virtuemart - how to avoid "bottlenecks" -errors and how to implement them in new version in relation with SEO and Google?
   
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: jenkinhill on July 13, 2016, 23:48:23 PM
FYI Joomla 3.6 was released yesterday. VM3.17.2 runs just fine under J3.6.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 14, 2016, 00:24:05 AM
The choosen way by the team to add the javascript don't help for SEO, because this are not part of Joomla scripts.
So yes in last VM, it's very hard to Have a good google pagespeed.
The only way is to disable javascript in VM and load it yourself. But the problem is with some plugin too and can break, so you need to rewrite this part too.

So yes it was a good idea to use ajax for loading, but Google currently give very bad Pagespeed for VM 3 pages, so i mean that adding all script inside the body because Ajax, was not so good at end.
And versioning system as mentioned in first post, is bad too. Not only because Google, but because if you have cache and need to change some VM javascript,
browser cache get not updated.
The only (always) working versionning system is to change the path or the filename when you change the script.
So the versionning should be a setting and not a VM release value so you can fix this. ANd the best is that this should be configurable using
filename.xxx
or adding ?v=xxx to end of file.
I have some suggestion for this, but i think Team don't want change this. Or ?
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 14, 2016, 01:26:02 AM
Hi nortkele,

if you have a list of bugs, please feel free to share it in the appropriate section of the forum and paste a URL here, if you like. There are always bugs or missing features, and sharing your view on that can only help working on that.

1. You don't have to disable VirtueMart CSS, but you can do that if you like. (Feature, not a bug ;-) If your template has optimized CSS that works with VM and the template together, it will be always more compact which results in faster loading. That is why a good template is always recommended. VM CSS is quite old for backward compatibility reason and there is work going on for new CSS, but that will only be exchanged if there is jump to a new major version (3.2 or so).

2. Every shop is different, different extensions, different versions, so it is anyway on the shop builder to arrange the files properly. You can do that manually or with software like JCH or similar.
There is no deferring of CSS, if I am not mistaken, the CSSOM has to be loaded fully before rendering can happen. For the JS, see above, the basic behaviour is not 100% perfect.

3. I am not sure about the modules, if you could post a url and describe the problems in detail, that would help a lot, I guess. I might have a look into that if my time permits anyway.

I have work coming up to optimise a shop because the customer wants the 100% too, so if there will be any results from this thread (or another) I would be happy to suggest that for the core to make it better right from the beginning. But these suggestions need to be well prepared so that the dev doesn't have to do the work all over again.

A guide for best practices for Google and SEO might be a good idea, only somebody has to start and maintain it.

Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 14, 2016, 01:44:13 AM
Quote from: Studio 42 on July 14, 2016, 00:24:05 AM
So the versionning should be a setting and not a VM release value so you can fix this. ANd the best is that this should be configurable using
filename.xxx
or adding ?v=xxx to end of file.
I have some suggestion for this, but i think Team don't want change this. Or ?

Hi Patrick,

for updating a shop I came across the same problem, the scripts were cached. Changing the version worked. Versioning worked well in all cases that I have come up to. In what cases is it not working? If you have a suggestion to improve that, why should the VM team not be interested? I had the same idea, just no time to follow up on that.

(On a personal note without knowing you in person, just from what you write; if the devs are not interested, it might have to do something with the way you write/talk. If your posts make the impression, that you say, the developers are bad, what they do is bad, everything is bad, it might happen, that noone even reads to the end. People generally don't write bugs into code on purpose. Not you, not others, but it happens. And some features are just not implemented yet.)

So I don't see any problem, if you have a suggestion to make VirtueMart better and find the appropriate ways to express it.

Stefan
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 14, 2016, 14:07:43 PM
Quote from: StefanSTS on July 14, 2016, 01:44:13 AM
Quote from: Studio 42 on July 14, 2016, 00:24:05 AM
So the versionning should be a setting and not a VM release value so you can fix this. ANd the best is that this should be configurable using
filename.xxx
or adding ?v=xxx to end of file.
I have some suggestion for this, but i think Team don't want change this. Or ?

Hi Patrick,

for updating a shop I came across the same problem, the scripts were cached. Changing the version worked. Versioning worked well in all cases that I have come up to. In what cases is it not working? If you have a suggestion to improve that, why should the VM team not be interested? I had the same idea, just no time to follow up on that.

(On a personal note without knowing you in person, just from what you write; if the devs are not interested, it might have to do something with the way you write/talk. If your posts make the impression, that you say, the developers are bad, what they do is bad, everything is bad, it might happen, that noone even reads to the end. People generally don't write bugs into code on purpose. Not you, not others, but it happens. And some features are just not implemented yet.)

So I don't see any problem, if you have a suggestion to make VirtueMart better and find the appropriate ways to express it.

Stefan

I don't say that anything is bad, but some thinks have to change.
Currently i don't see a way to discute about the features to include and priority, because each time, max say become a member.
But i cannot do my customer pay a virtuemart subscription, when i fix it(i cannot wait each time 7 days or more that the team add the fix in the core).
I try to use the core always, but sometime it's simply impossible to use in some situation.
Eg the javascript inclusion in the body.
I use a minifier to get better pagespeed for user and google. So i have to rewite/copy completly the javascript code since VM3.
If you dont do this, you loose 10 to 20% pagespeed in google.
If you use versionning from VM, then when you have to change a JS code or CSS, this get not updated when you use apache cache for JS and CSS.
And if you remove caching, then the page loading si slower for your users.

I already discuted with max, about last changes in the forum and in skype. But he find that this is not exact and that the current system is OK.
Simply check the demo shop pagespeed : https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fdemo.virtuemart.net%2Fproduct-variants&tab=mobile
You can check any page and in any shop that it not optimised. The result is same.
Here the optimisation are 90% for VM only : https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.linelabox.com%2Fvirtuemart-templates%2Findex.php%2Fvirtuemart-3%3Fproductsublayout%3D0&tab=desktop

Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 15, 2016, 12:44:35 PM
Hello All,
it is great pleasure discussing with you StefanSTS and jenkinhill, because you care about this great product. In relation with  Studio 42' post , have some parts of new Virtuemart code that isn't work and we have to jump from one version of Virtuemart to another version of Virtuemart or Joomla versions WITH HOPE that new version will be bether than previous. From my point of view - my suggestion to you developers - please  stop creating new versions, analyze what's happen in relation with our (forum peoples feedbacks and topics) with Virtuemart and create PATCH for one stable version. If we continue jumping we loose money(for payied extentions and templates ) time to folow you  guys . There isn't too much problems which have to be covered. Just ask us .

   @jenkinhill - thank you very much for information. I will test it on our test server this weekend or next.

   @ StefanSTS please accept my comments
           -  1and 2: I use protostar core joomla 3.4 template because it has results  greather than 80 percents of comercial templates. The score in Gmetrix is : Page speed score - 95 ; Yslow score : 90. In Google (page speed insight)- Mobile test 83% User experiance - 100%, Desktop - 93%. Why i give you examples for tests- because this results are made for Virtuemart 3.0.14 and 3000 products inside of online shop without any paid extentions for speed up . W3C validator - Green - no errors. This means that the Virtuemart team has done an excellent job. This test was made on front page
                                                                http://www.1001avtochasti.com/ (http://www.1001avtochasti.com/)
  But we have to have 100 % score including all core modules .
          - 3 . The URL where search module and futured modules are set on is
                         http://www.1001avtochasti.com/авточасти-по-моSPAMели (http://www.1001avtochasti.com/%D0%B0%D0%B2%D1%82%D0%BE%D1%87%D0%B0%D1%81%D1%82%D0%B8-%D0%BF%D0%BE-%D0%BC%D0%BESPAM%D0%B5%D0%BB%D0%B8)
Please review if you have the time.
If you do page speed insight  and W3c tests you will see where the problems are ( and you will compare  the speed and on page seo).
StefanSTS,  please advise how to avoid issues for core modules - Last/Features and Search.

Last important thing for Google, Yahoo, Bing SEO index of products and images of virtuemart 3.0.14 - I have more indexed products and images in Virtuemart 1.1.6. rather than with Virtuemart 3.0.14. Something is wrong with picture SEO in virtuemart 3 and Google don't want to index pictures. Curently this issue is under my investigation -  The Problem is in Unique Filename of the picture. Not in Displayed image subtitle or  Image Alt-Text. Image map is already created and submited to Google.Result - 6000 pictures - indexed only 30...

P.S. About the best practices for Google and SEO - i can start this topic and maintain it but here we have huge range of different versions for Virtuemart and Joomla . This will involve chaos. We depend from your choise related to increased volume of produced versions of Virtuemart... I can open the topick for version 3.0.14 - On page SEO .
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 15, 2016, 13:13:54 PM
Hi nortkele, you fake Google about the javascript server side ?
Because, he dont see any of VM scripts and the biggest problem is this part.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 16, 2016, 10:12:36 AM
Hello Studio 42,
sorry but i couldn't understand your question....

So in result - on page url http://www.1001avtochasti.com/авточасти-по-моSPAMели (http://www.1001avtochasti.com/%D0%B0%D0%B2%D1%82%D0%BE%D1%87%D0%B0%D1%81%D1%82%D0%B8-%D0%BF%D0%BE-%D0%BC%D0%BESPAM%D0%B5%D0%BB%D0%B8)
Virtuemart core modules : Futured/Latest module and Search are ON.
After testing with pagespeed insight, Google show me all blocked java scripts and CSS . They  are:

1.Java
http://ajax.googleapis.com/...eryui/1.9.2/jquery-ui.min.js?vmver=1.9.2 - this is part of Virtuemart 3 core
2. CSS
http://www.1001avtochasti.com/components/com_virtuemart/assets/css/vm-ltr-common.css?vmver=9194 - this is part of Virtuemart 3 core
http://www.1001avtochasti.com/components/com_virtuemart/assets/css/vm-ltr-site.css?vmver=9194 - this is part of Virtuemart 3 core
http://www.1001avtochasti.com/components/com_virtuemart/assets/css/vm-ltr-reviews.css?vmver=9194 - this is part of Virtuemart 3 core
In relation with above described 1 and 2 we have no chance to unblock these scripts using normal techniques - secuance for Async and Defer for java and css
3. V3C validator - involved 6 Warning and 2 errors(from searrh module)

For this reason i'm asking for help developers or somebody who had chance to eliminate these blocking scripts .
p.s. As we known it is very important for onpage SEO - valid : 1. HTML andon second place valid CSS. Both valid this will be perfect SEO result.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 16, 2016, 12:36:08 PM
Quote2. CSS
http://www.1001avtochasti.com/components/com_virtuemart/assets/css/vm-ltr-common.css?vmver=9194 - this is part of Virtuemart 3 core
http://www.1001avtochasti.com/components/com_virtuemart/assets/css/vm-ltr-site.css?vmver=9194 - this is part of Virtuemart 3 core
http://www.1001avtochasti.com/components/com_virtuemart/assets/css/vm-ltr-reviews.css?vmver=9194 - this is part of Virtuemart 3 core
Why you don't use a minifier to include this in the main CSS and remove this from loaded CSS ?
I do it in some sites and use own versioning using file name, so you can safe update after.

For jquery-ui.min.js, i can't remember if this have some utility front side?
So perhaps you can disable loading of jquery ui too
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 16, 2016, 16:32:58 PM
Quote from: Studio 42 on July 14, 2016, 14:07:43 PM
Currently i don't see a way to discute about the features to include and priority, because each time, max say become a member.
But i cannot do my customer pay a virtuemart subscription, when i fix it(i cannot wait each time 7 days or more that the team add the fix in the core).
I try to use the core always, but sometime it's simply impossible to use in some situation.

See, this is where we have a different opinion.
I am not a developer, I do build my small little things, extensions, templates and I can adjust code according to what I need, but I am not building some huge software.
So if my customer wants a shop, I take a framework called VirtueMart. I make or buy a template for him, depends on what the customer wants.
And then I get the shop running.
There are always things, I have to adjust, in VirtueMart, in the template (if it is from external source) and the extensions. That is my job. I get paid for it.
Joomla and VirtueMart already give me the framework for what I want to build.

So I ask my customers to buy a membership anyway. If there is some code in VirtueMart I would not be able to change, I don't say "I have a membership, do that for me", I would ask Max as a first choice, if he has the time to do the work.
So if Max does the work, I expect to pay him a developers fee per hour. If he says, he does it for a gold membership or so I don't even have to pay him fully, because he will use the stuff for the core and he is actually pooling in his time to make the core better.

This is why I don't understand that you say, you cannot ask your customer buy a membership "if you do the work". You get the material (VM) for your work that generates your income for free. VirtueMart developer have worked on that. Of course you have to work on that shop too, that is the way it works, if your customer wants a unique shop that doesn't look like a click and build thing from some big hoster you have to do serious work on it. That is why they pay you 1000, 3000 or 10.000 $ for it.

Sure the SEO of VirtueMart out of the box is not 100%, but that is the task of the person, who builds the shop, because every shop is different.

If there are features or functions coming up in developing a unique shop that look like they should be available for all shops, that's great. But if you like it to be added to VM core it has to be prepared properly so that it can be included easily and without breaking anything else. That takes time and cannot always be done by the core team, since they work continously on the project and might have other priorities. So mostly, if some good idea or feature is there and it is prepared "universally" it will reach core.

I often find small things that I think could be better. If I have the time I (pre)prepare what I found, ask if it is wanted, and if it is, I work a bit more on it, get it tested on some test shops and sent it over. This way it ends up in the core quite often. Some other devs do that too, so the foundation that creates our income gets better. Call it community, team work, or call it self interest.

In short
Stefan

Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 16, 2016, 17:17:26 PM
Quote from: nortkele on July 15, 2016, 12:44:35 PM
Please review if you have the time.
If you do page speed insight  and W3c tests you will see where the problems are ( and you will compare  the speed and on page seo).
StefanSTS,  please advise how to avoid issues for core modules - Last/Features and Search.

P.S. About the best practices for Google and SEO - i can start this topic and maintain it but here we have huge range of different versions for Virtuemart and Joomla . This will involve chaos. We depend from your choise related to increased volume of produced versions of Virtuemart... I can open the topick for version 3.0.14 - On page SEO .

Hi nortkele,

I don't have to much time at the moment, but I do have a shop coming up for improvement of SEO, so if I come across these issues, I can probably have a deeper insight into that and might be able to suggest something for the core.

SEO thread:
Not sure, if it is necessary to have a topic for each and every version, if the starting post asks for a statement of the regarding version on each comment, that might help though.

Regarding your validator problem:
Change the default.php in mod_virtuemart_products. You will find the border attribute there, just remove it and add some CSS, if you need to. You can do an override for that in your template's html folder.

If you don't have any use of jQuery UI in your frontend, you can unset that in your template. Just Google unset script Joomla or so. UI is used for tooltips and dragging in the backend, not sure where in the frontend.

As I said before, the CSS is always render blocking, the necessary CSS for the page has to be loaded first. As Patrick said, combining it into one file migh help. If you don't use the CSS on the start page you might also don't want to do that. Then you don't load it on the start page, but load it later on the product pages. So it might make sense, not to add it to one file, instead load the second/more file(s) on the product page. This way the main CSS will be loaded on the start page, is cached, and the other CSS is loaded in the product or category pages. So first time you call the category, you have the already cached main CSS and only have to load the additional CSS. You might see, it is not that easy to do it universally right.
You might only need to load two of the three CSS files in the beginning, or one, and the others later. So having three files can make good sense in one case, and only having one can make sense in the other.
So if you want it perfectly handled, it's on the shop builder who knows what is needed where and when. SEO is a serious job that takes a lot of time and needs some knowledge. You cannot do it right for all in a standard installation.

Hope to have made it clear that it is quite impossible to do it right for all.

Stefan
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 16, 2016, 18:13:11 PM
Quote from: StefanSTS on July 16, 2016, 17:17:26 PM
Hope to have made it clear that it is quite impossible to do it right for all.

I agree with you, but the 3 files are 3 little CSS, so it's the badest way to include it.
So why not a virtuemart.all.min.css and virtuemart-rtl.all.min.css for production?

I always merge, if possible and it's not a problem to include possibility in core. Many VM shop owner thank the team for this, because you loose 5 to 10 google pagespeed only because VIrtuemart.
I use free minifier to do this and it's not so hard to implement for all.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 16, 2016, 22:38:23 PM
Quote from: Studio 42 on July 16, 2016, 18:13:11 PM
Quote from: StefanSTS on July 16, 2016, 17:17:26 PM
Hope to have made it clear that it is quite impossible to do it right for all.

I agree with you, but the 3 files are 3 little CSS, so it's the badest way to include it.
So why not a virtuemart.all.min.css and virtuemart-rtl.all.min.css for production?

I always merge, if possible and it's not a problem to include possibility in core. Many VM shop owner thank the team for this, because you loose 5 to 10 google pagespeed only because VIrtuemart.
I use free minifier to do this and it's not so hard to implement for all.

Yes, only three files, so if you don't use the reviews, it is only two, if you use your own CSS, you might have none, because it is in your template.css already. VirtueMart gives you all the possiblilities you like to have, just adjust them and use them. If you don't optimize you have to use the standard way, the shop will work perfectly from the point of the features it provides, but it gets a few speedpoint less. But it will work for most configurations. If you want perfect speed you have to optimize.

You don't loose pagespeed because of VirtueMart, you loose pagespeed, if you don't optimize JS and CSS for your shop system individually. And yes, it is very difficult to implement that for all shops.
If you have all three combined in one file, you might just load too much code that you will never use. So load what you need, combine, minify, compress and you have your desired pagespeed.

Many templates have their own CSS for VM. Why is that? Because they optimize it for their needs.

I have my own VirtueMart template for simple shops, that has a template.css with all CSS for VirtueMart with less than 30 kb altogether. Responsive, no bootstrap, 30kb is all I need. But it is optimized for a simple shop without fancy content pages. If you need fancy stuff, you might use 100 kb more. I have seen a template.css with 230 kb and custom.css added with 100 kb plus bootstrap, slider and nonsense. There goes your pagespeed.

Sure, VM could offer a way to combine the js and css, but there are already good tools in the market. Why invent the wheel again and again. Use JCH or combine, minify and compress yourself. If tools already exist the priority for developing a solely VM solution for that is probably not to high.

Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 17, 2016, 00:17:20 AM
Stephan, If you are a good developper, i think you should not say to user to implement other tools.
Other tools should be used as last ressort.
Else why loading 1 css but not for each page another ?
It's simple, at moment it's loaded and server is right set, you get all from cache.
But if you have 10 files, your browser need to HTTP requests each.
Try to load 1 file of 100ko and 10 files of 10ko.
So yes it's stupid to load files for nothing, but ti's more stupid to request 10 files each time.
And when you combine all in one file. Google give you a better pagespeed and for your user, the file is only loaded one time and 1 request.
All little files have to be conbined, or all files used in more then 50% of pages, and this is certainly the case for VM shop CSS and JS and the most important is that your shop run fast. Not the contact page or about, that is certainly never loaded more then 1 or 2 time per users(or they come from your shop and the css and javascript is already in cache.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 17, 2016, 23:32:13 PM
Again Patrick, I see that different.

If I build cars, and there are good tyres in the market, I do not try to build tyres myself. I use third party tyres. I do not invest in making something that is already there, where another company has much more expertise. I see it the same way with compression tools. Tell the JCH dev(s) that it is simple to do that. I don't know how much time they spend on that tool, but I guess they would disagree with you if you say it is easy. And even if it would be easy, it is still time consuming. Time that is better spend on core features. To use your words differently, if I am a good developer I trust in other good extensions to do their work. Joomla is build like that. It is made for that especially. If you have a good set of extensions, all is well.

Optimization and compression is done for the whole system, Joomla, VirtueMart plus extensions. Why would VirtueMart want to make a tool, that would have to consider myridians of different systems?

Regarding your calculation:
I did not talk about loading 10 files each time, I explain it with other words again. According to your needs, you might consider loading a "most necessary" CSS file on the start page. And then loading one other CSS file later. That is one request for the start page, and two requests for the following pages that need the additional CSS. That is one solution if you like your start page to be fast(est). Loading one file altogether can make sense too. Depends on the volume of code you have.
On the other hand, if you can load two files async it might be faster than one big file. Which version is good for your shop system depends on your system and only testing it can find the best fitting answer.

The essence:
If you need your shop to be super fast, because Google is your main source for customers, it needs additional work.
If you are ok with a little lesser page speed, just use a compression tool and it will perform ok. Less investment, and if your customers even come from different sources, it will be just fine.
Even without any optimization, the shop will load in a resonable time for customers if you haven't messed it up with some huge extensions.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 18, 2016, 00:06:13 AM
JCH is not the ultimate tool.
Why ?
It use a javascript/css per page.
SO each new page, the user have to load the javascript and CSS with JCH.
This is great for Google pagespeed score but not the best for your user.
Of course it's better that nothing. But the solution is to have all main script in one file, loaded in most used page and defer the loading of some script.
In this case, you loose a little google pagespeed, but for you user you win the load of a (big)javascript and css.
But of course JCH is a good tool, but not the solution for all and of course, it only optimise the code when you install the plugin and you have to check for possible problem using it and solve it.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 18, 2016, 10:47:59 AM
JCH is just one suggestion for that. I used the name, because it is the best known. I have only used it on customer request. It does a good job mostly, but I got white screens with that too in the beginning.

That is why I like to optimize the code manually, but that takes time, so a compression tool is a good option for most.

In the end it is all a question of how much time or budget you have for your optimization.

Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 19, 2016, 11:30:31 AM
Hello,
something else we missing in discussion - but original post was HO TO AVOID.
1. About external extensions that we have to use for hidden or synchronizing Virtuemart with SEO - this mission is failed after installation of Virtuemart.
Why - : for files
     vm-ltr-common.css?vmver=9194 - this is part of Virtuemart 3 core
     vm-ltr-site.css?vmver=9194 - this is part of Virtuemart 3 core
     vm-ltr-reviews.css?vmver=9194
those files are in virtuemart for declaration of style of writing - left to right and show the version of VM. This is additional unnecessery work for declaration added.Theay are called and we cannot controll them with JCH, or extention Javascript Async and Defer. Checked by me - no way to make them "frendly" for Google. In the beginning in VM - 1.1.6 these files are not included. Extra vork from VM team and more gaps for hackers....Sorry but this is reality.

2. Errors - core modules Search, Futured/Last products add warnings and errors.It means HTML IS NOT seo FRENDLY...Result - goodbye Google although you have a good PageSpeed, good-looking store, purchased a commercial template.
3. Something wrong with indexation of Pictures in new versions of VM.
So i'm not programmer - i can do some changes and implementation but i cannot change the vm core.
If somebody know how to contact experianced virtuemart developer - please let me know by Persomal Message. Without resolving above described problems, my shope is not visible and indexed well by google, bing...etc.

P.S. As a result - Virtuemart before was oriented to not educated users in programming - now  Virtuemart software became only for high-level programmers.
This will disrupt Virtuemart community. If the user after installing VM must pay to the software company to remove Virtuemart bugs and doing SEO friendly 100% scripts .... then, this user no longer will stay with Virtuemart. He/She makes the shop to work with products in the shop and sell them and to have good visibility on search engines - onpage seo - not to work every day to eliminate problems...
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: StefanSTS on July 19, 2016, 15:51:21 PM
Hello nordkele,

I have the impression, you don't really read what is written above.

1. Just say in VirtueMart configuration, don't use VirtueMart CSS, and the files are gone and you can add the CSS whereever you like. How much easier can it be?

2. You already said that and I replied that I will suggest, that the border attribute will be removed. Good suggestion. Regarding not SEO friendly: I optimized a shop for a customer who comes up with his keywords on the first page of Google now, before he was on three or further. Wonderful result with that shop. The fault might be not with VirtueMart, it might be your expertise to be honest. It's not a simple card game, it needs work.

3. Just use a simple sitemap and offer it to the search engines, and images will be taken.

Honestly, if a user wants it all, SEO perfect pages, an optimized shop for the needs of the special products and is not willing to invest into the business, well, let him change to another shop system. If you find any, that will give you all that for free, please share it here, so that we all can use it. On that way you might find out, that you have to buy an enterprise version for 10.000 $ to get all that.

Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: jjk on July 19, 2016, 17:04:04 PM
Quote from: nortkele on July 15, 2016, 12:44:35 PM
But we have to have 100 % score including all core modules .
A 100% score doen't always make sense. It's calculated by a dumb algorithm which gives hints of what Google and others think might eventually save some time for the search engine bots. For example Google tells me that I should 'optimize' my images. However, each of my images IS manually optimized already for what I think is a good compromise between image quality and file size/loading speed. It also tells me to remove some js files which require 1 or 3 ms to load. Not everything Google suggests makes sense for a specific website. I'm happy with my PageSpeed index of 75 :-). Nevertheless my VM pages are loading fast enough on a slow shared server.

Quote
Something is wrong with picture SEO in virtuemart 3 and Google don't want to index pictures.
Sounds like you are doing something wrong. I operate a Gallery website and Google indexed all my pictures. Never had a problem concerning that since I started to use VM in 2011.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 19, 2016, 20:27:00 PM
Hello jjk,
my score in Gmetrix is : Page speed score - 95 ; Yslow score : 90. In Google (page speed insight)- Mobile test 83% User experiance - 100%, Desktop - 93%.

I would like to share our experiance with other peoples in this forum: about proper indexation of images in Virtuemart 3.
So we found why google not index images in Virtuemart 3. I will compare with Virtuemart 1.1.6
In virtuemart 3 , for images we have 3 additional fields (tab product images):
    1. Unique Filename
    2. Displayed image subtitle
    3. Image Alt-Text
All those fields are missed in Virtuemart 1.1.6. Why google not index images? Our answr-  If you ADD text different from name of the picture (for example OEM 9876543.JPG) - field 1 , you have to add same text on fields 2 and 3. If you add text different from field 1 even with one space or change the title in fields 2 and 3 then  Google won't index the picture because of DISCREPANCIESS between original name of the picture and other  2 fields. If the fields 1,2 and 3 are with same text without any differences then this image is indexed.!
    Note - @ JJK, if you check your tab product images you will see that fields 2 and 3 are empty. :) In virtuemart 1.1.6 have not such fields . So for this reason in Virtuemart 1.1.6 -  Result - 6000 pictures in shop - indexed 3000...In Virtuemart 3 - Result - 6000 pictures in shope - indexed 30.So discrepanciess are avoided with elimination of posibility to add something in fields 2 and 3.

Second, important for indexing of images.  How Google index the images.
Example 1 : In Product information Tab. If you add In field Product Name - Product name plus comma SKU number - the image will be better indexed with the category name and name of of product .
Example : 1 - good example for indexing of image
                          PEUGEOT Ел. Ключове - Бутони : БУТОН АВАРИЙНИ СВЕТЛИНИ P 206 CC - here is indexed category

                           www.1001avtochasti.com-980 × 980-Търсене по изображение
                           БУТОН АВАРИЙНИ СВЕТЛИНИ P 206 CC                                                   -  here is indexed name of product

Example 2: bad example for indexing of image
In Product information Tab. If in field for Product Name - you add only Product name - the image will be indexed with the category name BUT WITHOUT name of product .

                         
                         FORD Ел. Ключове - Бутони : БУТОН ЕЛ.СТЪКЛА, TRANSIT, FIESTA ... - CATEGOTY NAME

                         www.1001avtochasti.com-980 × 980-Търсене по изображение
                         SKU: AN-301                                                                                      - only (non famous) internal sku name. This indexation is partial in Google search results.

So, this is from my side. If someone has good practices , please share with us.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: Studio 42 on July 19, 2016, 21:40:53 PM
nortkele, i think that google try to index "unique name" before already indexed name.
For eg, if your image "unique name" is "tree", i think that you have not many chances that google index it(because google know already 1000000 of image named tree.
But "tree near my house in france" is more unique and have more chance to be indexed.
So of course adding SKU should give better result, but can be not appropriate to find it in google image ? And category-product name is perhaps better.
I have not many experience about this in long time, but i mean google index first new unique picture names.
Title: Re: Virtuemart 3 Blocked core virtuemart JS and CSS script
Post by: nortkele on July 20, 2016, 09:07:51 AM
Hello Studio 42,
you are right.
    We will test all permutation (logical variants) with SKU and product name for images . If we find the answer(i hope so) , this construction will give us also benefits how to construct product name for better indexation. :)
Maybe someone else has personal observation for this subtopic. Please shere with us.