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.
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:
- 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.
- 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.
- 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.
- 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.
- Vai alla scheda Avanzate (Advanced), poi a Geolocalizzazione (Geolocation).
- Trova il pannello Database locale dei paesi (Local country database).
- 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 Lite | MaxMind GeoLite2 | |
|---|---|---|
| Account necessario | No | Sì, gratuito |
| Conosce i paesi | Sì | Sì |
| Conosce regioni e stati | No | Sì |
| Aggiornamento | Mensile | Settimanale |
| Dimensione | Circa 8 MB | Maggiore |
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
| File | Scopo |
|---|---|
classes/EDIpGeolocationHelper.php | Percorre le fonti in ordine |
classes/EDGeoDatabase.php | Legge il database locale |
classes/EDGeoDatabaseUpdater.php | Lo scarica e lo installa |
classes/EDHttpTransport.php | Richieste in uscita, con un budget di tempo rigoroso |
views/templates/admin/geodatabase.tpl | Il pannello del back office |
geoip/ | Dove risiede il database scaricato |
Impostazioni
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
ED_GEODB_SOURCE | dbip | Quale database scaricare |
ED_GEODB_MAXMIND_ACCOUNT | vuoto | Il tuo ID account MaxMind |
ED_GEODB_MAXMIND_KEY | vuoto | La tua chiave di licenza MaxMind |
ED_DISABLE_GEOLOCATION | disattivato | Salta il rilevamento, usa sempre il paese predefinito |
ED_SHIPPING_TYPE | country | Se le zone vengono risolte per paese o per stato |
ED_FORCE_COUNTRY | disattivato | Risolve 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.