Virtuemart 3 Blocked core virtuemart JS and CSS script

Started by nortkele, July 07, 2016, 18:42:20 PM

Previous topic - Next topic

StefanSTS

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

--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

StefanSTS

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
--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

Studio 42

#17
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.

StefanSTS

#18
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.

--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

Studio 42

#19
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.

StefanSTS

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.
--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

Studio 42

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.

StefanSTS

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.

--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

nortkele

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...

StefanSTS

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.

--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

jjk

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.
Non-English Shops: Are your language files up to date?
http://virtuemart.net/community/translations

nortkele

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.

Studio 42

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.

nortkele

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.