Findalo

PrestaShop

Perché ricostruire l'indice non risolve la ricerca di PrestaShop

· 8 min di lettura · Di Ray Rodríguez, fondatore di Findalo

Se hai cercato perché il motore di ricerca del tuo PrestaShop non trova un prodotto, ti sarai già imbattuto nella risposta di sempre: ricostruisci l'indice. Configura → Parametri del negozio → Ricerca → «Aggiungi i prodotti mancanti all'indice», o il pulsante che lo ricostruisce tutto.

A volte funziona. La maggior parte delle volte no, e a quel punto resti senza sapere cosa guardare. Questo articolo spiega cosa fa esattamente quella ricostruzione, cosa non tocca per quanto tu la ripeta, e quali di quelle cose puoi sistemare tu stesso oggi pomeriggio senza attivare niente.

Tutto quello che segue è letto nel codice di PrestaShop 8, non su un forum del 2017.

Cosa fa ricostruire l'indice

PrestaShop non cerca sui tuoi prodotti. Cerca su un indice di parole: due tabelle, una con ogni parola distinta del tuo catalogo e un'altra che la collega ai prodotti in cui compare, con un peso.

Ricostruire l'indice significa rifare quelle due tabelle rileggendo il catalogo. Niente di più. E del catalogo legge soltanto i campi che hanno peso maggiore di zero: nome, codici, descrizione breve, descrizione lunga, categoria, marca, tag, attributi e caratteristiche.

Questo spiega già il primo caso frustrante. Se il peso della descrizione lunga è a zero, quella descrizione non è nell'indice, e ricostruirlo mille volte continuerà a lasciarla fuori. Non è che l'indice sia vecchio: è che quel testo non è mai stato candidato.

E già che ci siamo, un mito: no, non è un OR

Gira molto l'idea che la ricerca nativa restituisca tutto ciò che contiene una qualsiasi delle tue parole. Cerchi Funko Ash e ti escono tutti i Funko e tutti gli Ash.

In PrestaShop 8 non è così. Il motore risolve parola per parola e incrocia i risultati: se cerchi «auto rossa», ti restano i prodotti che hanno «auto» e «rossa». È talmente noto che il codice stesso porta un commento che avverte che qualcuno ruppe quella intersezione in passato e che non si deve rompere di nuovo.

Se nel tuo negozio sembra un OR, il problema è un altro, e di solito è quello che viene adesso.

Le cinque cose che ricostruire l'indice non risolve

1. La visibilità del prodotto

L'indice accetta solo prodotti attivi e con visibilità «Ovunque» o «Solo ricerca». Un prodotto impostato su «Solo catalogo» non uscirà mai nella ricerca, e non c'è ricostruzione che lo cambi.

È la causa numero uno di «questo prodotto esiste e non compare». Si vede nella scheda Opzioni del prodotto, e si cambia in blocco dall'elenco.

2. La lunghezza minima delle parole

C'è un'impostazione, nella stessa schermata Ricerca, che scarta le parole più corte di X caratteri. Si applica prima di toccare l'indice: quelle parole vengono buttate, non cercate.

Se ce l'hai a 3, una ricerca di TV non cerca niente. Una di kit 4 cerca solo «kit». E se qualcuno scrive solo parole corte, il motore non restituisce zero per mancanza di corrispondenze: restituisce zero perché è rimasto senza niente da cercare.

Abbassarla a 2 risolve un numero sorprendente di casi. Ha un costo: l'indice cresce ed entrano parole poco utili.

3. L'elenco delle parole ignorate

Accanto all'impostazione precedente c'è un elenco di parole sempre scartate. Arriva con preposizioni e articoli, il che va benissimo, ma conviene leggerlo: se il tuo catalogo è tecnico, è facile che lì dentro ci sia una parola che per te significa qualcosa.

4. Una parola sconosciuta non dà zero risultati: cade

Questa è quella che confonde di più, e quasi nessuno la racconta.

