VirtueMart Forum

VirtueMart 2 + 3 + 4 => Security (https) / Performance / SEO, SEF, URLs => Topic started by: w360 on April 17, 2020, 11:05:08 AM

Title: Optimize best practice guide?
Post by: w360 on April 17, 2020, 11:05:08 AM
Hi

Is there a guide to optimize your VirtueMart installation in regards to speed?
I have a list of plugins i normally use for Joomla but i am unsure if they work well with VirtueMart.

Offcause i enable Joomla standard optimisation.

Use:
AdminTools
Often JCH (unsure if this works well with Virtuemart)
Litespeed Cache (litespeed server) or joomla cache.
Use sensible templates and dont use more plugins/modules/components than i really have to.

So do any of you have a list of things you always do when you want your site to run most effectively?
Especially when it comes to VirtueMart of course.
Title: Re: Optimize best practice guide?
Post by: GJC Web Design on April 17, 2020, 11:27:09 AM
QuoteLitespeed Cache (litespeed server).
Use sensible templates and dont use more plugins/modules/components than i really have to.

This is also my mantra

Plus some good news here for forth coming releases

https://docs.virtuemart.net/tutorials/development/241-reduced-database-access-by-using-booleans-for-reference-tables.html
Title: Re: Optimize best practice guide?
Post by: Studio 42 on April 17, 2020, 13:24:21 PM
Quote from: GJC Web Design on April 17, 2020, 11:27:09 AM
Plus some good news here for forth coming releases

https://docs.virtuemart.net/tutorials/development/241-reduced-database-access-by-using-booleans-for-reference-tables.html
You have plenty of unused datas in Vm and bad queries.
The use of NULL is not an optimization of tables for eg.
The VM queries  load most time all fields, this is slow too.
I load the full categories tree in 1 query(with language fallback) but Vm core query load each level and need 1 query for each children tree.
So before optimizing and modify the tables, the queries and loaded content should be optimized !
Title: Re: Optimize best practice guide?
Post by: pinochico on April 17, 2020, 14:16:42 PM
As sad Patrick and me confirm:

Optimize is rewrite a lot of core code from VM and a lot of code from another 3d party plugins and modules.
And use powerful server - we use some from this - https://www.hetzner.de/dedicated-rootserver/matrix-px
This is right journey

If You are not programmer you can use optimize plugins, but it is only a substitute for who are just a so-called dummy / clicker / administrator / installer of eshop and applications.
As a result, it may cause subsequent malfunction of the basic functionality of the eshop.
Title: Re: Optimize best practice guide?
Post by: w360 on April 17, 2020, 14:56:40 PM
So what you to are saying is that Virtuemart is a pile of crap and if you want to have real webshop performance you better, A: Be a developer or B: Use another shop system. ?
Title: Re: Optimize best practice guide?
Post by: pinochico on April 17, 2020, 16:42:51 PM
What I say is something different:

if you use open source:
- you build individual applications and extensions from different developers with different programming procedures...
- nobody approves the code - does not authorize the program code as the main programmer of the open source project (as it happens at shopsys ecommerce)

in the final you get the same result whether you use Virtuemart or other open source solutions (Joomshoping, Hikashop, Prestashop, Woocomerce ....)
It's the same for everyone.

Virtuemart is a good startup and even on it, using procedures that Patrik or I wrote, you can prepare a professional solution with a load
3-20k customers at one time
1.5 million products
comparable to e-shops programmed to order (alza.cz, mall.cz)

You don't have to be a programmer (nor do I consider myself a programmer), but you should be able to:
- Understand program code and Virtuemart / Joomla functions
- edit templates and create override in PHP HTML | CSS | LESS
- find in code what function is called and why and be able to call it in various parameters with override
- be able to work with git / gitlab, php storm / coda / notepad2, transmit / filezilla ...

Or find someone who can do these adjustments for you.

Example:
We use the kkyoutube plugin from a German developer to display youtube videos on the product detail tab. This plugin is programmed to use the Google API (why?) And because it is poorly programmed, it calls this API where the video is not displayed (in product administration, product category listing on FE ...) so without seeing the video, the daily API call limit (10,000) will be exceeded and the video will not appear in the product detail for the customer at all.

I'm just an administrator, but by looking into the code I found out and was able to tell the programmer exactly what I want to fix and I could check it and test it.
As a result, the programmer has modified one function and it already works.

You don't have to work like this, you can be just the one who installs and sets up, but then you aren't able to make professional solutions, just e-shops for hobby (play the game) solutions.
And this is true with any ecommerce.
Title: Re: Optimize best practice guide?
Post by: w360 on April 17, 2020, 17:23:42 PM
I understand what you are saying but it's not what comes across from the former posts.

We work with Opencart, Prestashop and (sigh) WooCommerce and we fully understand that none of them works without some setup and using best practice not to mention using quality/compatible plugins.

