logo elasticsearch

SEO ed Elasticsearch: un motore di ricerca che migliora le conversioni del tuo Woocommerce

Quest’oggi torno con un articolo su un software open-source veramente interessante; sto parlando di Elasticsearch (qui la pagina ufficiale).

Prima di addentrarci nel perché usarlo e come configurarlo vorrei darvi alcuni suggerimenti sul perché conviene avere un motore di ricerca interno al proprio sito.

Già il semplice motore di ricerca interno di WordPress ci aiuta parecchio: sapere cosa gli utenti cercano sul nostro sito è un buon primo passo per potere proporre contenuti in target con le ricerche.

Un altro buon motivo potrebbe essere il fatto che, quando gli utenti cercheranno sul vostro e-commerce “voglio una maglietta viola taglia XXL”, il vostro sito sarà in grado di rispondere aumentando, in linea di principio, le conversioni e diminuendo la frequenza di rimbalzo.

Ed adesso andiamo ad Elasticsearch 🙂

Elasticsearch: un motore di ricerca open-source

Elasticsearch è un motore di ricerca full-text; data la quantità di informazioni reperibile su un moderno sito web ne è ben pensabile l’utilizzo per migliorare l’UX del sito.

Elasticsearch deriva dal più anziano Apache Solr ma ha delle differenze rispetto a quest’ultimo che adesso andremo ad evidenziare; come Apache Solr si appoggia a Java per il suo funzionamento (avremo bisogno di una JVM sulla nostra VPS, ma di questo ne parleremo nel prosieguo di questo articolo).

La differenza tra questi due software che salta subito all’occhio è il differente modello di sviluppo: mentre Solr è una classica comunità foss ove chiunque può inserirsi e proporre migliorie al codice, Elasticsearch ha un modello più “rigido” e guidato, ove solo il team di sviluppo apporta modifiche al codice (sebbene entrambi siano offerti con licenza Apache).

Elasticsearch: un piccolo glossario

Prima di iniziare l’installazione di Elasticsearch reputo utile dare alcune definizioni di base:

  • Index: quando effettuiamo una ricerca essa non si applica al contenuto della query ma all’indice; nell’index tutti i documenti sono già memorizzati ed è, quindi, molto veloce.
  • Document: l’output della ricerca sono i documenti in cui sono trovati i dati.
  • Field: un document è composto da campi. Oltre al campo del contenuto, anche altri metadati appartengono a un document.

Installazione su Debian 10 “Buster”

Per l’installazione di Elasticsearch avrete bisogno di un vostro server (sia esso fisico oppure una VPS) con permessi di root; un’alternativa potrebbe essere acquistare il servizio in cloud direttamente da Elastic.

Installazione di Java

Per questa installazione noi faremo conto di utilizzare una distribuzione Linux Debian-Based (la Debian 10 “Buster” per l’esattezza); riporterò anche i passaggi per le rpm-based sotto forma di link alla documentazione ufficiale.

Il primo passo è sicuramente l’installazione di una JVM sulla vostra macchina; ce ne sono disponibili molte (sia quella ufficiale di Oracle che le foss disponibili nei repository ufficiali della vostra distribuzione).

Io, per questo tutorial, mi limiterò ad utilizzare la JVM già presente nei repository di Debian (qui la pagina ufficiale del pacchetto); per l’installazione è sufficiente dare il seguente comando da terminale:

apt install default-jre

Va da se che, se voleste installare la JVM ufficiale di Oracle, basta seguire questa guida.

Installazione del pacchetto di Elasticsearch

Per l’installazione di Elasticsearch conviene seguire pedissequamente la guida che trovate a questo indirizzo per i pacchetti .deb ed a quest’altro indirizzo per i pacchetti rpm.

Come prima cosa importiamo la key del repository con:

wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –

Poi installiamo il pacchetto apt-transport-https con:

apt-get install apt-transport-https

Poi creiamo un file in /etc/apt/sources.list.d/ chiamato elastic-7.x.list per permettere l’installazione di Elasticsearch tramite apt:

echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Infine installiamo (finalmente) il pacchetto vero e proprio con:

apt-get update && sudo apt-get install elasticsearch

Verifica del funzionamento

Visto che è possibile che qualcosa sia andato storto è buona norma controllare il funzionamento. Come prima cosa avviamo il servizio con:

service elasticsearch restart

(va notato che Elasticsearch non viene avviato all’avvio; vi rimando alla documentazione ufficiale sopraindicata per la configurazione automatica del servizio).

A questo punto dobbiamo verificare il funzionamento del demone appena installato e possiamo farlo con:

curl http://localhost:9200

Se vi spunta “qualcosa” di simile allora il servizio è avviato e correttamente funzionante:

{
“name” : “notebook-flavio”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “hrzBi6dSTbCvJs0kNsoOSw”,
“version” : {
“number” : “7.5.2”,
“build_flavor” : “default”,
“build_type” : “deb”,
“build_hash” : “8bec50e1e0ad29dad5653712cf3bb580cd1afcdf”,
“build_date” : “2020-01-15T12:11:52.313576Z”,
“build_snapshot” : false,
“lucene_version” : “8.3.0”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}

Installazione del plugin per WordPress

Per integrare Elasticsearch con il vostro sito WordPress o con il vostro e-commerce Woocommerce andremo ad usare il plugin Elasticpress (qui la pagina ufficiale).

(esistono anche moduli per altri CMS come Prestashop).

In particolare utilizzeremo Elasticpress per la generazione dell’indice ed altre operazioni più “complicate” da fare manualmente.

Intanto installate Elasticpress sul vostro sito motorizzato da WordPress, attivatelo ed andate nei settaggi del plugin; il plugin richiede solamente due informazioni per funzionare correttamente: l’indirizzo a cui rivolgersi per le query (normalmente è http://localhost:9200/) e la lingua per l’indicizzazione.

Date queste due informazioni il plugin si occuperà di creare l’indice (è necessario un solo click). Fatto questo andate nei settaggi ed attivate quelli di vostro interesse (come ad esempio l’autocompletamento o l’integrazione con Woocommerce).

A questo punto avrete un completo motore di ricerca full-text sul vostro sito.


Pubblicato

in

, ,

da

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.