Blog

Algolia su Magento

Lettura 4 minuti

E’ noto che la ricerca di base presente su Magento non è per nulla efficiente, poiché non restituisce i risultati attesi sia dal punto di vista dei termini trovati che del loro ordine in termini di rilevanza.

Il campo di ricerca è preferito rispetto alla navigazione per categorie, di conseguenza il corretto funzionamento di questo strumento diventa un fattore strategico per un e-commerce. Per questo motivo la sua ottimizzazione è un problema che presto o tardi ci verrà sottoposto.

In passato per ovviare a questo problema nei vari progetti abbiamo utilizzato server predisposti con Solr/Sphinx/ElasticSearch oppure abbiamo acquistato dei moduli a pagamento come quello di activo.

Tuttavia il primo approccio per quanto performante non è immediato nella configurazione e personalizzazione mentre il secondo, per quanto un modulo possa essere ricco di opzioni, non riesce a coprire tutte le casistiche.

Se anche voi avete avuto esperienze analoghe e state cercando qualcosa di più convincente forse siete nel posto giusto.

Abbiamo provato su alcuni progetti Algolia in particolare con l’apposito modulo di integrazione di Magento che nel momento in cui scrivo è alla versione 1.6.1.

L’impatto iniziale è proprio quello di un modulo plug & play, probabilmente se avete effettuato delle personalizzazioni al campo ricerca rispetto al tema di default dovrete sistemarlo un po’ graficamente, tuttavia in questo senso, la presenza di un selettore DOM per stabilire dove far comparire i risultati nel layout di categoria  rende molto versatile il suo utilizzo nei vari progetti.

A livello di performance, utilizzando le API si sposta il problema dell’indicizzazione da un’altra parte almeno parzialmente, infatti nonostante sia possibile, se si ha un catalogo di 5000 o più prodotti, sconsiglio di indicizzare direttamente l’indice predisposto dal modulo che si occupa della sincronizzazione con Algolia. Utilizzate invece il sistema di queue index che fornisce il modulo stesso. Per la stessa ragione omettete questi indici da procedure di integrazione che prevedono alla fine un reindexall, pena il fatto che le stesse potrebbero impiegare diverse ore per terminare.

Il livello di personalizzazione è buono, si può decidere dal modulo che attributi oltre a quelli standard indicizzare e dal pannello di Algolia decidere le priorità tra di essi.

Non si può attribuirne il peso come avveniva per il modulo di Activo e nemmeno la granularità di precisione sui termini simili, tuttavia è un difetto che viene poco sentito, in quanto l’autocompletamento è davvero ben fatto: non si limita a proporre le parole che contengono il termine che stiamo digitando ma fornisce direttamente i relativi prodotti, categorie e e pagine così ci si accorge subito se c’è qualcosa di sbagliato piuttosto che di analogo al termine che si sta cercando.

Una menzione speciale al fatto che il modulo indicizza anche le categorie e le pagine; questo è un valore aggiunto non indifferente per e-commerce che ha un albero di categorie molto profondo.

Fino a qui sono certo di avervi almeno convinto a dargli una possibilità, tuttavia ci sono anche alcune note dolenti, cominciando dal prezzo.

Per utilizzare Algolia si hanno a disposizione 4 piani mensili, di cui il primo è gratuito a patto di lasciare visibile il logo di Algolia nelle ricerche e comunque è sufficiente solo per cataloghi con un massimo di 10.000 record, utile quindi solo ad e-commerce con un catalogo non troppo ampio.

E’ presente una configurazione del modulo con cui disabilitare la comparsa il logo di Algolia nei risultati dell’autocompletamento per i piani non gratuiti, se non lo si volesse rendere visibile.

Quello più economico è 59 USD al mese (o 49 USD al mese se si fa l’abbonamento annuale) tra quelli disponibili, e comprende il supporto clienti con tanto di consigli di implementazione e tuning per

migliorare la rilevanza dei propri risultati. Tuttavia e non è detto che tutti i clienti siano ben disposti alla spesa periodica per questa funzionalità.

Infine un paio di consigli: utilizzate una API KEY per ambiente (anche la vostra macchina di sviluppo) per evitare che sincronizzi indici di altri ambienti; Algolia è predisposto a questo nella sezione API KEY.

Impostate inoltre che le immagini visibili nella preview siano la small image dei prodotti, di default è la base image che sembra non funzionare correttamente.

E voi l’avete provato? avete qualche alternativa che sia allo stesso tempo perfomante e plug & play? Scrivetecelo nei commenti!

edit:

Ho aggiunto le informazioni aggiornate sul pricing segnalatomi da Gianluca nei commenti

Marco Greco