But what i dread to hear is: You got to make changes to core files if you want good performance under stress.

The main reason i am here is because we have a client who has a functioning shop in VirtueMart and she has been through a few "developers" who seem to only been able to manage the solution and make it perform.

Hence, what are the routine optimization steps you go through when launching a new Virtuemart shop?  (i got joomla covered)
Title: Re: Optimize best practice guide?
Post by: GJC Web Design on April 17, 2020, 19:45:21 PM
for smaller VM shops the performance is perfectly acceptable if on a decent server and the points above ( clean out the crap and a well thought out template functionality wise)

For larger shops we go to VPS or dedicated and Lightspeed cache creates a real step change in speed of delivery ( makes of course no difference to un-cached pages)

Think about also what is required for the shop .. adding endless bells and whistles that no visitor ever uses is just silly . .. in most cases they come to the shop to buy something - not be astounded by the technical achievements of the coder...  or the soaring beauty of the designers creation -- well - depends how shallow they are I guess..  ;) 
Title: Re: Optimize best practice guide?
Post by: Studio 42 on April 17, 2020, 22:52:12 PM
@w360
All ecommerce try to add maximum features, so load more info as needed for most cases.
All templates load many javascript that 90% of user never use and more your pay for a template and mote you have crap inside.
Many site use template frameworks that load and check plenty of functionnality.
Many Joomla site have more then 100 plugins installed and published, but only use 10 to 20 plugins.
Many site do not check the pagespeed, do not optimize the script and css.

So yes, you dont need to be a developer, you simply have to be not too stupid ;)
Title: Re: Optimize best practice guide?
Post by: w360 on April 19, 2020, 14:41:08 PM
Quote from: Studio 42 on April 17, 2020, 22:52:12 PM
@w360

Many Joomla site have more then 100 plugins installed and published, but only use 10 to 20 plugins.

So yes, you dont need to be a developer, you simply have to be not too stupid ;)

Not any site i have ever worked on, but you are right on the stupid part but that goes for every system out there.

But i think we are on the same page in general BUT is there any SPECIFIC tips you would like to share? For most systems we use we a list of tweaks, we go though everytime we start a new project.

So something like:
Instal xxx plugin for added xxx.
Remove/edit/overide xxx code
Insure xxx is indexed etc.
Title: Re: Optimize best practice guide?
Post by: Studio 42 on April 19, 2020, 15:23:54 PM
My general advice.
Add "nofollow" on all unrelated menu and internal links to get better SEO(for eg. Link to cart, contact, tos ...
Do not use frameworks, if you know how to work with a template.
Find optimized modules for your needs.
Remove (or at minimum unpublish) all unused plugins, modules.
Clean always your trash.
Verify if you can replace Javascript(eg modal, slideshows) and use bootstrap only, if you can.
Use PHP 7.2 release and PHP FPM, if you can.
Verify all your H1,h2 .... for better SEO. Most template use H3 for module headers and is not good for SEO.
Use related products or my custom plugin, buy together to sold more.
Do not use big image when you can use a resized one.
Implement webp
Verify your site work with http2
In .htaccess use mod_header, mod_deflate adde expire times to css,images and javasripts.
Use robots.txt to disable access to bad bots.

Title: Re: Optimize best practice guide?
Post by: w360 on April 19, 2020, 19:25:55 PM
Thank you!  :)

That list makes total sense to me but how do you implement webp? I haven't had the time to really look into the new format yet.
Title: Re: Optimize best practice guide?
Post by: pinochico on April 19, 2020, 20:51:42 PM
webp:

I use plugin for Joomla, but you have to know - I use macbook for developing and Safari and for me this plugin is not for use.
But we using for antoher people with IE, Chrome...

The list form Patrick is not finished for me, we use for eshops and websites next another top secret solutions, but they not related with Virtuemart :)
Title: Re: Optimize best practice guide?
Post by: NixNives on July 01, 2020, 14:07:04 PM
Quote from: Studio 42 on April 19, 2020, 15:23:54 PM
My general advice.
Add "nofollow" on all unrelated menu and internal links to get better SEO(for eg. Link to cart, contact, tos ...

Why would you add nofollow to any of your internal links? Google's algorithm uses it to find pages and determine relevancy. If you do not have any links to your TOS for example it's more or less like the page doesn't exist, because the spider will never find it. And pages like that are important for determining the trustworthiness of a page
Title: Re: Optimize best practice guide?
Post by: pinochico on July 01, 2020, 14:29:33 PM
QuoteIf you do not have any links to your TOS for example

But you have link, don't forget about this.
In cart, if I check this site by html and seo, then TOS is link (I mean <a href="xxxx">
If is link, then you have to add right params. (of course for all link in website).
If not then lighthouse show for you as error.

Welcome :)