Evitare il debito tecnico su Magento

Pubblicato: 2019-07-30

Secondo wikipedia "il debito tecnico (noto anche come debito di progettazione o debito di codice) è un concetto nello sviluppo del software che riflette il costo implicito di ulteriori rielaborazioni causate dalla scelta di una soluzione semplice (limitata) ora invece di utilizzare un approccio migliore che richiederebbe più tempo .”

Molti dei commercianti che abbiamo coinvolto nelle discussioni sulla scoperta del progetto in preparazione alla migrazione a Magento 2 hanno dovuto affrontare gravi debiti tecnici da Magento 1. La storia di solito va più o meno così... "abbiamo molte estensioni e personalizzazioni di Magento 1 che si sono accumulati nel tempo...così tanto che in realtà non sappiamo nemmeno quali estensioni siano ancora necessarie...e ora ogni volta che abbiamo bisogno di aggiornare o applicare patch a Magento 1 ci vuole molto tempo, perché le cose si rompono e le estensioni scadute e le personalizzazioni devono essere aggiornate o riparate”.

Non è raro che questi commercianti abbiano costi annuali del debito tecnico pari al 25-50% (o più) della costruzione iniziale del sito. Nel giro di pochi anni questo debito diventa un fattore serio nel costo totale di proprietà e rende Magento una soluzione non così economica.

Quindi, come possono i commercianti che ora migrano a Magento 2 evitare di accumulare tutto il debito tecnico che vediamo con Magento 1? Di seguito sono riportate alcune linee guida per evitare il debito tecnico su Magento 2.

Prodotto minimo vitale (MVP)

La grande idea qui è iniziare con i "must have", quelle estensioni o personalizzazioni che sono assolutamente necessarie in aggiunta al prodotto base Magento. Consigliamo ai commercianti di creare un nuovo sito con lo stretto necessario e di lanciarlo prima. Una volta che il sito è attivo, ti consigliamo di monitorare attentamente il coinvolgimento degli utenti con strumenti come Google Analytics, Hotjar (registrazione delle sessioni) e tecniche come i test A/B. Seguendo questo processo è possibile perfezionare i miglioramenti delle funzionalità che sono veramente necessari e che sicuramente forniranno un ritorno sull'investimento.

Abbiamo visto molte estensioni installate su Magento 1 perché il commerciante stava cercando di copiare l'esperienza utente dei siti di e-commerce di mega brand. Sebbene sarebbe bello avere un sito con tutte le funzionalità di rei.com, target.com, walmart.com e amazon.com combinate, spesso non è pratico e tutte quelle funzionalità aggiuntive (estensioni) portano a ben poco o nessun miglioramento dell'usabilità e della conversione del sito. I commercianti di medie dimensioni stanno molto meglio con un approccio minimalista (MVP) alle funzionalità aggiuntive in modo che possano concentrare i loro sforzi e budget su un migliore marketing, contenuto del catalogo prodotti e merchandising.

Modifiche al modello invece di installare estensioni

Supponiamo che un commerciante desideri espandere completamente la navigazione filtrata (acquista per funzionalità) in Magento 2. Esistono diverse estensioni o temi di terze parti che potrebbero essere installati per ottenere questo progetto. Tuttavia, alcune semplici modifiche CSS potrebbero anche essere apportate al modello per ottenere lo stesso design. Tali modifiche CSS avranno un costo molto inferiore da mantenere nel tempo e potrebbe non essere necessario aggiornarle per 5 o più anni.

Pertanto, per la personalizzazione del front-end, è sempre consigliabile consultare uno sviluppatore prima di utilizzare un'estensione. La personalizzazione potrebbe essere ottenuta in modo molto più efficiente semplicemente modificando i file modello Magento.

Non utilizzare estensioni di modelli di temi di terze parti

Sebbene si possa essere tentati di acquistare un'estensione del modello di tema per l'interfaccia utente front-end di Magento (ad esempio da Theme Forest), l'utilizzo di un modello di tema può portare a una grande quantità di debito tecnico.

