{"id":80552,"date":"2025-03-03T09:55:33","date_gmt":"2025-03-03T08:55:33","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=80552&#038;preview=true&#038;preview_id=80552"},"modified":"2025-04-07T06:37:11","modified_gmt":"2025-04-07T05:37:11","slug":"geolocalizzazione-wordpress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/","title":{"rendered":"La geolocalizzazione di WordPress: guida per gli sviluppatori"},"content":{"rendered":"<p>Le moderne applicazioni web richiedono un alto livello di funzionalit\u00e0 intelligenti e <em>location-aware<\/em>, ovvero in grado di rilevare la posizione. Le piattaforme di e-commerce devono calcolare le tariffe di spedizione internazionali e i siti di contenuti devono fornire notizie specifiche per ogni regione. La geolocalizzazione pu\u00f2 trasformare i siti WordPress statici in esperienze dinamiche e personalizzate. Tuttavia, pu\u00f2 essere difficile implementare questa funzionalit\u00e0, soprattutto se non si dispone del giusto provider di hosting.<\/p>\n<p>Questa guida spiega come implementare le funzioni di geolocalizzazione in <a href=\"https:\/\/kinsta.com\/wordpress\">WordPress<\/a>. Inoltre, si concentra sulle funzionalit\u00e0 integrate di Kinsta che eliminano alcuni dei problemi pi\u00f9 comuni legati all&#8217;aggiunta della geolocalizzazione al proprio sito.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Geotargeting e geolocalizzazione<\/h2>\n<p>Le applicazioni location-aware sono incentrate su due termini chiave: geotargeting e geolocalizzazione. Sono collegati tra loro, ma ognuno ha uno scopo distinto nel proprio kit di strumenti per WordPress:<\/p>\n<ul>\n<li>La geolocalizzazione individua la posizione dei visitatori.<\/li>\n<li>Il geotargeting offre contenuti o esperienze specifiche basate su questi dati.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/netflix.com\" target=\"_blank\" rel=\"noopener noreferrer\">Netflix<\/a> lo dimostra in modo efficace: quando si viaggia all&#8217;estero, il servizio di streaming determina il paese in cui ci si trova grazie alla geolocalizzazione, quindi regola la libreria di contenuti attraverso il geotargeting per soddisfare gli accordi di licenza regionali. Questa combinazione crea un&#8217;esperienza senza soluzione di continuit\u00e0, mantenendo la conformit\u00e0 con i diritti dei media internazionali.<\/p>\n<figure id=\"attachment_190273\" aria-describedby=\"caption-attachment-190273\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190273\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/netflix-website.png\" alt=\"La home page di Netflix mostra diverse righe di contenuti, tra cui le sezioni Your Next Watch e New on Netflix su uno sfondo scuro. Il banner superiore riporta la dicitura Solo su Netflix con un testo che spiega la programmazione originale esclusiva. Le miniature multiple di spettacoli e film sono visualizzate in un formato a scorrimento orizzontale.\" width=\"1200\" height=\"698\"><figcaption id=\"caption-attachment-190273\" class=\"wp-caption-text\">Il sito web di Netflix.<\/figcaption><\/figure>\n<p>Esistono due metodi principali per rilevare la posizione del visitatore:<\/p>\n<ul>\n<li>Il rilevamento della posizione basato sull&#8217;IP si basa su database che mappano gli indirizzi IP in regioni geografiche. Funziona universalmente senza richiedere l&#8217;autorizzazione dell&#8217;utente. La maggior parte delle soluzioni di geolocalizzazione lato server utilizza questo metodo, comprese le funzionalit\u00e0 integrate di Kinsta.<\/li>\n<li>Il rilevamento basato sul GPS accede all&#8217;hardware di localizzazione di un dispositivo attraverso le <a href=\"https:\/\/kinsta.com\/it\/blog\/api-rest-vs-api-web\/\">API del browser<\/a>. Fornisce coordinate precise ma richiede il consenso esplicito dell&#8217;utente. Questa funzionalit\u00e0 \u00e8 alla base delle ricerche di posizione &#8220;Nelle vicinanze&#8221; o delle applicazioni meteo che richiedono un posizionamento preciso.<\/li>\n<\/ul>\n<p>La geolocalizzazione e il geotargeting lavorano insieme, ma all&#8217;interno della prima esistono diverse tecnologie che possono funzionare per un determinato caso d&#8217;uso. Nessuna delle due \u00e8 &#8220;meglio&#8221; dell&#8217;altra: ci sono vantaggi che trascendono i singoli adattamenti.<\/p>\n<h2>Il business case della geolocalizzazione<\/h2>\n<p>L&#8217;implementazione della geolocalizzazione in qualsiasi sito web pu\u00f2 offrire vantaggi tangibili sia all&#8217;azienda che agli utenti. In primo luogo, la personalizzazione favorisce il coinvolgimento. Se il vostro sito \u00e8 in grado di <a href=\"https:\/\/www.epsilon.com\/us\/about-us\/pressroom\/new-epsilon-research-indicates-80-of-consumers-are-more-likely-to-make-a-purchase-when-brands-offer-personalized-experiences\" target=\"_blank\" rel=\"noopener noreferrer\">personalizzare l&#8217;esperienza<\/a> di ciascun utente, sempre pi\u00f9 utenti potranno fare affari con voi. <\/p>\n<p>Amazon \u00e8 un esempio di come raccogliere i frutti di questa funzione. Il suo sito di shopping pu\u00f2 mostrare i tempi di spedizione di ogni prodotto in base alla posizione geografica dell&#8217;utente:<\/p>\n<figure id=\"attachment_190266\" aria-describedby=\"caption-attachment-190266\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190266\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/amazon-shipping-times.png\" alt=\"Pagina di un prodotto Amazon che presenta un orologio Amazon Essentials da uomo con cinturino di facile lettura. La pagina mostra le opzioni di consegna a Albany 12208.\" width=\"1200\" height=\"750\"><figcaption id=\"caption-attachment-190266\" class=\"wp-caption-text\">Una pagina di prodotto di Amazon che mostra i tempi di spedizione di un orologio.<\/figcaption><\/figure>\n<p>A seconda della propria posizione, \u00e8 anche possibile vedere gli orari degli eventi <a href=\"http:\/\/amazon.com\/prime\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Prime<\/a>, come le partite:<\/p>\n<figure id=\"attachment_190267\" aria-describedby=\"caption-attachment-190267\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190267\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/amazon-website.png\" alt=\"L'interfaccia di Amazon per lo shopping natalizio con uno sfondo rosso brillante che presenta la promozione Top 100+ per i regali dell'ultimo minuto. Tra le varie categorie di acquisto, un pannello centrale promuove una partita di NFL tra Broncos e Chargers con i loghi delle squadre.\" width=\"1200\" height=\"750\"><figcaption id=\"caption-attachment-190267\" class=\"wp-caption-text\">La home page di Amazon mostra l&#8217;orario locale di una partita Broncos-Chargers.<\/figcaption><\/figure>\n<p>Questo fenomeno \u00e8 diffuso in tutto il web, come ad esempio i siti meteo che visualizzano automaticamente le previsioni locali. Indipendentemente dall&#8217;implementazione, la personalizzazione riduce l&#8217;attrito nell&#8217;esperienza dell&#8217;utente e pu\u00f2 migliorare significativamente i tassi di conversione.<\/p>\n<p>Anche la conformit\u00e0 alle normative dipende dalle funzioni location-aware. Il <a href=\"https:\/\/kinsta.com\/it\/blog\/conformita-al-gdpr\/\">GDPR in Europa<\/a>, il <a href=\"https:\/\/kinsta.com\/it\/blog\/conformita-ccpa-wordpress\/\">CCPA in California<\/a> e molte altre regioni impongono requisiti specifici per la gestione dei dati degli utenti. Una corretta implementazione della geolocalizzazione aiuta a soddisfare tali requisiti per ogni visitatore.<\/p>\n<p>Infine, i contenuti localizzati creano fiducia. Le ricerche dimostrano che gli utenti completano gli acquisti pi\u00f9 spesso quando i prezzi sono espressi nella loro valuta locale e le informazioni sulla spedizione sono chiare. Ad esempio, uno <a href=\"https:\/\/csa-research.com\/Blogs-Events\/CSA-in-the-Media\/Press-Releases\/Consumers-Prefer-their-Own-Language\" target=\"_blank\" rel=\"noopener noreferrer\">studio di Common Sense Advisory<\/a> dimostra che tre quarti dei consumatori preferisce acquistare prodotti nella propria lingua madre.<\/p>\n<h2>Come integrare la geolocalizzazione con WordPress<\/h2>\n<p>L&#8217;<a href=\"https:\/\/kinsta.com\/it\/blog\/app-web-wordpress\/\">architettura flessibile di WordPress<\/a> permette di scegliere tra diversi approcci per chi vuole aggiungere le funzionalit\u00e0 location-aware al proprio sito. La scelta dell&#8217;hosting del sito, l&#8217;uso di plugin, le conoscenze di programmazione e altro ancora influiscono sulla scelta dell&#8217;approccio. Tuttavia, anche i dati stessi possono essere elaborati in diversi modi.<\/p>\n<h3>Lavorare con i dati geografici in WordPress<\/h3>\n<p>Il core di WordPress include molte funzionalit\u00e0 fondamentali, ma non la geolocalizzazione integrata. Nel core di WordPress non c&#8217;\u00e8 nulla che registri i dati sulla posizione, anche se supporta la memorizzazione e l&#8217;elaborazione dei dati sulla posizione in diversi modi.<\/p>\n<h4>Il database di WordPress<\/h4>\n<p>Ad esempio, il <a href=\"https:\/\/kinsta.com\/it\/blog\/database-wordpress\/\">database di WordPress<\/a> pu\u00f2 memorizzare le coordinate e i dati sulla posizione utilizzando campi personalizzati o tabelle dedicate alla posizione.<\/p>\n<p>Pu\u00f2 anche gestire tassonomie basate sulla posizione. Questo funziona bene per i localizzatori di negozi o per i servizi di annunci immobiliari che gestiscono un database di localizzazione personalizzato. WordPress non memorizza alcun dato di geolocalizzazione per impostazione predefinita, ma mette a disposizione la possibilit\u00e0 di farlo.<\/p>\n<h4>La REST API di WordPress<\/h4>\n<p>Anche la <a href=\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\">REST API di WordPress<\/a> supporta il lavoro con i dati di geolocalizzazione, anche se non include endpoint dedicati. Sar\u00e0 necessario <a href=\"https:\/\/kinsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\">creare le proprie estensioni di endpoint<\/a> per creare applicazioni che comunicano con servizi esterni o applicazioni mobili. Ecco un esempio:<\/p>\n<pre><code class=\"language-php\">add_action('rest_api_init', function() {\n    \/\/ Create a custom namespace for your geolocation endpoints\nregister_rest_route('your-site-geo\/v1', '\/location', [\n        'methods' =&gt; 'GET',\n        'callback' =&gt; 'handle_location_request',\n        'permission_callback' =&gt; function() {\n            return true;\n        }\n    ]);\n});\n\nfunction handle_location_request($request) {\n    \/\/ Access geolocation data (example using Kinsta's implementation)\n    $location = [\n        'country' =&gt; $_SERVER['GEOIP_COUNTRY_CODE'] ?? null,\n        'city' =&gt; $_SERVER['GEOIP_CITY'] ?? null,\n        'latitude' =&gt; $_SERVER['GEOIP_LATITUDE'] ?? null,\n        'longitude' =&gt; $_SERVER['GEOIP_LONGITUDE'] ?? null\n    ];\n    \n    return new WP_REST_Response($location, 200);\n}<\/code><\/pre>\n<p>Questo crea un nuovo endpoint all&#8217;indirizzo <code>\/wp-json\/your-site-geo\/v1\/location<\/code> che restituisce i dati sulla posizione per tutti i consumatori dell&#8217;API.<\/p>\n<p>Il codice utilizza <code>your-site-geo<\/code> come namespace personalizzato. Il namespace deve essere specifico per le proprie esigenze per evitare conflitti con altri plugin o codice personalizzato. \u00c8 bene seguire le linee guida di WordPress per i namespace:<\/p>\n<ul>\n<li>Usare un prefisso specifico del fornitore o del pacchetto per evitare conflitti.<\/li>\n<li>Includere un numero di versione (come <code>v1<\/code>).<\/li>\n<li>Mantenere gli endpoint specifici e mirati.<\/li>\n<\/ul>\n<p>\u00c8 anche possibile registrare i dati di localizzazione per gli endpoint esistenti:<\/p>\n<pre><code class=\"language-php\">add_action('rest_api_init', function() {\n    register_rest_field('post', 'location_data', [\n        'get_callback' =&gt; function($post) {\n            return get_post_meta($post['id'], 'location_data', true);\n        },\n        'update_callback' =&gt; function($value, $post) {\n            update_post_meta($post-&gt;ID, 'location_data', $value);\n        },\n        'schema' =&gt; [\n            'type' =&gt; 'object',\n            'properties' =&gt; [\n                'latitude' =&gt; ['type' =&gt; 'number'],\n                'longitude' =&gt; ['type' =&gt; 'number'],\n                'country' =&gt; ['type' =&gt; 'string'],\n                'city' =&gt; ['type' =&gt; 'string']\n            ]\n        ]\n    ]);\n});<\/code><\/pre>\n<p>In molti casi, l&#8217;API REST sar\u00e0 il primo strumento a cui vi rivolgerete per integrare la funzionalit\u00e0 di geolocalizzazione, per cui questa flessibilit\u00e0 sar\u00e0 un vantaggio.<\/p>\n<h4>Tipi di post personalizzati<\/h4>\n<p>Potreste anche utilizzare <a href=\"https:\/\/kinsta.com\/it\/blog\/custom-post-type-wordpress\/\">tipi di post personalizzati<\/a> in WordPress. In questo caso, i nuovi tipi di contenuto possono includere i metadati relativi alla posizione. Ci\u00f2 permette di organizzare i contenuti in base alle informazioni geografiche, senza dover apportare complesse modifiche al database.<\/p>\n<p>Il primo passo \u00e8 quello di registrare il tipo di post con WordPress:<\/p>\n<pre><code class=\"language-php\">register_post_type('store_location', [\n    'public' =&gt; true,\n    'label' =&gt; 'Store Locations',\n    'supports' =&gt; [\n        'title',\n        'editor',\n        'Custom-fields'  \/\/ Enables custom fields and meta\n    ]\n]);<\/code><\/pre>\n<p>Dovrete anche creare un meta box personalizzato per memorizzare le coordinate raccolte e generare il relativo HTML:<\/p>\n<pre><code class=\"language-php\">&lt;?php\nadd_action('add_meta_boxes', function() {\n    add_meta_box(\n        'store_location_coordinates',\n        'Store Coordinates',\n        'render_location_meta_box',\n        'Store_location'  \/\/ The post type where this meta box should appear\n    );\n});\n\nfunction render_location_meta_box($post) {\n    \/\/ Get existing coordinates if they exist\n    $latitude = get_post_meta($post-&gt;ID, 'latitude', true);\n    $longitude = get_post_meta($post-&gt;ID, 'longitude', true);    \n\n    \/\/ Output the form fields\n    ?&gt;\n    &lt;label&gt;Latitude:\n        &lt;input type=\"number\" \n               step=\"any\" \n               name=\"latitude\" \n               value=\"&lt;?php echo esc_attr($latitude); ?&gt;\"&gt;\n    &lt;\/label&gt;\n    &lt;label&gt;Longitude:\n        &lt;input type=\"number\" \n               step=\"any\" \n               name=\"longitude\" \n               value=\"&lt;?php echo esc_attr($longitude); ?&gt;\"&gt;\n    &lt;\/label&gt;\n    &lt;?php\n}<\/code><\/pre>\n<p>La parte fondamentale \u00e8 salvare i dati relativi alla posizione una volta pubblicato o comunque salvato il post in WordPress:<\/p>\n<pre><code class=\"language-php\">add_action('save_post_store_location', function($post_id) {\n    \/\/ Verify if this is an autosave\n    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {\n        return;\n    }    \n\n    \/\/ Save latitude if it exists\n    if (isset($_POST['latitude'])) {\n        update_post_meta(\n            $post_id,\n            'latitude',\n            sanitize_text_field($_POST['latitude'])\n        );\n    }    \n\n    \/\/ Save longitude if it exists\n    if (isset($_POST['longitude'])) {\n        update_post_meta(\n            $post_id,\n            'longitude',\n            sanitize_text_field($_POST['longitude'])\n        );\n    }\n});<\/code><\/pre>\n<p>La creazione di una funzione per recuperare le localit\u00e0 vicine pu\u00f2 assumere diverse forme. Ecco un esempio approssimativo di una funzione che (in teoria) recupera la latitudine e la longitudine di una localit\u00e0:<\/p>\n<pre><code class=\"language-php\">function get_nearby_locations($lat, $lng, $radius = 10) {\n    $locations = get_posts([\n        'post_type' =&gt; 'store_location',\n        'posts_per_page' =&gt; -1\n    ]);\n\n    $nearby = array_filter($locations, function($location) use ($lat, $lng, $radius) {\n        $store_lat = get_post_meta($location-&gt;ID, 'latitude', true);\n        $store_lng = get_post_meta($location-&gt;ID, 'longitude', true);\n\n        return calculate_distance($lat, $lng, $store_lat, $store_lng) &lt;= $radius;\n    });\n\n    return $nearby;\n}<\/code><\/pre>\n<p>L&#8217;utilizzo di una di queste opzioni dipende dalle proprie esigenze specifiche. Ad esempio, si possono utilizzare campi personalizzati per semplici metadati sulla posizione o estendere l&#8217;API REST per implementazioni headless. Per i contenuti incentrati sulla posizione, i tipi di post personalizzati potrebbero essere la soluzione migliore.<\/p>\n<h3>L&#8217;approccio dei plugin alla geolocalizzazione<\/h3>\n<p>WordPress supporta i plugin per quasi tutto e ci sono numerose soluzioni per aggiungere funzioni location-aware a un sito. Ad esempio, <a href=\"https:\/\/wordpress.org\/plugins\/if-so-geolocation\/\" target=\"_blank\" rel=\"noopener noreferrer\">If-So Geolocation<\/a> o <a href=\"https:\/\/wordpress.org\/plugins\/geoip-detect\/\" target=\"_blank\" rel=\"noopener noreferrer\">Geolocation IP Detection<\/a> hanno ottime recensioni e valutazioni, aggiornamenti regolari e sistemi di supporto efficienti:<\/p>\n<figure id=\"attachment_190269\" aria-describedby=\"caption-attachment-190269\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190269\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/geolocation-ip-detection.png\" alt=\"L'immagine dell'intestazione del plugin Geolocation IP Detection di WordPress.org. Raffigura un banner giallo con un'icona nera a forma di spillo\/marcatore di posizione. Sotto c'\u00e8 del testo in nero e l'URL di un sito web (www.yellowtree.de).\" width=\"1200\" height=\"385\"><figcaption id=\"caption-attachment-190269\" class=\"wp-caption-text\">Il logo di Geolocation IP Detection dalla WordPress Plugin Directory.<\/figcaption><\/figure>\n<p>Questi forniscono molte funzionalit\u00e0 tipiche in un pacchetto semplice che utilizza anche un formato familiare. I plugin possono offrire una serie di vantaggi quando bisogna implementare la geolocalizzazione:<\/p>\n<ul>\n<li>Si ottiene una distribuzione rapida e un&#8217;implementazione veloce senza la necessit\u00e0 di un codice personalizzato.<\/li>\n<li>Non c&#8217;\u00e8 manutenzione da parte dell&#8217;utente, perch\u00e9 \u00e8 lo sviluppatore del plugin a occuparsene (insieme agli aggiornamenti).<\/li>\n<li>Spesso c&#8217;\u00e8 il supporto e la documentazione della comunit\u00e0 che pu\u00f2 dare assistenza se ce n&#8217;\u00e8 bisogno.<\/li>\n<\/ul>\n<p>In base al tipo di sviluppo da realizzare, un plugin potrebbe non essere l&#8217;opzione migliore. Tanto per cominciare, ci si affida alla qualit\u00e0 del plugin per le proprie funzionalit\u00e0. Se offrite prodotti WordPress personalizzati, questa potrebbe non essere una partnership da preferire. Ogni plugin avr\u00e0 una propria implementazione del database di localizzazione e la qualit\u00e0 potrebbe variare come le altre caratteristiche.<\/p>\n<p>I plugin sono soluzioni eccellenti per gli utenti finali o per i proprietari di siti che devono aggiungere funzioni di localizzazione a un sito esistente. Tuttavia, i potenziali conflitti con altri plugin, il carico aggiuntivo sul server e la flessibilit\u00e0 limitata per le implementazioni personalizzate portano a preferire un&#8217;opzione pi\u00f9 robusta.<\/p>\n<h2>Applicazioni reali della geolocalizzazione di WordPress<\/h2>\n<p>Non serve cercare molto per trovare esempi di prodotti WordPress che utilizzano la geolocalizzazione nel proprio codice. Ad esempio, WooCommerce include la geolocalizzazione per il <a href=\"https:\/\/kinsta.com\/it\/blog\/imposta-vendite-woocommerce\/\">calcolo delle tasse<\/a> e le regole di spedizione.<\/p>\n<figure id=\"attachment_190275\" aria-describedby=\"caption-attachment-190275\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190275\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/woocommerce-geolocation.png\" alt=\"La pagina delle impostazioni di WooCommerce mostra le opzioni di configurazione della localit\u00e0 e delle imposte. C'\u00e8 un menu a tendina esteso per la posizione predefinita del cliente, che mostra quattro opzioni: No location by default, Shop country\/region, Geolocate e Geolocate (con supporto alla cache della pagina). La pagina include anche le impostazioni per i luoghi di vendita, i luoghi di spedizione, l'abilitazione fiscale e la gestione dei coupon.\" width=\"1200\" height=\"532\"><figcaption id=\"caption-attachment-190275\" class=\"wp-caption-text\">L&#8217;opzione di geolocalizzazione di WooCommerce.<\/figcaption><\/figure>\n<p>Utilizza il <a href=\"https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/\" target=\"_blank\" rel=\"noopener noreferrer\">database GeoIP2 di MaxMind<\/a> per rilevare automaticamente la posizione dei clienti, il che aiuta a garantire prezzi e opzioni di consegna accurati fin dal primo caricamento della pagina.<\/p>\n<p>Anche altri plugin offrono il supporto per la geolocalizzazione. Un tipico caso d&#8217;uso \u00e8 rappresentato da un plugin per moduli come il <a href=\"https:\/\/www.gravityforms.com\/add-ons\/gravity-geolocation\/\" target=\"_blank\" rel=\"noopener noreferrer\">componente aggiuntivo Gravity Geolocation di Gravity Forms<\/a>. Consente agli utenti di inserire la loro posizione in un modulo, al quale Gravity Forms assegner\u00e0 una serie di coordinate e altri dati rilevanti.<\/p>\n<p>Questo si rivela particolarmente prezioso per i moduli di lead generation e di richiesta di servizi. Inoltre, si ha la possibilit\u00e0 di adattare le esigenze di localizzazione al caso d&#8217;uso specifico.<\/p>\n<h2>Il vantaggio di Kinsta: funzionalit\u00e0 di geolocalizzazione native<\/h2>\n<p>Se siete clienti Kinsta, non avrete bisogno di soluzioni stravaganti e poco eleganti per implementare la geolocalizzazione. La <a href=\"https:\/\/kinsta.com\/it\/mykinsta\/\">dashboard MyKinsta<\/a> supporta il rilevamento della posizione senza dover ricorrere a plugin WordPress aggiuntivi.<\/p>\n<h3>Il sistema di geolocalizzazione di Kinsta<\/h3>\n<p>L&#8217;implementazione della geolocalizzazione di Kinsta sfrutta due diverse tecnologie:<\/p>\n<ul>\n<li>Il <a href=\"https:\/\/nginx.org\/en\/docs\/http\/ngx_http_geoip_module.html\" target=\"_blank\" rel=\"noopener noreferrer\">modulo di geolocalizzazione nativo<\/a> di NGINX fornisce un efficiente rilevamento della posizione a livello di server.<\/li>\n<li>Il database GeoIP2 di MaxMind assicura una mappatura precisa e aggiornata della posizione.<\/li>\n<\/ul>\n<p>Questa integrazione all&#8217;interno della dashboard di MyKinsta offre diversi vantaggi rispetto a una soluzione basata su plugin o codice:<\/p>\n<ul>\n<li>Poich\u00e9 il rilevamento della posizione avviene a livello di server, l&#8217;impatto sulle prestazioni \u00e8 minimo rispetto ad altri approcci.<\/li>\n<li>Kinsta esegue una manutenzione regolare della funzionalit\u00e0, il che significa che la geolocalizzazione \u00e8 sempre aggiornata.<\/li>\n<li>Il sito \u00e8 in grado di conoscere e rilevare la posizione in modo affidabile, senza dover ricorrere a JavaScript o alle autorizzazioni del browser.<\/li>\n<li>C&#8217;\u00e8 anche un&#8217;ulteriore integrazione con il sistema <a href=\"https:\/\/kinsta.com\/it\/blog\/edge-caching\/\">Edge Caching<\/a> di Kinsta.<\/li>\n<\/ul>\n<p>Lo strumento di geolocalizzazione IP di Kinsta include l&#8217;integrazione con WordPress e pu\u00f2 offrire una funzionalit\u00e0 in anteprima che ha buone performance ed \u00e8 adattabile. Questo grazie al modo in cui Kinsta espone le informazioni sulla posizione e le trasmette al resto dello stack.<\/p>\n<h3>Dati di localizzazione disponibili<\/h3>\n<p>WordPress utilizza PHP e lo strumento di geolocalizzazione IP passa alcune informazioni sulla posizione alla variabile PHP <code>$_SERVER<\/code>.<\/p>\n<p>Sono disponibili numerosi endpoint e variabili che restituiscono diverse serie di dati:<\/p>\n<pre><code class=\"language-php\">\/\/ Basic geographical data\n\n$country_code = $_SERVER['GEOIP_COUNTRY_CODE']; \/\/ Two-letter country code (such as \"US\" or \"GB\")\n$country_name = $_SERVER['GEOIP_COUNTRY_NAME']; \/\/ Full country name\n$region = $_SERVER['GEOIP_REGION'];             \/\/ State\/province code\n$city = $_SERVER['GEOIP_CITY'];                 \/\/ City name\n$postal_code = $_SERVER['GEOIP_POSTAL_CODE'];   \/\/ Local postal or ZIP code\n\n\/\/ Precise location data\n$latitude = $_SERVER['GEOIP_LATITUDE'];         \/\/ Decimal latitude\n$longitude = $_SERVER['GEOIP_LONGITUDE'];       \/\/ Decimal longitude\n<\/code><\/pre>\n<p>Ci sono altre variabili da utilizzare, come ad esempio i vari formati di codice paese e citt\u00e0. In ogni caso, tutte le variabili esposte danno la possibilit\u00e0 di codificare PHP personalizzato basato sulle funzionalit\u00e0 della geolocalizzazione IP di Kinsta.<\/p>\n<h2>Implementazione della geolocalizzazione attraverso MyKinsta<\/h2>\n<p>Come per molte altre funzionalit\u00e0 di MyKinsta, \u00e8 facile impostare la geolocalizzazione nella dashboard. Il primo punto di riferimento \u00e8 la schermata <strong>Strumenti<\/strong> di ogni sito:<\/p>\n<figure id=\"attachment_190272\" aria-describedby=\"caption-attachment-190272\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190272\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/mykinsta-tools.png\" alt=\"Il pannello di controllo di MyKinsta mostra sei schede di funzionalit\u00e0 in un layout a griglia. La riga superiore mostra le opzioni di monitoraggio New Relic, Protezione password e Forza HTTPS. La riga inferiore mostra le funzioni Geolocalizzazione, ionCube Loader e Impostazioni PHP.\" width=\"1200\" height=\"645\"><figcaption id=\"caption-attachment-190272\" class=\"wp-caption-text\">La schermata Strumenti di un sito nella dashboard di MyKinsta.<\/figcaption><\/figure>\n<p>Facendo clic sul pulsante <strong>Abilita<\/strong> della scheda <strong>Geolocalizzazione<\/strong>, verr\u00e0 visualizzata una finestra di dialogo che chieder\u00e0 di scegliere se impostare la geolocalizzazione a livello di paese o di paese e citt\u00e0.<\/p>\n<figure id=\"attachment_190270\" aria-describedby=\"caption-attachment-190270\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190270\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/geolocation-modal-box.png\" alt=\"Una finestra di dialogo modale per le impostazioni di geolocalizzazione all'interno del pannello di controllo di MyKinsta. I pulsanti di opzione consentono la geolocalizzazione a livello di paese o di paese e citt\u00e0.\" width=\"1200\" height=\"513\"><figcaption id=\"caption-attachment-190270\" class=\"wp-caption-text\">Impostazione della geolocalizzazione in MyKinsta.<\/figcaption><\/figure>\n<p>In alcuni casi, se utilizzate Edge Caching, vedrete anche un avviso. Questo perch\u00e9 non supporta le variazioni di cache geolocalizzate &#8220;a raggio ristretto&#8221;, ad esempio in prossimit\u00e0 dei confini. Invece, la cache viene salvata in ogni <a href=\"https:\/\/kinsta.com\/it\/blog\/cdn-per-wordpress\/\">Point of Presence (PoP)<\/a> in base al luogo in cui si trova il primo visitatore della pagina.<\/p>\n<p>Una volta scelta l&#8217;impostazione di geolocalizzazione e cliccato sul pulsante <strong>Abilita<\/strong>, MyKinsta imposter\u00e0 tutto dietro le quinte. Dopo qualche istante, vedrete il pannello <strong>Strumenti<\/strong> aggiornarsi con le nuove opzioni:<\/p>\n<figure id=\"attachment_190268\" aria-describedby=\"caption-attachment-190268\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190268\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/geolocation-enabled.png\" alt=\"Il cruscotto di MyKinsta Schermata degli strumenti con un menu laterale contenente opzioni quali Domini, Backup, Strumenti e Analisi. L'area del contenuto principale mostra una scheda della funzione Geolocalizzazione con un'icona a forma di mappamondo, che spiega che abilita le regole di reindirizzamento in base alla posizione IP dei visitatori. Lo stato indica che \u00e8 \"Abilitato per paese e citt\u00e0\" con un pulsante Modifica disponibile.\" width=\"1200\" height=\"568\"><figcaption id=\"caption-attachment-190268\" class=\"wp-caption-text\">La scheda dello strumento di geolocalizzazione IP in MyKinsta.<\/figcaption><\/figure>\n<p>Avete la possibilit\u00e0 di disabilitare la geolocalizzazione nel menu a tre puntini. Facendo clic su <strong>Modifica<\/strong>, vi viene mostrata la finestra di dialogo per la scelta della geolocalizzazione e potrete quindi modificarla. Infine, se volete attivare il geoblocking, che limita l&#8217;accesso al vostro sito in base alla posizione, il <a href=\"https:\/\/kinsta.com\/it\/supporto-kinsta\/\">team di supporto di Kinsta<\/a> potr\u00e0 farlo per voi, in quanto non \u00e8 disponibile attraverso la dashboard di MyKinsta.<\/p>\n<h2>Creare applicazioni location-aware: esempi pratici<\/h2>\n<p>Avete praticamente tutti gli strumenti e le funzionalit\u00e0 a vostra disposizione grazie alle implementazioni della geolocalizzazione di <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-nginx\/\">NGINX<\/a> e MyKinsta. Ci\u00f2 significa che potete utilizzare sia gli snippet di codice che le funzionalit\u00e0 integrate di Kinsta per creare una soluzione adatta alle vostre esigenze.<\/p>\n<p>Per una soluzione senza codice, la funzionalit\u00e0 di reindirizzamento di Kinsta \u00e8 l&#8217;ideale.<\/p>\n<h3>Reindirizzamenti su base geografica<\/h3>\n<p>Una delle caratteristiche principali dello strumento di geolocalizzazione IP di Kinsta \u00e8 la possibilit\u00e0 di applicare condizioni basate sulla posizione geografica attraverso un sofisticato instradamento del traffico.<\/p>\n<p>Volendo utilizzare del codice per una configurazione di questo tipo, avreste bisogno di un bel po&#8217; di lavoro:<\/p>\n<pre><code class=\"language-php\">class GeographicRedirects {\n    public function __construct() {\n        add_action('template_redirect', [$this, 'handle_redirects']);\n    }\n\n    public function handle_redirects() {\n        $country_code = $_SERVER['GEOIP_COUNTRY_CODE'] ?? null;\n\n        if ($country_code) {\n            $redirect_url = $this-&gt;get_redirect_url($country_code);\n            if ($redirect_url) {\n                wp_redirect($redirect_url, 301);\n                exit;\n            }\n        }\n    }\n    \n    private function get_redirect_url($country_code) {\n        $redirects = [\n            'DE' =&gt; 'https:\/\/de.example.com',\n            'FR' =&gt; 'https:\/\/fr.example.com',\n            'ES' =&gt; 'https:\/\/es.example.com'\n        ];\n\n        return $redirects[$country_code] ?? null;\n    }\n}\n\nnew GeographicRedirects();\n<\/code><\/pre>\n<p>Invece, MyKinsta permette di utilizzare il pannello <strong>Redirect<\/strong>, che include campi per la scelta del paese e della citt\u00e0.<\/p>\n<figure id=\"attachment_190274\" aria-describedby=\"caption-attachment-190274\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190274\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/redirect-rules.png\" alt=\"La finestra modale di configurazione delle regole di reindirizzamento di MyKinsta mostra i campi per impostare i reindirizzamenti basati sulla posizione. Il modulo comprende menu a discesa per la selezione del dominio e la localizzazione, con campi di input per specificare i percorsi di reindirizzamento.\" width=\"1200\" height=\"735\"><figcaption id=\"caption-attachment-190274\" class=\"wp-caption-text\">Aggiunta di una regola di redirect attraverso la dashboard di MyKinsta.<\/figcaption><\/figure>\n<p>Questo \u00e8 un modo efficace per utilizzare la geolocalizzazione di Kinsta insieme alle <a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/regole-redirect\/\">regole di reindirizzamento<\/a>. Dovrete semplicemente inserire gli URL da e verso cui volete reindirizzare, scegliere un dominio, selezionare un paese e una citt\u00e0 e definire il codice di stato. Una volta cliccato sul pulsante <strong>Aggiungi regola di redirect<\/strong>, Kinsta la applicher\u00e0 alla vostra configurazione NGINX.<\/p>\n<h3>Integrazione della mappa interattiva<\/h3>\n<p>Un localizzatore dinamico di negozi mostrer\u00e0 la posizione del visitatore e tutti i vostri negozi vicini. \u00c8 l&#8217;ideale se gestite diverse filiali, soprattutto se sono dislocate in un&#8217;ampia zona:<\/p>\n<figure id=\"attachment_190271\" aria-describedby=\"caption-attachment-190271\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-190271\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2025\/01\/ikea-store-locator.png\" alt=\"Il localizzatore di negozi IKEA Paesi Bassi mostra una mappa dei Paesi Bassi occidentali con pi\u00f9 punti vendita contrassegnati da spilli blu. Sul lato sinistro, un elenco mostra i negozi IKEA tra cui Delft, Barendrecht, Haarlem e Breda, con i relativi indirizzi e orari di apertura. La mappa di base \u00e8 fornita da Google Maps e include caratteristiche geografiche come la costa del Mare del Nord e le principali autostrade.\" width=\"1200\" height=\"662\"><figcaption id=\"caption-attachment-190271\" class=\"wp-caption-text\">Il localizzatore di negozi sul sito olandese di Ikea.<\/figcaption><\/figure>\n<p>Potete creare un&#8217;esperienza interattiva simile utilizzando le variabili di geolocalizzazione IP di Kinsta e le API di Google Maps. Per farlo, avrete bisogno di una <a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-google-maps\/\">chiave API di Google Maps<\/a> e di una conoscenza di base dell&#8217;<a href=\"https:\/\/developers.google.com\/maps\/documentation\/javascript\/overview\" target=\"_blank\" rel=\"noopener noreferrer\">API JavaScript di Google Maps<\/a>. Inoltre, vi serviranno i dati di localizzazione di ogni negozio che gestite. In questo caso, i dati possono provenire da un tipo di post personalizzato o da un database.<\/p>\n<p>Per quanto riguarda l&#8217;implementazione, \u00e8 prassi aggiungere il codice al file <code>functions.php<\/code> del tema o a un <a href=\"https:\/\/kinsta.com\/it\/blog\/plugin-wordpress-estensibile\/\">plugin personalizzato<\/a>. Una volta impostata la chiave API di Google Maps, va impostata la struttura dei dati di localizzazione del negozio:<\/p>\n<pre><code class=\"language-php\">\/\/ Register the store locations post type\nadd_action('init', function() {\n    register_post_type('store_location', [\n        'public' =&gt; true,\n        'label' =&gt; 'Store Locations',\n        'supports' =&gt; ['title', 'editor', 'custom-fields'],\n        'show_in_rest' =&gt; true\n    ]);\n\n    \/\/ Register custom fields for location data\n    register_meta('post', 'latitude', [\n        'type' =&gt; 'number',\n        'single' =&gt; true,\n        'show_in_rest' =&gt; true\n    ]);\n    register_meta('post', 'longitude', [\n        'type' =&gt; 'number',\n        'single' =&gt; true,\n        'show_in_rest' =&gt; true\n    ]);\n});\n<\/code><\/pre>\n<p>Per importare la posizione del negozio, potete utilizzare l&#8217;interfaccia di amministrazione di WordPress, creare un tipo di post personalizzato, aggiungere la latitudine e la longitudine nei campi personalizzati, aggiungere i dettagli del negozio ai vostri contenuti o anche effettuare un&#8217;importazione programmatica. Ad esempio:<\/p>\n<pre><code class=\"language-php\">function import_store_locations($stores) {\n    foreach ($stores as $store) {\n        $post_id = wp_insert_post([\n            'post_type' =&gt; 'store_location',\n            'post_title' =&gt; sanitize_text_field($store['name']),\n            'post_status' =&gt; 'publish'\n        ]);\n\n        if (!is_wp_error($post_id)) {\n            update_post_meta($post_id, 'latitude', floatval($store['lat']));\n            update_post_meta($post_id, 'longitude', floatval($store['lng']));\n            update_post_meta($post_id, 'address', sanitize_text_field($store['address']));\n            update_post_meta($post_id, 'phone', sanitize_text_field($store['phone']));\n        }\n    }\n}\n\n\n\/\/ Example usage:\n$stores = [\n    [\n        'name' =&gt; 'Downtown Store',\n        'lat' =&gt; 40.7128,\n        'lng' =&gt; -74.0060,\n        'address' =&gt; '123 Main St',\n        'phone' =&gt; '(555) 123-4567'\n    ]\n    \/\/ Add more stores...\n];\n\nimport_store_locations($stores);\n<\/code><\/pre>\n<p>L&#8217;implementazione del localizzatore richiede poche righe di codice e le variabili esposte di Kinsta:<\/p>\n<pre><code class=\"language-php\">class StoreLocator {\n    private $visitor_location;\n    private $google_maps_key;\n \n    public function __construct($google_maps_key) {\n        $this-&gt;google_maps_key = $google_maps_key;\n        $this-&gt;visitor_location = $this-&gt;get_visitor_location();        \n\n        add_action('wp_enqueue_scripts', [$this, 'enqueue_maps_scripts']);\n    }\n\n    private function get_visitor_location() {\n        \/\/ Use Kinsta's geolocation data\n        if (isset($_SERVER['GEOIP_LATITUDE'], $_SERVER['GEOIP_LONGITUDE'])) {\n            return [\n                'lat' =&gt; floatval($_SERVER['GEOIP_LATITUDE']),\n                'lng' =&gt; floatval($_SERVER['GEOIP_LONGITUDE'])\n            ];\n        }\n\n        \/\/ Fallback to country center\n        if (isset($_SERVER['GEOIP_COUNTRY_CODE'])) {\n            return $this-&gt;get_country_center($_SERVER['GEOIP_COUNTRY_CODE']);\n        }\n\n        \/\/ Default to New York\n        return ['lat' =&gt; 40.7128, 'lng' =&gt; -74.0060];\n    }\n\n    private function get_nearby_stores($radius = 50) {\n        return get_posts([\n            'post_type' =&gt; 'store_location',\n            'posts_per_page' =&gt; 10,\n            'meta_query' =&gt; [\n                [\n                    'key' =&gt; 'latitude',\n                    'value' =&gt; [\n                        $this-&gt;visitor_location['lat'] - ($radius \/ 111),\n                        $this-&gt;visitor_location['lat'] + ($radius \/ 111)\n                    ],\n                    'type' =&gt; 'NUMERIC',\n                    'compare' =&gt; 'BETWEEN'\n                ]\n            ]\n        ]);\n    }\n\u2026\n<\/code><\/pre>\n<p>Da qui, potete aggiungere la mappa al vostro template utilizzando <code>$store_locator-&gt;render_map()<\/code>.<\/p>\n<h3>Distribuzione dinamica dei contenuti<\/h3>\n<p>I contenuti, i prezzi e le promozioni specifiche per la localit\u00e0 sono applicazioni che si basano sulla geolocalizzazione. L&#8217;invio di contenuti location-aware permette di personalizzare i contenuti, i prezzi e le promozioni del sito in base alla posizione dei visitatori.<\/p>\n<p>Per implementare questo sistema nei propri progetti, servono le variazioni di contenuto per le diverse regioni a cui ci si vuole rivolgere. Da qui, \u00e8 possibile iniziare a creare un modo affidabile per gestire i dati sulla posizione e generare chiavi di cache. In questo modo si garantisce una distribuzione efficiente dei contenuti mantenendo la funzione di localizzazione:<\/p>\n<pre><code class=\"language-php\">private function get_location_context() {\n    \/\/ Create unique cache keys based on location data\n    $context = [\n        'country' =&gt; $_SERVER['GEOIP_COUNTRY_CODE'] ?? null,\n        'region'  =&gt; $_SERVER['GEOIP_REGION'] ?? null,\n        'locale'  =&gt; get_locale()\n    ];\n\n    \/\/ Add currency and timezone data if needed\n    if ($this-&gt;requires_currency_handling) {\n        $context['currency'] = $this-&gt;get_country_currency($context['country']);\n    }\n\n    return $context;\n}\n<\/code><\/pre>\n<p>Questo costituisce la base per qualsiasi decisione basata sulla posizione e per il sistema di elaborazione dei contenuti. In questo modo \u00e8 possibile gestire sia i prezzi che le variazioni regionali dei contenuti:<\/p>\n<pre><code class=\"language-php\">private function process_dynamic_content($content, $context) {\n    \/\/ Handle pricing with currency conversion\n    if (strpos($content, '{price:') !== false) {\n        $content = preg_replace_callback(\n            '\/{price:([0-9]+.?[0-9]*)}\/',\n            fn($matches) =&gt; $this-&gt;format_price(\n                floatval($matches[1]), \n                $context['currency']\n            ),\n            $content\n        );\n    }\n\n    \/\/ Process regional content blocks\n    if (strpos($content, '[region:') !== false) {\n        $content = preg_replace_callback(\n            '\/[region:([^]]+)](.*?)[\/region]\/s',\n            function($matches) use ($context) {\n                $regions = array_map('trim', explode(',', $matches[1]));\n                return in_array($context['country'], $regions) ? $matches[2] : '';\n            },\n            $content\n        );\n    }\n\n    return $content;\n}\n<\/code><\/pre>\n<p>Ci\u00f2 permette di utilizzare semplici marcatori nei contenuti che si adattano automaticamente alla posizione del visitatore. Ad esempio:<\/p>\n<pre><code class=\"language-html\">[region:US,CA]\n    &lt;p&gt;Free shipping on orders over {price:50}!&lt;\/p&gt;\n[\/region]\n[region:GB,DE,FR]\n    &lt;p&gt;Free shipping on orders over {price:45}!&lt;\/p&gt;\n[\/region]\n<\/code><\/pre>\n<p>Una volta implementata, \u00e8 possibile ottimizzarla per le prestazioni. Si tratta di un passaggio che potreste trascurare, ma una cache efficiente pu\u00f2 aiutarvi a mantenere le prestazioni con i vostri contenuti che tengono conto della posizione. I modelli di caching di Kinsta sono ideali per questo lavoro.<\/p>\n<h3>Pre compilazione e validazione dei moduli<\/h3>\n<p>La creazione di moduli che tengano conto della posizione geografica implica la gestione di diversi formati di indirizzi, codici postali e numeri di telefono nelle varie regioni. Per questo \u00e8 importante definire le regole di convalida e di formattazione per le diverse regioni:<\/p>\n<pre><code class=\"language-php\">private $format_patterns = [\n    'US' =&gt; [\n        'postal' =&gt; [\n            'pattern' =&gt; '^(?=.{5,10}$)d{5}(-d{4})?$',\n            'transform' =&gt; fn($value) =&gt; strtoupper(trim($value))\n        ],\n        'phone' =&gt; [\n            'pattern' =&gt; '^+1[2-9]d{2}[2-9]d{2}d{4}$',\n            'transform' =&gt; fn($value) =&gt; '+1' . preg_replace('\/D\/', '', $value)\n        ]\n    ],\n    'GB' =&gt; [\n        'postal' =&gt; [\n            'pattern' =&gt; '^(?=.{6,8}$)[A-Z]{1,2}[0-9][A-Z0-9]? ?[0-9][A-Z]{2}$',\n            'transform' =&gt; fn($value) =&gt; preg_replace(\n                '\/^(.+?)([0-9][A-Z]{2})$\/', \n                '$1 $2', \n                strtoupper(trim($value))\n            )\n        ]\n    ]\n];\n<\/code><\/pre>\n<p>Questi schemi gestiscono le variazioni comuni dei codici postali e dei numeri di telefono nei diversi paesi. Tuttavia, i diversi paesi hanno requisiti diversi per quanto riguarda il formato dell&#8217;indirizzo. Potete utilizzare un approccio sistematico per gestire queste variazioni:<\/p>\n<pre><code class=\"language-php\">private function get_address_format($country_code) {\n    $formats = [\n        'US' =&gt; [\n            'required' =&gt; ['street', 'city', 'state', 'postal'],\n            'order' =&gt; ['street', 'street2', 'city', 'state', 'postal'],\n            'state_label' =&gt; 'State',\n            'state_type' =&gt; 'select'\n        ],\n        'GB' =&gt; [\n            'required' =&gt; ['street', 'city', 'postal'],\n            'order' =&gt; ['street', 'street2', 'city', 'county', 'postal'],\n            'state_label' =&gt; 'County',\n            'state_type' =&gt; 'text'\n        ]\n    ];\n\n    return $formats[$country_code] ?? $formats['US'];\n}\n<\/code><\/pre>\n<p>Successivamente, analizzate la convalida dei campi. Dovreste implementare una convalida che rispetti i requisiti di formato regionali:<\/p>\n<pre><code class=\"language-php\">private function validate_field($field, $value, $country_code) {\n    if (!isset($this-&gt;format_patterns[$country_code][$field])) {\n        return true;  \/\/ No specific validation needed\n    }\n\n    $pattern = $this-&gt;format_patterns[$country_code][$field]['pattern'];\n    $transform = $this-&gt;format_patterns[$country_code][$field]['transform'];\n\n    \/\/ Transform value before validation\n    $value = $transform($value);\n\n    return (bool)preg_match(\"\/$pattern\/\", $value);\n}\n<\/code><\/pre>\n<p>Un piccolo snippet riunisce tutto questo:<\/p>\n<pre><code class=\"language-php\">\/\/ Validate a postal code\nif (!$this-&gt;validate_field('postal', $_POST['postal_code'], 'GB')) {\n    $errors[] = 'Invalid postal code format';\n}\n<\/code><\/pre>\n<p>Questa implementazione si adatter\u00e0 automaticamente alla posizione del visitatore, gestir\u00e0 le variazioni regionali nei formati degli indirizzi, fornir\u00e0 una convalida adeguata per i campi specifici della localit\u00e0 e manterr\u00e0 l&#8217;integrit\u00e0 dei dati in diverse regioni.<\/p>\n<h2>Riepilogo<\/h2>\n<p>L&#8217;implementazione della geolocalizzazione di WordPress attraverso l&#8217;infrastruttura di Kinsta permette di creare applicazioni che tengono conto della posizione. L&#8217;abilitazione dello strumento di geolocalizzazione IP di Kinsta permette di sfruttare funzionalit\u00e0 a livello di server, robuste, performanti e di facile utilizzo. Inoltre, \u00e8 incentrato sulla privacy e conforme alle norme.<\/p>\n<p>Avete qualche domanda sulla geolocalizzazione di WordPress e sulla sua implementazione nei vostri progetti? Fatecelo sapere nella sezione commenti qui sotto!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le moderne applicazioni web richiedono un alto livello di funzionalit\u00e0 intelligenti e location-aware, ovvero in grado di rilevare la posizione. Le piattaforme di e-commerce devono calcolare &#8230;<\/p>\n","protected":false},"author":259,"featured_media":80553,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[25873],"class_list":["post-80552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-sviluppo-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>La geolocalizzazione di WordPress: guida per gli sviluppatori<\/title>\n<meta name=\"description\" content=\"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"La geolocalizzazione di WordPress: guida per gli sviluppatori\" \/>\n<meta property=\"og:description\" content=\"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-03T08:55:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-07T05:37:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers-1024x512.png\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"La geolocalizzazione di WordPress: guida per gli sviluppatori\",\"datePublished\":\"2025-03-03T08:55:33+00:00\",\"dateModified\":\"2025-04-07T05:37:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/\"},\"wordCount\":2998,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png\",\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/\",\"name\":\"La geolocalizzazione di WordPress: guida per gli sviluppatori\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png\",\"datePublished\":\"2025-03-03T08:55:33+00:00\",\"dateModified\":\"2025-04-07T05:37:11+00:00\",\"description\":\"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sviluppo di WordPress\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/sviluppo-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"La geolocalizzazione di WordPress: guida per gli sviluppatori\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La geolocalizzazione di WordPress: guida per gli sviluppatori","description":"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/","og_locale":"it_IT","og_type":"article","og_title":"La geolocalizzazione di WordPress: guida per gli sviluppatori","og_description":"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.","og_url":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2025-03-03T08:55:33+00:00","article_modified_time":"2025-04-07T05:37:11+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png","type":"image\/png"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers-1024x512.png","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Steve Bonisteel","Tempo di lettura stimato":"18 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"La geolocalizzazione di WordPress: guida per gli sviluppatori","datePublished":"2025-03-03T08:55:33+00:00","dateModified":"2025-04-07T05:37:11+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/"},"wordCount":2998,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png","inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/","url":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/","name":"La geolocalizzazione di WordPress: guida per gli sviluppatori","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png","datePublished":"2025-03-03T08:55:33+00:00","dateModified":"2025-04-07T05:37:11+00:00","description":"Implementare funzioni di geolocalizzazione in WordPress \u00e8 possibile, soprattutto se si \u00e8 utenti di Kinsta. Questo post analizza le tattiche di localizzazione.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/wordpress-geolocation-for-developers.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/geolocalizzazione-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Sviluppo di WordPress","item":"https:\/\/kinsta.com\/it\/argomenti\/sviluppo-wordpress\/"},{"@type":"ListItem","position":3,"name":"La geolocalizzazione di WordPress: guida per gli sviluppatori"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/it\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/80552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=80552"}],"version-history":[{"count":5,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/80552\/revisions"}],"predecessor-version":[{"id":80784,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/80552\/revisions\/80784"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/translations\/es"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/80552\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/80553"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=80552"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=80552"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=80552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}