{"id":76890,"date":"2024-03-04T09:08:01","date_gmt":"2024-03-04T08:08:01","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=76890&#038;preview=true&#038;preview_id=76890"},"modified":"2024-03-05T15:24:12","modified_gmt":"2024-03-05T14:24:12","slug":"wordpress-headless-next-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/","title":{"rendered":"Come utilizzare WordPress come CMS headless per Next.js"},"content":{"rendered":"<p>WordPress esiste da oltre 20 anni e, <a href=\"https:\/\/w3techs.com\/technologies\/details\/cm-wordpress\/all\/all\" target=\"_blank\" rel=\"noopener noreferrer\">secondo W3Techs<\/a>, alimenta il 42,7% di tutti i siti web su Internet. Inoltre, detiene una quota di mercato del 62,5% per i sistemi di gestione dei contenuti (CMS) dietro ai siti web.<\/p>\n<p>Oggi sono disponibili molti linguaggi di programmazione e framework per costruire siti web facili da usare e ad alte prestazioni che sono molto pi\u00f9 veloci di WordPress, a prescindere dalle ottimizzazioni effettuate nella bacheca di WordPress. Un esempio \u00e8 <a href=\"https:\/\/kinsta.com\/it\/blog\/next-js\/\">Next.js<\/a>, un popolare framework React.<\/p>\n<p>Questa guida mostra come utilizzare WordPress come CMS headless, fornendo i dati per un&#8217;applicazione Next.js. Spiega anche come distribuire il codice Next.js come <a href=\"https:\/\/kinsta.com\/it\/blog\/sito-web-statico\/\">sito statico<\/a> sul servizio gratuito di <a href=\"https:\/\/sevalla.com\/static-site-hosting\/\">Hosting di Siti Statici<\/a> di Kinsta.<\/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>Come funziona WordPress Headless<\/h2>\n<p>Per WordPress headless si intende l&#8217;utilizzo di WordPress solo per le sue funzionalit\u00e0 di backend (gestione e archiviazione dei contenuti) e l&#8217;utilizzo di un sistema separato, come Next.js, per la presentazione del frontend.<\/p>\n<p>Questo disaccoppiamento consente agli sviluppatori di utilizzare i solidi strumenti di gestione dei contenuti di WordPress e di sfruttare appieno le moderne funzionalit\u00e0 di sviluppo frontend, come il rendering lato server e la generazione di siti statici in Next.js.<\/p>\n<h3>Preparare il sito WordPress<\/h3>\n<p>Prima di immergerci nello sviluppo di Next.js, il vostro sito WordPress avr\u00e0 bisogno di un po&#8217; di preparazione per essere utilizzato come <a href=\"https:\/\/kinsta.com\/it\/argomenti\/cms-headless\/\">CMS headless<\/a>.<\/p>\n<p>Se non avete gi\u00e0 un sito WordPress, potete crearlo facilmente con Kinsta. Esistono tre metodi per creare un sito WordPress con Kinsta:<\/p>\n<ol start=\"1\">\n<li>Creare un sito <a href=\"https:\/\/kinsta.com\/it\/blog\/installare-wordpress-in-locale\/\">sul vostro computer locale<\/a> (magari utilizzando i nostri <a href=\"https:\/\/kinsta.com\/it\/devkinsta\/\">strumenti DevKinsta<\/a>) prima di spostare il sito sui nostri server<\/li>\n<li>Creare un sito in remoto utilizzando la <a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/wordpress-come-iniziare\/nuovo-sito\/\">dashboard MyKinsta<\/a><\/li>\n<li>Creare un sito in remoto utilizzando l&#8217;<a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-api\/\">API di Kinsta<\/a><\/li>\n<\/ol>\n<p>Una volta creato un sito WordPress, ci sono due approcci per recuperare i dati dal CMS WordPress al vostro framework frontend: <a href=\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\">WPGraphQL e REST API<\/a>.<\/p>\n<p>L&#8217;API REST facilita il recupero dei dati in formato JSON utilizzando approcci JavaScript come <a href=\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#4-how-to-make-an-http-request-in-javascript-using-the-fetch-api\">Fetch API<\/a> o la libreria <a href=\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#5-how-to-make-an-http-request-in-javascript-using-axios\">Axios<\/a>. L&#8217;API REST \u00e8 integrata in WordPress dalla versione 4.7, quindi non richiede alcun plugin per funzionare. Ma per utilizzare WPGraphQL, che permette di interagire con i dati di WordPress utilizzando query GraphQL, \u00e8 necessario installare il plugin WPGraphQL.<\/p>\n<p>In questa guida utilizzeremo l&#8217;API REST. Per ottenere i dati di WordPress in formato JSON, aggiungete <code>\/wp-json\/wp\/v2<\/code> all&#8217;URL del vostro sito WordPress:<\/p>\n<pre><code class=\"language-bash\">http:\/\/yoursite.com\/wp-json\/wp\/v2<\/code><\/pre>\n<p>Se l&#8217;API JSON non \u00e8 abilitata per impostazione predefinita quando visitate <code>http:\/\/yoursite.com\/wp-json<\/code>, potete abilitarla aprendo <strong>Permalink<\/strong> sotto <strong>Impostazioni<\/strong> nella bacheca di WordPress e selezionando <strong>Nome del post<\/strong> o qualsiasi altra opzione a vostra scelta, tranne <strong>Semplice<\/strong>:<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/02\/configure-rest-api.png\" alt=\"Configurare l'API REST di WordPress per accedere ai dati JSON\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Configurare l&#8217;API REST di WordPress per accedere ai dati JSON.<\/figcaption><\/figure>\n<p>Funziona per i siti WordPress locali e pubblici e offre <a href=\"https:\/\/developer.wordpress.org\/rest-api\/key-concepts\/\" target=\"_blank\" rel=\"noopener noreferrer\">endpoint<\/a> per i contenuti che includono <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/posts\/\" target=\"_blank\" rel=\"noopener noreferrer\">post<\/a>, <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/pages\/\" target=\"_blank\" rel=\"noopener noreferrer\">pagine<\/a>, <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/comments\/\" target=\"_blank\" rel=\"noopener noreferrer\">commenti<\/a> e <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/media\/\" target=\"_blank\" rel=\"noopener noreferrer\">media<\/a>. Leggete la nostra <a href=\"https:\/\/kinsta.com\/it\/blog\/rest-api-wordpress\/\">guida completa alle API REST<\/a> per saperne di pi\u00f9.<\/p>\n<h2>Configurare l&#8217;ambiente Next.js<\/h2>\n<p>Next.js aiuta gli sviluppatori a creare applicazioni web con facilit\u00e0, migliorando le prestazioni e ottimizzando l&#8217;esperienza di sviluppo. Una delle sue caratteristiche principali \u00e8 il routing basato su file, che semplifica la creazione di percorsi.<\/p>\n<p>Next.js si concentra anche sulle prestazioni, offrendo funzioni come lo <a href=\"https:\/\/kinsta.com\/it\/blog\/nextjs-vs-react\/#code-splitting\">splitting automatico del codice<\/a>, che carica solo il JavaScript necessario per ogni pagina, riducendo in modo significativo il tempo di caricamento.<\/p>\n<p>Per configurare un progetto Next.js, potete eseguire il seguente comando e utilizzare le risposte predefinite:<\/p>\n<pre><code class=\"language-bash\">npx create-next-app@latest nextjs-wp-demo<\/code><\/pre>\n<p>Per questa guida, potete prendere il nostro template di avvio <a href=\"https:\/\/kinsta.com\/it\/argomenti\/git\/\">Git<\/a> seguendo questi passi:<\/p>\n<ol start=\"1\">\n<li>Visitate il <a href=\"https:\/\/github.com\/olawanlejoel\/nextjs-headless-wp\" target=\"_blank\" rel=\"noopener noreferrer\">repository GitHub<\/a> di questo progetto.<\/li>\n<li>Seleziona <strong>Use this template<\/strong> &gt; <strong>Create a new repository<\/strong> per copiare il codice di partenza in un repository all&#8217;interno del vostro account GitHub (selezionate la casella per <strong>includere tutti i branch<\/strong>).<\/li>\n<li>Estraete il repository sul vostro computer locale e passate al branch <a href=\"https:\/\/github.com\/olawanlejoel\/nextjs-headless-wp\/tree\/starter-files\" target=\"_blank\" rel=\"noopener noreferrer\">starter-files<\/a> usando il comando: <code>git checkout starter-files<\/code>.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li>Installate le dipendenze necessarie eseguendo il comando <code>npm install<\/code>.<\/li>\n<\/ol>\n<p>Una volta completata l&#8217;installazione, lanciate il progetto sul vostro computer locale con <code>npm run dev<\/code>. In questo modo il progetto sar\u00e0 disponibile all&#8217;indirizzo <a href=\"http:\/\/localhost:3000\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/localhost:3000\/<\/a>.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/02\/starter-project.png\" alt=\"La schermata di un progetto di avvio costruito con Next.js\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">La schermata di un progetto di avvio costruito con Next.js.<\/figcaption><\/figure>\n<h3>Il progetto<\/h3>\n<p>L&#8217;App Router \u00e8 stato introdotto in Next.js 13, sostituendo la directory <strong>pages<\/strong> esistente per il routing. Il routing con l&#8217;App Router comporta anche la creazione di cartelle all&#8217;interno della cartella <strong>app<\/strong>. Poi, annida un file <strong>page.js<\/strong> all&#8217;interno della cartella appropriata per definire il vostro percorso.<\/p>\n<p>In questo progetto, <strong>app<\/strong> \u00e8 la cartella principale con cui interagire e troverete la seguente struttura di file.<\/p>\n<pre><code class=\"language-bash\">\/\n|-- \/app\n    |-- \/blog\n        |-- \/[postId]\n        \t|-- page.js\n        |-- page.js\n    |-- globals.css\n    |-- layout.js\n    |-- navbar.js\n    |-- page.js<\/code><\/pre>\n<p>Vengono create tre pagine: la pagina iniziale per visualizzare le informazioni di base, la pagina del blog per visualizzare tutti i post del vostro CMS WordPress e la pagina dinamica (<strong>[postId]\/page.js<\/strong>) per il rendering dei singoli post.<\/p>\n<p>Noterete anche il componente <strong>navbar.js<\/strong>, che viene importato nel file <strong>layout.js<\/strong> per creare un layout per il progetto.<\/p>\n<h2>Recuperare i dati da WordPress a Next.js<\/h2>\n<p>Con l&#8217;API REST di WordPress, potete recuperare post, pagine e tipi di post personalizzati inviando richieste HTTP a endpoint specifici.<\/p>\n<p>Facciamo una richiesta di fetch nel file <strong>blog\/page.js<\/strong> per recuperare tutti i post del vostro CMS WordPress e poi facciamo una richiesta per recuperare ogni post dinamicamente nel file <strong>blog\/[postId]\/page.js<\/strong> in base al parametro <code>id<\/code> passato.<\/p>\n<p>Prima di effettuare queste richieste, \u00e8 buona norma aggiungere l&#8217;indirizzo dell&#8217;API JSON a una variabile d&#8217;ambiente. Questo approccio garantisce che l&#8217;URL di base dell&#8217;API sia facilmente configurabile e non codificato in pi\u00f9 file.<\/p>\n<p>Create un file <strong>.env<\/strong> nella root del vostro progetto Next.js e aggiungete quanto segue:<\/p>\n<pre><code class=\"language-bash\">NEXT_PUBLIC_WORDPRESS_API_URL=https:\/\/yoursite.kinsta.cloud\/wp-json\/wp\/v2<\/code><\/pre>\n<p>Assicuratevi di sostituire l&#8217;URL con l&#8217;API JSON del vostro sito. Inoltre, aggiungete <code>.env<\/code> al vostro file <strong><a href=\"https:\/\/kinsta.com\/it\/blog\/gitignore-non-funziona\/\">.gitignore<\/a><\/strong> in modo da non inviare il file al vostro provider Git.<\/p>\n<h3>Recuperare tutti i post da WordPress a Next.js<\/h3>\n<p>Per recuperare tutti i post dal vostro sito WordPress, create una funzione asincrona chiamata <code>getPosts<\/code> nel vostro file <strong>blog\/page.js<\/strong>. Questa funzione utilizza l&#8217;API Fetch per effettuare una richiesta GET all&#8217;endpoint <code>\/posts<\/code> dell&#8217;API REST di WordPress.<\/p>\n<pre><code class=\"language-js\">async function getPosts() {\n    const response = await fetch(\n        `${process.env.NEXT_PUBLIC_WORDPRESS_API_URL}\/posts`\n    );\n    const posts = await response.json();\n    return posts;\n}<\/code><\/pre>\n<p>Una volta ricevuta la risposta, la converte in JSON e crea un array di oggetti post. Questi <code>posts<\/code> possono essere resi nella vostra applicazione Next.js, fornendo un elenco dinamico di post del blog prelevati direttamente da WordPress.<\/p>\n<pre><code class=\"language-js\">const BlogPage = async () =&gt; {\n    const posts = await getPosts();\n    return (\n        &lt;div className=\"blog-page\"&gt;\n            &lt;h2&gt;All Blog Posts&lt;\/h2&gt;\n            &lt;p&gt;All blog posts are fetched from WordPress via the WP REST API.&lt;\/p&gt;\n            &lt;div className=\"posts\"&gt;\n                {posts.map((post) =&gt; {\n                    return (\n                        &lt;Link href={`\/blog\/${post.id}`} className=\"post\" key={post.id}&gt;\n                            &lt;h3&gt;{post.title.rendered}&lt;\/h3&gt;\n                            &lt;p\n                                dangerouslySetInnerHTML={{ __html: post.excerpt.rendered }}\n                            &gt;&lt;\/p&gt;\n                        &lt;\/Link&gt;\n                    );\n                })}\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n    );\n};<\/code><\/pre>\n<p>All&#8217;interno del componente pagina di Next.js, chiamate <code>getPosts<\/code> in modo asincrono per recuperare i post. Poi, passate <code>map<\/code> sopra l&#8217;array di <code>posts<\/code>, rendendo <code>title<\/code> e <code>excerpt<\/code> di ogni post all&#8217;interno di un componente <code>&lt;Link&gt;<\/code>.<\/p>\n<p>In questo modo, non solo vengono visualizzati i post, ma ognuno di essi viene anche racchiuso in un link che rimanda a una visualizzazione dettagliata del post. Questo risultato \u00e8 ottenuto utilizzando il routing basato su file di Next.js, dove l&#8217;ID del post viene utilizzato per generare dinamicamente il percorso dell&#8217;URL.<\/p>\n<h3>Recuperare i post dinamici da WordPress a Next.js<\/h3>\n<p>Nel codice qui sopra, ogni post \u00e8 racchiuso in un link che dovrebbe aiutare gli utenti a navigare verso una vista dettagliata del post.<\/p>\n<p>Per le pagine dei singoli post, si utilizza il routing dinamico in Next.js per creare una pagina che recupera e visualizza un singolo post in base al suo ID. Una pagina dinamica <strong>[postID]\/page.js<\/strong> \u00e8 gi\u00e0 stata creata nel codice di stater-files.<\/p>\n<p>Create una funzione <code>getSinglePost<\/code>, simile a <code>getPosts<\/code>, per recuperare un singolo post utilizzando l&#8217;ID del post passato come parametro.<\/p>\n<pre><code class=\"language-js\">async function getSinglePost(postId) {\n    const response = await fetch(\n        `${process.env.NEXT_PUBLIC_WORDPRESS_API_URL}\/posts\/${postId}`\n    );\n    const post = await response.json();\n    return post;\n}<\/code><\/pre>\n<p>Nel componente della pagina dinamica, estraete l&#8217;ID del post dai parametri dell&#8217;URL, chiamate <code>getSinglePost<\/code> con questo ID e renderizzate il contenuto del post.<\/p>\n<pre><code class=\"language-js\">const page = async ({ params }) =&gt; {\n    const post = await getSinglePost(params.postId);\n    \/\/ ... the rest of the page code\n};<\/code><\/pre>\n<p>Potete quindi riempire la pagina con i dati recuperati:<\/p>\n<pre><code class=\"language-js\">const page = async ({ params }) =&gt; {\n    const post = await getSinglePost(params.postId);\n    if (!post) {\n        return &lt;div&gt;Loading...&lt;\/div&gt;;\n    }\n    return (\n        &lt;div className=\"single-blog-page\"&gt;\n            &lt;h2&gt;{post.title.rendered}&lt;\/h2&gt;\n            &lt;div className=\"blog-post\"&gt;\n                &lt;p&gt; dangerouslySetInnerHTML={{ __html: post.content.rendered }}&gt;&lt;\/p&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n    );\n};<\/code><\/pre>\n<p>Potete accedere al codice completo sul nostro <a href=\"https:\/\/github.com\/olawanlejoel\/nextjs-headless-wp\" target=\"_blank\" rel=\"noopener noreferrer\">repository GitHub<\/a>.<\/p>\n<h2>Distribuire l&#8217;applicazione Next.js su Kinsta gratuitamente<\/h2>\n<p>Il servizio di <a href=\"https:\/\/docs.sevalla.com\/static-sites\/overview\">Hosting di Siti Statici<\/a> di Kinsta offre la possibilit\u00e0 di ospitare <strong>gratis<\/strong> fino a 100 siti statici.<\/p>\n<p>Questo servizio ospita solo file statici. Se utilizzate un <a href=\"https:\/\/kinsta.com\/it\/blog\/generatori-di-siti-statici\/\">generatore di siti statici<\/a> come Next.js, potete configurare le opzioni per creare il vostro progetto da GitHub e distribuire i file statici su Kinsta.<\/p>\n<h3>Rendering statico in Next.js<\/h3>\n<p>Per abilitare l&#8217;esportazione statica in Next.js versione 13 o superiore, modificate la modalit\u00e0 <code>output<\/code> all&#8217;interno di <strong>next.config.js<\/strong>:<\/p>\n<pre><code class=\"language-js\">const nextConfig = {\n    output: 'export',\n};<\/code><\/pre>\n<p>Ora, quando costruite il vostro progetto, Next.js dovrebbe produrre una cartella <strong>out<\/strong> che contiene le risorse <a href=\"https:\/\/kinsta.com\/it\/blog\/html\/\">HTML<\/a>, <a href=\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\">CSS<\/a> e <a href=\"https:\/\/kinsta.com\/javascript\/\">JavaScript<\/a> dell&#8217;applicazione.<\/p>\n<p>Dalla versione 13, Next.js supporta l&#8217;avvio come sito statico e il successivo aggiornamento opzionale per l&#8217;utilizzo di funzionalit\u00e0 che richiedono un server. Quando utilizzate le funzionalit\u00e0 del server, la creazione delle pagine non generer\u00e0 pagine statiche.<\/p>\n<p>Ad esempio, nel percorso dinamico, i dati vengono recuperati dinamicamente. Dovete essere in grado di generare tutti i post in modo statico. Questo pu\u00f2 essere fatto utilizzando la funzione <code>generateStaticParams<\/code>.<\/p>\n<p>La funzione viene utilizzata in combinazione con i segmenti di percorso dinamico per generare staticamente i percorsi al momento della creazione invece che on-demand al momento della richiesta. Durante la creazione, <code>generateStaticParams<\/code> viene eseguito prima che vengano generati i layout o le pagine corrispondenti.<\/p>\n<p>In <strong>[postID]\/page.js<\/strong>, usate la funzione <code>generateStaticParams<\/code> per ottenere tutti i percorsi dei post:<\/p>\n<pre><code class=\"language-js\">export async function generateStaticParams() {\n    const response = await fetch(\n        `${process.env.NEXT_PUBLIC_WORDPRESS_API_URL}\/posts`\n    );\n    const posts = await response.json();\n\n    return posts.map((post) =&gt; ({\n        postId: post.id.toString(),\n    }));\n}<\/code><\/pre>\n<p>Quando eseguite il comando di build, il vostro progetto Next.js generer\u00e0 una cartella <strong>out<\/strong> con i file statici.<\/p>\n<h3>Distribuire Next.js sull&#8217;hosting statico di Kinsta<\/h3>\n<p>Inviate il codice al vostro provider Git preferito (<a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> o <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>). Quindi, seguite questi passaggi per distribuire il vostro sito statico Next.js su Kinsta:<\/p>\n<ol start=\"1\">\n<li>Accedete o create un account per visualizzare la dashboard <a href=\"https:\/\/my.kinsta.com\/?lang=it\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a>.<\/li>\n<li>Autorizzate Kinsta con il vostro provider Git.<\/li>\n<li>Cliccate su <strong>Siti statici<\/strong> nella barra laterale di sinistra e poi su <strong>Aggiungi sito<\/strong>.<\/li>\n<li>Selezionate il repository e il branch da cui desiderate effettuare il deploy.<\/li>\n<li>Assegnate un nome unico al vostro sito.<\/li>\n<li>Aggiungete le impostazioni di build nel seguente formato:\n<ul>\n<li><strong>Comando di build:<\/strong> <code>npm run build<\/code><\/li>\n<li><strong>Versione Node:<\/strong> <code>18.16.0<\/code><\/li>\n<li><strong>Directory di pubblicazione:<\/strong> <code>out<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li>Infine, cliccate su <strong>Crea sito<\/strong>.<\/li>\n<\/ol>\n<p>E il gioco \u00e8 fatto! In pochi secondi avrete un sito distribuito. Viene fornito un link per accedere alla versione distribuita del vostro sito. In seguito potrete aggiungere il vostro <a href=\"https:\/\/docs.sevalla.com\/applications\/domains\">dominio personale<\/a> e il vostro <a href=\"https:\/\/docs.sevalla.com\/applications\/domains#install-a-custom-ssl-certificate\">certificato SSL<\/a>.<\/p>\n<p>In alternativa all&#8217;Hosting di Siti Statici, potete scegliere di distribuire il vostro sito statico con il servizio di <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni<\/a> di Kinsta, che offre una maggiore flessibilit\u00e0 di hosting, una gamma pi\u00f9 ampia di vantaggi e l&#8217;accesso a funzionalit\u00e0 pi\u00f9 robuste, come lo scaling, la distribuzione personalizzata tramite un file Docker e <a href=\"https:\/\/docs.sevalla.com\/applications\/analytics\">analisi complete<\/a> che comprendono dati storici e in tempo reale. Inoltre, non \u00e8 necessario configurare il progetto Next.js per il rendering statico.<\/p>\n<h2>Riepilogo<\/h2>\n<p>In questo articolo avete imparato a sfruttare WordPress headless in un progetto Next.js per recuperare e visualizzare i post in modo dinamico. Questo approccio consente di integrare perfettamente i contenuti di WordPress nelle applicazioni Next.js, offrendo un&#8217;esperienza web moderna e dinamica.<\/p>\n<p>Il potenziale dell&#8217;API del CMS headless va oltre i semplici post: permette di recuperare e gestire pagine, commenti, media e altro ancora.<\/p>\n<p>Ospitare il vostro CMS WordPress insieme ai vostri framework frontend non deve essere necessariamente una seccatura. Con il cruscotto <a href=\"https:\/\/my.kinsta.com\/?lang=it\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a> di Kinsta, vi viene offerta una piattaforma unificata per gestire con facilit\u00e0 <a href=\"https:\/\/kinsta.com\/it\/hosting-wordpress\/\">siti web WordPress<\/a>, <a href=\"https:\/\/sevalla.com\/application-hosting\/\">applicazioni<\/a>, <a href=\"https:\/\/sevalla.com\/database-hosting\/\">database<\/a> e siti statici.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress esiste da oltre 20 anni e, secondo W3Techs, alimenta il 42,7% di tutti i siti web su Internet. Inoltre, detiene una quota di mercato del &#8230;<\/p>\n","protected":false},"author":287,"featured_media":76891,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26179,25918,25873],"class_list":["post-76890","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-cms-headless","topic-framework-javascript","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>Come utilizzare WordPress come CMS headless per Next.js - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim&#039;ordine.\" \/>\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\/wordpress-headless-next-js\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come utilizzare WordPress come CMS headless per Next.js\" \/>\n<meta property=\"og:description\" content=\"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim&#039;ordine.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/\" \/>\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=\"2024-03-04T08:08:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-05T14:24:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim&#039;ordine.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Come utilizzare WordPress come CMS headless per Next.js\",\"datePublished\":\"2024-03-04T08:08:01+00:00\",\"dateModified\":\"2024-03-05T14:24:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/\"},\"wordCount\":1858,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/\",\"name\":\"Come utilizzare WordPress come CMS headless per Next.js - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg\",\"datePublished\":\"2024-03-04T08:08:01+00:00\",\"dateModified\":\"2024-03-05T14:24:12+00:00\",\"description\":\"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim'ordine.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CMS Headless\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/cms-headless\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Come utilizzare WordPress come CMS headless per Next.js\"}]},{\"@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\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come utilizzare WordPress come CMS headless per Next.js - Kinsta\u00ae","description":"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim'ordine.","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\/wordpress-headless-next-js\/","og_locale":"it_IT","og_type":"article","og_title":"Come utilizzare WordPress come CMS headless per Next.js","og_description":"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim'ordine.","og_url":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2024-03-04T08:08:01+00:00","article_modified_time":"2024-03-05T14:24:12+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim'ordine.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Joel Olawanle","Tempo di lettura stimato":"11 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Come utilizzare WordPress come CMS headless per Next.js","datePublished":"2024-03-04T08:08:01+00:00","dateModified":"2024-03-05T14:24:12+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/"},"wordCount":1858,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/","url":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/","name":"Come utilizzare WordPress come CMS headless per Next.js - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg","datePublished":"2024-03-04T08:08:01+00:00","dateModified":"2024-03-05T14:24:12+00:00","description":"In questa guida scoprirai come migliorare le prestazioni del tuo sito web integrando WordPress con Next.js, un framework React di prim'ordine.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/03\/all-how-to-use-wordpress-as-a-headless-cms-for-next-js.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-headless-next-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"CMS Headless","item":"https:\/\/kinsta.com\/it\/argomenti\/cms-headless\/"},{"@type":"ListItem","position":3,"name":"Come utilizzare WordPress come CMS headless per Next.js"}]},{"@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\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/76890","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\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=76890"}],"version-history":[{"count":5,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/76890\/revisions"}],"predecessor-version":[{"id":76934,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/76890\/revisions\/76934"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/translations\/es"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/76890\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/76891"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=76890"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=76890"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=76890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}