Questi modelli sono estesi in quanto assumono il controllo completo del front-end. Di solito sono una raccolta di 20-30 estensioni di terze parti, oltre alla personalizzazione. La maggior parte, se non tutto, il codice di queste estensioni è sviluppato da sviluppatori a basso costo e può presentare alcuni o tutti i seguenti problemi:

  • Codice gonfio (caricamento di molte librerie javascript non necessarie ecc...)
  • Non segue le migliori pratiche
  • Rallenta la velocità delle prestazioni
  • Conflitti Javascript
  • Non funziona correttamente con Magento o con Varnish cache
  • Disabilita le funzionalità native di Magento (ad es. Widget, clic per il prezzo, messa in scena dei contenuti, ecc.

Anche se le estensioni del tema sembrano contenere molto valore per tutte le opzioni e le funzionalità che forniscono, il loro debito tecnico supera quasi sempre i loro vantaggi. Nella nostra esperienza è molto meglio adottare un approccio meno invasivo alla tematizzazione front-end. Ciò può essere ottenuto solo apportando modifiche CSS e sfruttando una quantità minima di personalizzazioni ed estensioni per ottenere l'aspetto, la sensazione e le funzionalità richieste.

Acquista estensioni dalla stessa azienda

Quando possibile è una buona idea acquistare estensioni dalla stessa azienda. Ciò garantisce in genere la compatibilità tra tutte le estensioni acquistate. Alcuni dei fornitori di estensioni più grandi come Aheadworks hanno molte estensioni di qualità per Magento che di solito sono compatibili tra loro. Quindi, se, ad esempio, stai cercando una soluzione di ricerca più solida, un dispositivo di scorrimento del banner dell'eroe della home page, un blog e un'aggiunta avanzata al carrello, potresti acquistare molte delle loro estensioni ed evitare problemi di compatibilità che potrebbero altrimenti esistere se dovessi acquistare tutti di queste estensioni da società separate.

Veterinario prima dell'installazione

    In InteractOne, i nostri sviluppatori senior esaminano l'architettura e il codice delle estensioni prima di approvarne l'installazione. È facile per un buon sviluppatore Magento individuare una scadente estensione Magento controllandone l'architettura e il codice. Abbiamo salvato i nostri clienti da molte estensioni di bassa qualità attraverso questa pratica. Se l'estensione è di bassa qualità, la rispediamo al fornitore per un rimborso.

    Faccende domestiche

    La revisione e la pulizia programmata e periodica di un sito Magento è una best practice che può salvare un sito dal diventare gonfio o instabile man mano che matura. È una buona idea rivedere tutte le estensioni in uso su un sito Magento su base annuale o semestrale per garantire che le vecchie estensioni e personalizzazioni inutilizzate o instabili vengano ripulite, riparate o rimosse.

    È anche importante rimanere aggiornati con le versioni di aggiornamento di Magento e dei fornitori di estensioni. Anche se non è necessario essere sempre sull'ultima versione minore, raccomandiamo di non rimanere indietro di più di 2-3 versioni secondarie. Rimanere aggiornati garantisce il mantenimento della sicurezza e le estensioni non diventano instabili poiché la tecnologia dei browser e dei dispositivi mobili è in continua evoluzione.

    Lasciare che un sito Magento resti indietro di qualche anno nelle versioni può finire per richiedere da due a tre volte il normale sforzo di aggiornamento poiché i vecchi percorsi di aggiornamento non sono sempre ben supportati dai fornitori di estensioni. Inoltre, il lancio di un salto di aggiornamento davvero grande può essere complesso quasi quanto un nuovo sito golive poiché ci sono così tanti cambiamenti importanti da considerare e testare.

    Sebbene questo elenco di raccomandazioni per evitare il debito tecnico con Magento non sia esaustivo, copre i punti chiave che dovrebbero aiutarti a mantenere il tuo sito Magento 2 veloce, stabile e sicuro per gli anni a venire.


    Se desideri discutere lo stato del tuo sito o sei pronto per migrare a Magento 2, saremo lieti di fissare una consulenza iniziale senza impegno. Mandaci una nota.