Cos'è la Geolocalizzazione?

La Geolocalizzazione è l'identificazione della posizione geografica di un dispositivo nel mondo reale, per esempio il computer connesso a internet con cui stai leggendo questo articolo; la versione più evoluta è basata sul GPS, ma richiede che il dispositivo sia dotato di tale tecnologia e che sia attivata da parte dello stesso la condivisione di questi dati. Nel caso di un CMS come PrestaShop, l'identificazione della posizione del dispositivo connesso è basata sugli IP. Questa tipologia di geolocalizzazione è utilizzata dalla maggioranza dei servizi connessi a internet, come per esempio Netflix, al fine di fornire un catalogo specifico per il paese dove risiede il cliente. Per limitazioni di licenze e copyright non tutti i film e serie presenti nel catalogo della piattaforma di streaming, possono essere visibili dall'Italia per esempio. Molti utenti proprio grazie alle piattaforme di streaming, hanno scoperto le VPN, al fine di aggirare i blocchi geografici e accedere così a film e serie televisive non disponibili nel loro paese. 

I servizi di statistica, come Google Analytics sfruttano la geolocalizzazione basata su IP per indentificare il paese dal quale proviene una visita, l'accuratezza dipende molto dal livello di mascheramento dell'IP dell'utente imposto dal GDPR. Infatti questo sistema è vittima della fobia privacy che pervade le normative Europee.

È bene dunque premettere che la geolocalizzazione è limitata e regolata dalle direttive europee e normative nazionali che le hanno recepite. 

Una delle regole più importanti che riguarda l'ecommerce è il divieto di utilizzare la geolocalizzazione per limitare l'accesso al catalogo o mostrare prezzi diversi ai paesi aderenti all'Unione Europea. Se il visitatore per esempio accede al nostro sito dalla Polonia, dovrà avere accesso al catalogo senza limitazioni geografiche e l'imponibile dei prodotti in vendita, non potrà essere diverso da quello che applichiamo in Italia. Ovviamente è possibile indicare spese di spedizione diverse e/o non fornire un proprio corriere (sarà cura in questo caso del cliente mandare un proprio corriere al nostro magazzino per ritirare la merce ordinata).

Perché usare la Geolocalizzazione in PrestaShop?

La geolocalizzazione in un ecommerce può avere diversi utilizzi, il più semplice, attivabile in PrestaShop senza moduli aggiuntivi, è inibire la visualizzazione del catalogo o l'acquisto ad alcuni paesi. Ovviamente, come accennato non può essere fatto per quelle nazioni che fanno parte della comunità europea. Il motivo per inibire l'accesso a determinati paesi può essere il seguente:

  • Motivazioni commerciali, per contratto non possiamo vendere in determinate nazioni o non vogliamo fare concorrenza a un nostro rivenditore.
  • Motivazioni politiche, per esempio le attuali sanzioni Europee alla Russia. Oppure nel caso che i nostri prodotti siano vietati dalle normative di un determinato paese.
  • Motivazioni Etiche, non vogliamo che i nostri prodotti siano disponibili in un paese che non rispetta di diritti di una minoranza etnica per esempio.
  • Motivazioni di sicurezza, non vendiamo per esempio in Cina e Russia, e considerando che la maggioranza degli attacchi informatici provengono da quelle due nazioni, possiamo decidere di non fornire loro accesso al nostro ecommerce. In questa ottica si possono anche escludere i paesi nei quali non intendiamo vendere i nostri prodotti, anche solo al fine di risparmiare banda e risorse, come per esempio nel caso di un CDN a consumo. 

La geolocalizzazione può essere usata anche per fornire al cliente informazioni, come quelle dei costi e tempi di spedizione nel suo paese, senza necessità che effettui la registrazione. Nel caso di PrestaShop è però necessario utilizzare moduli di terze parti per dotarsi di funzionalità avanzate.