Quando cerchi più parole, PrestaShop risolve ognuna contro l'indice. Se una non c'è — né così com'è, né con la correzione approssimata — quella parola viene scartata e la ricerca prosegue con le altre.

L'effetto pratico: qualcuno cerca scarpe running taglia 43, «43» non è indicizzato, e invece di dire «non ho niente del genere» gli restituisci tutte le tue scarpe da running. Il cliente vede un mucchio di risultati, nessuno è quello che aveva chiesto, e conclude che il tuo motore non funziona. Tu guardi il pannello e vedi una ricerca con risultati, quindi non te ne accorgi.

È peggio di uno zero risultati, perché lo zero almeno si misura.

5. La tolleranza agli errori si esaurisce a metà frase

PrestaShop ha la correzione approssimata: se una parola non c'è, cerca la più simile nell'indice. Ma ha un budget di tentativi per tutta la query, non per parola, e si consuma man mano che avanza.

La conseguenza è strana da notare e facile da riprodurre: in una ricerca di più parole, le prime vengono corrette e le ultime no, perché il budget si era esaurito prima di arrivarci. Lo stesso errore viene perdonato all'inizio della frase e non alla fine.

Allora, quando conviene ricostruire?

Perché sia chiaro che non è inutile. Ricostruire l'indice è esattamente quello che serve quando:

  • Hai cambiato i pesi dei campi. L'indice vecchio è stato costruito con i pesi vecchi.
  • Hai aggiunto una lingua.
  • Hai importato prodotti con l'indicizzazione automatica spenta, o hai toccato il database da fuori.
  • Hai migrato versione o server e le tabelle dell'indice sono rimaste a metà.

In un negozio grande la ricostruzione va a lotti e può richiedere tempo. Se si interrompe, l'indice resta parziale, e lì sì che ha senso ripeterla.

La revisione di dieci minuti

Se di questo articolo ti resta solo una parte, che sia questa. In ordine, senza installare niente:

  1. Prendi un prodotto che non compare e guardane la visibilità. Se dice «Solo catalogo», l'hai trovato.
  2. Guarda i pesi in Parametri del negozio → Ricerca. Se il codice è a zero e i tuoi clienti cercano per codice, alzalo. Se la descrizione lunga è a zero ed è lì che sta l'informazione buona, decidi se la vuoi dentro.
  3. Abbassa a 2 la lunghezza minima delle parole e ricostruisci. Riprova le ricerche che fallivano.
  4. Leggi l'elenco delle parole ignorate e togli quello che nel tuo catalogo significa qualcosa.
  5. Prova una ricerca di tre parole dove l'ultima è molto specifica. Se ti restituisce molti risultati e nessuno la rispetta, hai appena visto il punto 4 dal vivo.

Con questo si risolve più di quanto sembri. Sul serio: fallo prima di spendere un euro.

Quello che non si risolve configurando

E adesso la parte onesta, che è dove entriamo noi.

Ci sono cose che non dipendono da nessuna impostazione perché un indice di parole non arriva più in là. Cercare per significato e non per parola, in modo che «qualcosa per la pelle sensibile» trovi prodotti che non contengono nessuna di quelle parole. Capire che un codice con trattini, zeri iniziali o suffisso di variante è lo stesso che scrive il cliente. Ordinare i risultati per quello che si vende davvero e non per un peso fisso messo una volta. Mostrare risultati mentre si digita. E sapere cosa è stato cercato e non trovato, che è l'unico elenco che ti dice cosa ti manca.

Questa è un'altra categoria di prodotto, e costa soldi. Il nostro piano di ingresso sono 15 € al mese, e c'è un mese di prova gratuito per vederlo col tuo catalogo prima di decidere.

Ma se sei arrivato fin qui da un motore di ricerca, molto probabilmente quello che hai è uno dei cinque problemi di sopra. Sistemalo prima. Se dopo continua a non trovare quello che i tuoi clienti scrivono, ne parliamo.

Come funziona Findalo su PrestaShop · Scrivici se vuoi che lo guardiamo col tuo catalogo.

Continua a leggere