21 Gennaio 2019

Uno, dieci, cento, mille prodotti. Come capire il limite dei prodotti gestibili da WooCommerce.

Quanti prodotti può gestire WooCommerce ? Ecco alcune considerazioni pratiche ed un caso reale.

Hosting WooCommerce Gestito

Da utenti attivi nei vari gruppi WordPress su Facebook, nonchè tra le diverse richieste email e telefoniche che abitualmente riceviamo, una delle domande più gettonate che ci vengono poste è quella riguardante il numero di prodotti gestibili da WooCommerce.

Essa suona pressapoco così : “Dovrei fare un ecommerce con n-mila prodotti, va bene WooCommerce ?
Un’altra variante alla domanda suona invece come : “Dovrei fare un ecommerce con n-mila prodotti. Posso usare WooCommerce o debbo usare Magento o Prestashop ?

A seguire sui social le risposte più variopinte di utenti più o meno skillati con ognuno la sua opinione. Tra chi consiglia Magento perchè lo usa la Nike, a chi sconsiglia Magento perchè online c’è un articolo che dice anche WooCommerce può gestire degli store con oltre mezzo milione di prodotti.

Di norma questi thread su WooCommerce nei social, finiscono sempre a vino e tarallucci con commenti banali e puerili che scendono addirittura in flame con reciproci insulti, e consueti “Lei non sa chi sono io.

Dando per ovvio che conversazioni del genere non aiutano nessuno, abbiamo pensato di scrivere questo articolo che non vuole necessariamente essere verità assoluta, ma quanto meno un surrogato di considerazioni personali ed esperienze tecniche derivate da chi dal 2005 al 2019 ha avuto modo di fare sistemistica per aziende che lavorano ad alti livelli su Magento, nonchè altre aziende e sviluppatori che sono più o meno esperti (o assolutamente novizi e “scappati di casa”) con la realizzazione di store WooCommerce.

Personalmente crediamo che bisognerebbe scegliere una piattaforma ecommerce sopratutto per le feature che egli offre piuttosto che basarsi sul numero dei prodotti in grado di gestire.
Se ad esempio avessimo la necessità di gestire un negozio di tipo multistore (laddove ad esempio ogni store risponda ad un dominio diverso o addirittura dove ogni store sia verticalizzato solo su un determinato prodotto ad esempio uno per gli occhiali e uno per le scarpe) sicuramente Magento o al limite Prestashop sarebbero soluzioni già pronte a soddisfare le nostre esigenze, mentre un WooCommerce dovrebbe essere esteso ed integrato con plugin aggiuntivi con i relativi pro e contro.

Ciò non toglie che WooCommerce sia in grado di offrire ottime potenzialità a chi ha il desiderio di sviluppare ecommerce proficui come possiamo vedere ad esempio da questo screenshoot di un nostro cliente:

Valutando comunque a prescindere l’irrevocabile decisione di voler utilizzare WooCommerce cerchiamo di rispondere alla semplice domanda di prima : “Quanti prodotti è in grado di gestire WooCommerce ?

Letta così la domanda può suonar fuorviante, in quanto la quantità dei prodotti gestibili dovrebbe essere quanto meno inerente alla piacevolezza di navigazione, la fluidità della stessa e insomma dare una gran bella e comoda esperienza utente.

Perchè sia chiaro un concetto, a nessuno interessa avere un ecommerce con 100 mila prodotti se poi la navigazione è lenta e richiede 10 secondi per il caricamento di ogni pagina.
Diversamente invece lo potrebbe essere qualora il tempo di caricamento sia inferiore ai 2 secondi anche a fronte di 1000 utenti connessi simultaneamente.

A rigor di ciò cerchiamo dunque di fare considerazioni che siano in linea con le aspettative del committente ma sopratutto del cliente finale che starà magari navigando comodamente il sito mentre sorseggia una cioccolata calda in allegra compagnia magari dal suo nuovo iPhone.

