Passa al contenuto principale

Geolocalizzazione

Per mostrare una data di consegna, il modulo deve sapere dove si trova il visitatore. Questa pagina spiega come lo scopre, come renderlo istantaneo e come evitare che accada quando non serve.

note

Disponibile dalla v4.3

Panoramica​

Le date di consegna dipendono dalla destinazione. Un corriere che raggiunge Madrid in un giorno può impiegarne quattro per le Isole Canarie e potrebbe non consegnare affatto in Norvegia. Quindi, prima di poter mostrare qualsiasi cosa, il modulo ha bisogno del paese del visitatore e, se consegni per stato o regione, anche della sua regione.

Nella maggior parte dei casi non deve mai chiederlo. Il modulo consulta prima le fonti più economiche e si ferma alla prima che risponde:

  1. L'indirizzo del cliente. Se ha effettuato l'accesso, o ha un indirizzo sul carrello, è lì che andrà l'ordine. Nulla lo batte e non viene consultato nient'altro.
  2. La tua CDN. Se il tuo negozio si trova dietro CloudFlare, CloudFront, Akamai, Google App Engine o un proxy con un modulo GeoIP, il paese è già stato determinato prima che la richiesta raggiungesse il tuo negozio. Leggerlo non costa nulla.
  3. Un database locale, se ne installi uno. Circa due decimi di millisecondo, e l'indirizzo IP del visitatore non lascia mai il tuo server. Vedi sotto.
  4. Servizi online gratuiti, come ultima risorsa. Accurati, ma ognuno è un viaggio di andata e ritorno su internet, tipicamente un decimo di secondo.

Se tutte le fonti falliscono, il modulo ripiega sul paese predefinito del tuo negozio invece di non mostrare nulla. Un visitatore non vede mai uno spazio vuoto perché un servizio di geolocalizzazione stava avendo una brutta giornata.

Il risultato viene ricordato per il resto della visita, quindi il lavoro avviene al massimo una volta per visitatore, e anche un fallimento viene ricordato, per breve tempo, così un'interruzione costa un tentativo anziché uno per pagina.

Quando il rilevamento viene saltato del tutto​

Se ogni corriere attivo del tuo negozio copre già ogni zona attiva, sapere dove si trova un visitatore non può cambiare i corrieri o le date che vede. Il modulo se ne accorge e salta del tutto il rilevamento.

È automatico e non richiede alcuna configurazione. Si riattiva da solo nel momento in cui aggiungi un corriere limitato a zone particolari. Puoi sempre vedere quale caso si applica: il pannello Diagnostica (Diagnostics) indica se il rilevamento è attivo, non necessario o disattivato.

Installare un database locale​

Un database locale rende il rilevamento istantaneo e impedisce al modulo di contattare chiunque. È facoltativo (il modulo funziona anche senza), ma in un negozio con molto traffico è il singolo miglioramento di velocità più grande disponibile, e mantiene gli indirizzi IP dei visitatori sul tuo server.

  1. Vai alla scheda Avanzate (Advanced), poi a Geolocalizzazione (Geolocation).
  2. Trova il pannello Database locale dei paesi (Local country database).
  3. Scegli una fonte in Fonte del database locale (Local database source) e fai clic su Scarica ora il database (Download the database now).

Il download richiede fino a un minuto e pesa circa 8 MB. Se fallisce, non cambia nulla: il modulo continua a usare le ricerche online esattamente come prima. Il file non viene mai installato automaticamente, mai scaricato mentre un cliente sta navigando e mai incluso nel pacchetto del modulo: viene scaricato nel tuo negozio, su tua richiesta.

Quale fonte scegliere​

DB-IP LiteMaxMind GeoLite2
Account necessarioNoSì, gratuito
Conosce i paesiSìSì
Conosce regioni e statiNoSì
AggiornamentoMensileSettimanale
DimensioneCirca 8 MBMaggiore

DB-IP Lite è la scelta consigliata e non richiede nulla da parte tua se non un clic.

MaxMind richiede un ID account e una chiave di licenza, entrambi gratuiti su maxmind.com. Entrambi sono normali impostazioni della sezione Geolocalizzazione: li salvi con il pulsante Salva della pagina, e il pulsante di download si limita a scaricare. Il motivo è la licenza: MaxMind concede i dati a te, non a noi, quindi il download avviene con le tue credenziali e i dati appartengono al tuo negozio. Sceglilo se consegni per stato o regione, perché è l'unico dei due che include i codici delle regioni.

Se consegni per stato e installi il database con i soli paesi, il modulo te lo segnala nel pannello e continua a risolvere le regioni online invece di far finta che un paese sia una regione.

Mantenerlo aggiornato​

Il pannello mostra quando i dati sono stati creati (non quando li hai scaricati, che può essere molto diverso) e ti avvisa quando stanno diventando vecchi. Scaricarlo di nuovo lo sostituisce. Il vecchio file resta al suo posto finché il nuovo non è stato aperto e verificato, quindi un download interrotto non può rompere il rilevamento.

Disattivare il rilevamento​

Se le tue date di consegna non dipendono dalla destinazione, puoi disattivare del tutto il rilevamento: Avanzate > Geolocalizzazione > Disattiva la geolocalizzazione (Advanced > Geolocation > Disable geolocation). Ogni visitatore viene allora trattato come se si trovasse nel paese predefinito del tuo negozio.

Tutto ciò che riguarda questa pagina si trova in quest'unica sezione: se il rilevamento è attivo, se le zone vengono risolte per paese o per stato e quale database locale risponde alla ricerca.

Privacy​

Un indirizzo IP è un dato personale ai sensi del GDPR, e i servizi online gratuiti sono terze parti, per lo più al di fuori dell'UE.

Installare un database locale elimina del tutto il problema: il rilevamento avviene sul tuo server e nessun dato del visitatore viene inviato altrove. Per i negozi nell'UE è la configurazione consigliata e, combinata con il salto del rilevamento descritto sopra, molti negozi finiscono per non effettuare alcuna chiamata esterna.

Se usi il database DB-IP, la sua licenza richiede un'attribuzione, che il modulo mostra nel pannello.

File​

FileScopo
classes/EDIpGeolocationHelper.phpPercorre le fonti in ordine
classes/EDGeoDatabase.phpLegge il database locale
classes/EDGeoDatabaseUpdater.phpLo scarica e lo installa
classes/EDHttpTransport.phpRichieste in uscita, con un budget di tempo rigoroso
views/templates/admin/geodatabase.tplIl pannello del back office
geoip/Dove risiede il database scaricato

Impostazioni​

ImpostazionePredefinitoCosa fa
ED_GEODB_SOURCEdbipQuale database scaricare
ED_GEODB_MAXMIND_ACCOUNTvuotoIl tuo ID account MaxMind
ED_GEODB_MAXMIND_KEYvuotoLa tua chiave di licenza MaxMind
ED_DISABLE_GEOLOCATIONdisattivatoSalta il rilevamento, usa sempre il paese predefinito
ED_SHIPPING_TYPEcountrySe le zone vengono risolte per paese o per stato
ED_FORCE_COUNTRYdisattivatoRisolve le zone per paese anche in modalità stato

Note​

  • Il rilevamento non ritarda mai una pagina di più di circa sei decimi di secondo, anche se tutti i servizi online sono fuori uso.
  • Su PrestaShop 1.6 il database locale non è disponibile, perché quella versione non include la libreria di lettura. Il rilevamento funziona normalmente tramite le altre fonti.
  • In una configurazione multinegozio ogni negozio ha le proprie impostazioni, mentre il database è condiviso.