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:
- Prendi un prodotto che non compare e guardane la visibilità. Se dice «Solo catalogo», l'hai trovato.
- 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.
- Abbassa a 2 la lunghezza minima delle parole e ricostruisci. Riprova le ricerche che fallivano.
- Leggi l'elenco delle parole ignorate e togli quello che nel tuo catalogo significa qualcosa.
- 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
-
Intenzione di acquisto: che la ricerca trovi «la pietra dell'amore» anche se la scheda non lo dice
Per ogni prodotto e in ogni lingua, l'IA scrive le frasi con cui un compratore lo chiederebbe: a cosa serve e come lo chiama la gente. Esempi reali di un negozio di minerali, di un catalogo di strumenti medici in tedesco e di una catena di negozi di scarpe. Incluso da Pro in su, senza niente da configurare.
-
Prova gratuita di 1 mese: cosa include e cosa succede quando finisce
200 prodotti, 1.000 ricerche in totale e senza carta. Quando finiscono il mese o le ricerche, la ricerca smette di rispondere e, se non passi a un piano a pagamento, l'account viene cancellato dopo 30 giorni. Cosa ti avvisiamo, come continuare con Starter o Pro (14 giorni di prova gratis) e quando la prova non ti servirà a decidere.