La risposta plausibile dunque a chi ci chiedesse “può uno store WooCommerce gestire 100 mila prodotti con fluidità ed un’esperienza utente soddisfacente ?” sarebbe : “Si ma a determinate condizioni.

Se prendiamo per esempio il sito Intershop (https://www.inter-shop.gr/) possiamo affermare che questo ecommerce sviluppato con WooCommerce potrebbe essere un chiaro esempio di come un WooCommerce possa gestire circa 170 mila prodotti senza problemi.

Intershop.gr con i suoi 160 mila prodotti.

Inter Shop è un negozio elettronico che importa e commercializza prodotti di varie aziende greche. Il loro negozio online si basa sulla piattaforma WooCommerce e ha oltre 158.000 prodotti che variano in categorie come gadget elettronici, articoli elettrici, strumenti di automobile, ecc Il negozio Inter si esaurisce della Grecia e si rivolge ai consumatori in tutto il mondo. Anche se, le spese di spedizione variano a seconda dei paesi.

Il loro sito Web inter-shop.gr si basa su Flatsome WordPress Theme. Secondo le statistiche da WPThemeDetector, questo tema WordPress da UXThemes è classificato come #13 nella lista dei temi WordPress top. FlatSome è un tema altamente personalizzabile, molto ben progettato principalmente per gli utenti WooCommerce.

Secondo WhoIsHostingThis, Inter Shop sta utilizzando CloudFlare che è popolare per la sua velocità e prestazioni connesse servizi rendendo così un affidabile web performance e società di sicurezza e di darci motivo di più per credere che WooCommerce è facilmente scalabile se hai un supporto hosting adeguato e uno sviluppo applicativo snello e ben fatto.

Inter Shop usa W3 Total Cache, un plugin che aiuta a migliorare la velocità e le prestazioni del sito Web, dando così all’utente, nel complesso una migliore esperienza del sito con tempi di caricamento inferiori ai due secondi.

Quindi ancora una volta la risposta è affermativa. Si è possibile gestire grossi store con WooCommerce.

Come mai con pochi prodotti allora va lento ?

Una delle obbiezioni di chi sconsiglia l’utilizzo di WooCommerce è quella per cui avendo provato e testato l’utilizzo su un sito con pochi prodotti (anche poche centinaia), l’esperienza è stata così lenta, negativa e traumatica da reputare WooCommerce una scelta pessima (addirittura da sconsigliare) per tutti coloro che avessero deciso di utilizzarlo. Ovviamente non si sono minimamente chiesti se tutto fosse stato fatto correttamente e se alla causa (o alle cause) di un pessimo risultato finale ci potessero essere più motivazioni imputabili a loro.

Perchè c’è una bella differenza nel constatare che un sito realizzato con WooCommerce possa risultare tremendamente lento, e sapersi anche spiegare il perchè. Buttare via il WooCommerce fatto dal cugino sono buoni tutti, portare il sito su strumenti di analisi e profilazione come New Relic e capirne i colli di bottiglia (e magari anche risolverli) è da pochi. Così come è da pochi scegliere un hosting come il nostro che fornisce tecnologie adeguate a ospitare un sito WooCommerce. A partire da una corretto mounting delle partizioni, ad un corretto tuning del sistema e dei servizi, all’utilizzo di più strati di cache (Redis.io, Memcached, Zend OpCache, W3 Total Cache, Varnish, NGINX Cache), all’utilizzo di tabelle InnoDB piuttosto che le vetuste MyISAM in un contesto globale dove le performance sono veramente tutto.

Nella maggior parte dei casi comunque un buon tuning sistemistico pur con tutte le accortezze del mondo e la migliore buona volontà, non sarà in grado di risolvere problemi strutturali derivati da temi o plugin “Ammazzaserver” che dovrebbero essere di fatto vietati su WordPress in quanto vanno a sovraccaricare di query il DB o i processi, rendendo il tutto estremamente lento e inutilizzabile. Un buon tuning sistemistico ed un buon hosting con buone cache potrà magari abbassare da 10 secondi a 3 l’esperienza utente inizialmente non soddisfacente. Un buon debug con una risoluzione applicativa (magari cancellando o sostituendo un plugin) invece potrà eliminare il problema permettendo un caricamento in solo 1 secondo.

Plugin lenti. Un esempio con WPML.

Uno degli esempi di cui facciamo sempre menzione quando un cliente decide di pianificare la traduzione del suo attuale sito in lingue diverse da quelle attuali è quella di non utilizzare WPML.

Per quanto ben pubblicizzato e diffuso, WPML (il plugin più conosciuto per le traduzioni di siti WordPress) non si può dire certamente che brilla per le performance. Implementando infatti soluzioni personali per effettuare la traduzione delle varie lingue, come ad esempio tabelle proprietarie, join multiple e via dicendo, l’unico risultato che si ottiene (oltre all’ovvia traduzione in multilingua delle pagine WordPress e WooCommerce) è quella di rallentare in maniera sensibile la velocità di caricamento delle pagine.

Se è vero che su un sito veloce il aumentare il 100% della velocità di caricamento può significare avere un sito che utilizza WPML che carica comunque in 2 secondi invece di 1, nei siti meno veloci, può significare che un sito carica in sei secondi invece di 2  o 3 e questo non è tollerabile.

Un’esperienza reale che abbiamo avuto con un nostro cliente è stata quella di dare un’ottimizzazione frontend davvero importante, portando il caricamento da 6 secondi circa a meno di 1 in quanto all’utente non loggato veniva servita la pagina in cache precedentemente generata. Il problema però rimaneva al momento in cui l’utente (ad esempio un rivenditore coi suoi listini riservati) decideva di loggarsi e dunque navigare senza beneficiare della cache statica Varnish. A quel punto tutta l’ottimizzazione server veniva meno e il sito tornava ad essere irrimediabilmente lento.

Cosa fare dunque ?

Semplicemente il sito era in una sola lingua ancora e pur sfruttando WPML con Italiano come lingua principale ancora non era stato tradotto nelle altre lingue, per cui la soluzione più saggia e sensata è stata quella di estrapolare tutti gli articoli, pagine e prodotti da WPML e inserirli al di fuori di esso per poi disabilitare e infine eliminare WPML. 

Ecco qui che il sito è tornato un fulmine anche per gli utenti loggati.

L’unica valida alternativa al lentissimo WPML è Multilingualpress (https://multilingualpress.org) , una scelta consigliata anche da altri hosting Performance Based come WP Engine, in quanto proprio la sua struttura basata sulla feature multisite nativa di WordPress (invece dello spaghetti code e tabelle proprietarie di WPML) permette di ottenere il massimo delle performance e funzionalità senza inventare strani e lentissimi stratagemmi come fa WPML, ormai giunto al capolinea di una disonorata carriera.

Costa circa 200 dollari all’anno per ogni singolo sito, ma di sicuro non vi rovinate il fegato come succede con WPML.

Ovviamente abbiamo voluto focalizzarci su WPML, perchè è prassi comune notare un rallentamento evidente al momento della traduzione in lingua, ma non è l’unico plugin in grado di ammazzarvi l’ecommerce rendendovi lenti come delle lumache. Di norma tutti quelli che fanno uso di chiamate AJAX verso il backend sono consigliabili da evitare, così come tutti quelli che hanno funzioni non di primaria importanza e vengono lasciati impuniti a massacrare di query il DB.

Altri fattori negativi per uno store WooCommerce performante ?

Tra gli altri fattori negativi per un WooCommerce performante che potrebbe non essere in grado di reggere un buon numero di prodotti o un buon picco di traffico troviamo :

Soluzioni hosting shared non idonee.

Quale sarebbe il senso di prestare economia e parsimonia nello spendere 100 euro l’anno piuttosto che 100 euro al mese per un server dedicato ottimizzato managed e gestito se di fatto il vostro business vale centinaia di migliaia di euro l’anno o al mese ? Sembra assurdo ma è capitato di vedere aziende con siti lenti in shared hosting con fatturati di qualche centinaio di migliaio di euro l’anno che non volevano passare a server dedicato perchè a detta dell’amministratore costava troppo. In questo caso cambiate lavoro e chiudete l’attività. Andate al mare piuttosto che fingervi imprenditori.

Mancanza di dischi SSD o nVME in RAID.

Sempre inerentemente al punto menzionato come “Soluzioni hosting shared non idonee”, anche la mancanza di adeguati dischi SSD o nVME possono determinare rallentamenti in lettura e scrittura con un innalzamento di latenze tali da creare colli di bottiglia importanti e una lentezza generale. Non serve nemmeno dilungarsi troppo con le parole o i virtuosismi tecnici, basta dare un’occhiata al benchmark seguente per capire l’importanza di un disco SSD o meglio nVME piuttosto che i classici Hard Disk HDD meccanici.

Mancanza di adeguate tecnologie software.

Siamo chiari una volta per tutte, se pensate che hosting significhi comprare un account con CPanel e Plesk da aziende venditrici di ferro (hardware) senza minimamente fare un tuning software e ottimizzazione, purtroppo per voi vi stanno truffando.
Per fare hosting serio di un progetto WooCommerce si ha necessariamente bisogno di uno stack basato su queste componenti software : NGINX con http/2, PHP-FPM con Zend OpCache, REDIS.IO e Memcache insieme a Varnish in reverse proxy e un’adeguata configurazione per lavorare in sinergia con WordPress e WooCommerce. Se questi punti non sono soddisfatti e il vostro fornitore non è in grado di fornirvi questi servizi, scappate pure perchè il vostro fornitore non è in grado minimamente ne di fare egregiamente il suo mestiere ne di spingere al massimo il vostro store. I nomi dei software sopra menzionati non sono una nostra ed esclusiva ricetta perchè “è bello e ci piace”, ma i requisiti consigliati e le best practices di tutti gli hosting ad alte performance.

Un test reale di un nostro cliente con oltre 10 mila prodotti in WooCommerce

Volendo rimanere nella realtà e non limitarsi a raccontare quello che fanno altri ecommerce che abbiamo visto online e documentato in questo articolo cono le nostre ricerche, abbiamo voluto dare una dimostrazione pratica di un ecommerce realizzato con WooCommerce che ha oltre 10 mila prodotti pubblicati.

A differenza dei soliti luoghi comuni che WooCommerce è adatto solamente per siti di piccole dimensioni e con pochi prodotti altrimenti inizia ad essere estremamente lento, nel video potrete visionare con i vostri occhi la fluidità di navigazione di un WooCommerce che ha caricato oltre 10 mila prodotti.

 

 

Conclusioni

Possiamo dunque concludere questa panoramica sulla possibilità di poter costruire grandi ecommerce con WooCommerce, con l’affermazione che WooCommerce da la possibilità di farlo in maniera efficiente ed elegante, ma sta sia allo sviluppatore che al sistemista fare delle accurate scelte affinchè si possano evitare tutte le problematiche in fase di realizzazione che penalizzerebbero le performance, e (per ciò che concerne il sistemista) di attuare tutte le best practices dimensionando sia lato hardware che lato software la migliore soluzione ad-hoc per il progetto.

Se hai bisogno di valutare la possibilità di ottimizzare il tuo sito e aumentare la velocità in modo considerevole non esitare a contattarci.

 

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

SOLO UN ATTIMO !

Vorresti vedere come gira il tuo WooCommerce sui nostri sistemi senza dover migrare nulla ? 

Inserisci l'indirizzo del tuo sito WooCommerce e otterrai una dimostrazione navigabile, senza dover fare assolutamente nulla e completamente gratis.

No grazie, i miei clienti preferiscono il sito lento.
Torna in alto