Quanto è precisa la Geolocalizzazione tramite IP?

Non molto soprattutto da parte di database gratuiti (come quello fornito da MaxMind e utilizzato da PrestaShop), può capitare per esempio che un utente di Lugano (Svizzera) sia localizzato a Milano. Questo capita perché il provider che fornisce l'accesso a Internet è lo stesso e di conseguenza l'IP pubblico della connessione risulta localizzato in Italia, anche se la connessione proviene dalla Svizzera. La differenza nel database di geolocalizzazione è appunto nell'accuratezza con la quale riescono a identificare questo tipo di situazioni. Generalmente comunque i database gratuiti sono in grado di identificare in modo corretto le nazioni con pochi e rari errori, soprattutto se parliamo di paesi non aderenti alla comunità europea.  Se l'utente usa una VPN sarà comunque tutto vanificato. 

Come si attiva la Geolocalizzazione in Prestashop?

Come nelle versioni precedenti del CMS per attivare la geolocalizzazione andiamo in Localizzazione >  Geolocalizzazione nel nostro BO. 

Prestashop nelle ultime versioni 1.7 ci avvisa:

Dal 30 dicembre 2019, è necessario registrarsi su MaxMind per ottenere una chiave di licenza per poter scaricare i dati di geolocalizzazione. Una volta scaricato, estrarre i dati usando WinRAR o Gzip nella directory /app/Resources/geoip/

Questo vale per tutte le versioni PS 1.7, è necessario quindi registrarsi su MaxMind per poter accedere al database gratuito. Una volta registrati ed effettuato il login, andiamo in download files e scarichiamo GeoLite2 City, non confondiamoci con la versione CSV. 

Basterà scompattare il file ZIP scaricato, e caricare via FTP il file GeoLite2-City.mmdb nella cartella /app/Resources/geoip/ della nostra installazione PrestaShop. Una volta caricato questo file il CMS sarà in grado di identificare l'ubicazione geografica confrontando gli IP contenuti in questo DB con quelli dei nostri visitatori.

Una volta effettuato l'upload possiamo abilitare la geolocalizzazione in PrestaShop e decidere come si deve comportare e quali paesi possono accedere al nostro ecommerce. 

Per inibire l'accesso a una nazione, ci basta deselezionarla dall'elenco presente in "Seleziona le nazioni che possono accedere al tuo negozio"

Come verificare le impostazioni GeoIP?

Per verificare le impostazioni di geolocalizzazione, possiamo usare una VPN, ubicandoci con essa nel paese interessato. La prova va effettuata con il browser con navigazione in incognito o diverso da quello normalmente usato.

Le visite che arrivano dai paesi disabilitati riceveranno un errore 403 e non avranno accesso a nessuna parte del nostro ecommerce. È comunque possibile inibire solo l'acquisto, passando da "I visitatori non possono vedere il tuo catalogo." a "I visitatori possono vedere il tuo catalogo ma non possono fare ordini."

Esistono molti moduli di terze parti che estendono questa funzionalità, nella maggioranza si appoggiano a questa funzione di PrestaShop, quindi è necessario abilitare la stessa, ma alcuni moduli utilizzano servizi ad abbonamento, è bene quindi chiedere sempre agli sviluppatori in che modo viene identificata la località di connessione. La geolocalizzazione è uno strumento potente, ma le direttive europee e il GDPR ne hanno limitato e reso più complesso l'utilizzo. 

Autore: Loris Modena

SENIOR DEVELOPER

Per Ind Loris Modena titolare di Arte e Informatica, inizia a lavorare nel settore informatico nel 1989 quale sistemista addetto alla manutenzione e installazione di sistemi informatici. Inizia a programmare per il web nel 1997 occupandosi di programmazione CGI in PERL e successivamente passando alla programmazione in PHP e JavaScript. In questo periodo si avvicina al mondo Open source e alla gestione di server Linux. 

prodotto aggiunto alla lista