{"id":75482,"date":"2023-12-13T14:51:52","date_gmt":"2023-12-13T13:51:52","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=75482&#038;preview=true&#038;preview_id=75482"},"modified":"2024-01-16T17:28:47","modified_gmt":"2024-01-16T16:28:47","slug":"wpgraphql-e-wp-api-rest","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/","title":{"rendered":"WPGraphQL e API REST con WordPress Headless"},"content":{"rendered":"<p>Oggi, nello sviluppo web, la separazione dei sistemi frontend e backend ha acquisito notevole importanza e i siti headless sono sempre pi\u00f9 popolari.<\/p>\n<p>Tradizionalmente, nei <a href=\"https:\/\/kinsta.com\/content-management-systems\/\">sistemi di gestione dei contenuti<\/a> (CMS), il back end e il front end sono sempre stati abbinati, ma questo ha sempre comportato molte limitazioni, come scarsa flessibilit\u00e0 e ridotta scalabilit\u00e0. I moderni <a href=\"https:\/\/kinsta.com\/it\/argomenti\/cms-headless\/\">CMS headless<\/a> consentono agli sviluppatori di disabbinare il frontend, sviluppato con qualsiasi framework, dal backend in un CMS headless.<\/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>Cos&#8217;\u00e8 un CMS headless?<\/h2>\n<p>Un CMS headless \u00e8 un sistema di gestione dei contenuti specializzato che serve esclusivamente alla gestione del backend del sito. A differenza dei CMS tradizionali, un CMS headless non determina il modo in cui i contenuti appaiono sul frontend. Al contrario, fornisce una Application Programming Interface (<a href=\"https:\/\/kinsta.com\/it\/argomenti\/api\/\">API<\/a>) che consente agli <a href=\"https:\/\/kinsta.com\/it\/blog\/tipi-di-developer\/\">sviluppatori<\/a> di recuperare e distribuire i contenuti su qualsiasi dispositivo o piattaforma.<\/p>\n<p>Oggi esistono numerose piattaforme CMS headless. Tuttavia, il passaggio dei contenuti da WordPress pu\u00f2 sembrare inutile. Ma esiste un&#8217;alternativa: WordPress Headless.<\/p>\n<h3>WordPress Headless<\/h3>\n<p><a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-wordpress\/\">WordPress<\/a>, nella sua forma tradizionale, non \u00e8 intrinsecamente un CMS Headless. \u00c8 un CMS potente, noto per la facilit\u00e0 d&#8217;uso e la flessibilit\u00e0 nella creazione e nella gestione dei contenuti. Tuttavia, tradizionalmente combina la gestione dei contenuti e la loro presentazione in un unico sistema.<\/p>\n<p>Oggi gli sviluppatori hanno creato implementazioni headless di WordPress utilizzando le API REST. In questi casi, WordPress funziona ancora come un CMS in cui creare, gestire e archiviare i contenuti. Tuttavia, invece di rendere il frontend o il sito web direttamente attraverso i <a href=\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/\">template<\/a> e i temi, la presentazione del frontend \u00e8 disabbinata o distaccata dal backend.<\/p>\n<p>Questo permette agli sviluppatori di creare applicazioni utilizzando tecnologie e framework diversi, pur sfruttando le note funzionalit\u00e0 di gestione dei contenuti di WordPress. \u00c8 un modo per far funzionare WordPress in modalit\u00e0 &#8220;headless&#8221;, anche se non \u00e8 la configurazione predefinita.<\/p>\n<p>Questo articolo illustra due approcci per recuperare i dati dal CMS WordPress headless e renderli grazie al framework utilizzato per la creazione del frontend: WPGraphQL e REST API.<\/p>\n<figure style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/headless-cms-arcitecture.png\" alt=\"Architettura del funzionamento di WordPress Headless.\" width=\"960\" height=\"514\"><figcaption class=\"wp-caption-text\">Architettura del funzionamento di WordPress Headless.<\/figcaption><\/figure>\n<h2>L&#8217;API REST con WordPress Headless<\/h2>\n<p>L&#8217;API REST \u00e8 un pilastro fondamentale nello sviluppo di WordPress perch\u00e9 permette di recuperare i dati in formato JSON. A partire da <a href=\"https:\/\/kinsta.com\/blog\/wordpress-4-7\/#rest-api-additions\">WordPress 4.7<\/a>, \u00e8 stata integrata in WordPress e non richiede l&#8217;installazione di un plugin.<\/p>\n<p>L&#8217;API d\u00e0 accesso ai contenuti del sito con le stesse restrizioni: i contenuti pubblici del sito sono accessibili pubblicamente tramite l&#8217;API REST, mentre i contenuti privati, quelli protetti da password, gli utenti interni, i custom post type e i metadati sono disponibili solo con l&#8217;autenticazione o se sono stati configurati in modo specifico.<\/p>\n<p>Per ottenere i dati di WordPress in formato JSON, aggiungiamo <code>\/wp-json<\/code> all&#8217;URL del sito WordPress:<\/p>\n<pre><code class=\"language-bash\">http:\/\/yoursite.com\/wp-json<\/code><\/pre>\n<p>Se l&#8217;API JSON non \u00e8 abilitata di default, quando visitiamo il sito <code>http:\/\/yoursite.com\/wp-json<\/code>, possiamo abilitarla dalla pagina <strong>Permalink<\/strong> nelle <strong>Impostazioni di WordPress<\/strong> e selezionando <strong>Nome del post<\/strong> o qualsiasi altra opzione a nostra scelta, tranne <strong>Plain<\/strong>:<\/p>\n<figure style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/configure-headless-wp-rest-api.jpg\" alt=\"Come configurare l'API REST di WordPress.\" width=\"960\" height=\"514\"><figcaption class=\"wp-caption-text\">Come configurare l&#8217;API REST di WordPress.<\/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 <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>, <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/media\/\" target=\"_blank\" rel=\"noopener noreferrer\">media<\/a>, ecc.<\/p>\n<pre><code class=\"language-bash\">http:\/\/yoursite.com\/wp-json\/wp\/v2\/posts\nhttp:\/\/yoursite.com\/wp-json\/wp\/v2\/comments\nhttp:\/\/yoursite.com\/wp-json\/wp\/v2\/media<\/code><\/pre>\n<p>Ma la REST API permette di fare molto altro. Abbiamo una <a href=\"https:\/\/kinsta.com\/it\/blog\/rest-api-wordpress\/\">guida completa<\/a> al riguardo.<\/p>\n<h2>WPGraphQL in combinazione con WordPress Headless<\/h2>\n<p>Nel 2012 Facebook ha introdotto GraphQL, introducendo un approccio rivoluzionario al recupero dei dati tramite API. La natura dichiarativa e l&#8217;acquisizione selettiva dei dati rappresentavano una solida alternativa alle tradizionali API REST.<\/p>\n<p>Nel 2015, <a href=\"https:\/\/wptavern.com\/jason-bahl-joins-the-gatsby-team-to-work-on-wpgraphql-full-time\" target=\"_blank\" rel=\"noopener noreferrer\">Jason Bahl<\/a> si \u00e8 reso conto della necessit\u00e0 di una soluzione che combinasse la flessibilit\u00e0 di GraphQL con le funzionalit\u00e0 di WordPress ed ha rilasciato <a href=\"https:\/\/www.wpgraphql.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">WPGraphQL<\/a>, una soluzione che ha cambiato le carte in tavola per gli sviluppatori di WordPress.<\/p>\n<p>WPGraphQL \u00e8 un plugin basato su GraphQL con un approccio pi\u00f9 efficiente e personalizzato al recupero dei dati di WordPress. Presenta un unico endpoint, permettendo un recupero preciso dei dati e riducendo i problemi di over-fetching tipici delle API REST.<\/p>\n<h3>Come usare WPGraphQL<\/h3>\n<p>Per utilizzare WPGraphQL, vanno seguiti questi passaggi:<\/p>\n<ol start=\"1\">\n<li><strong>Installare il plugin WPGraphQL:<\/strong> iniziamo installando il plugin WPGraphQL sul nostro sito WordPress. Possiamo farlo attraverso la dashboard di WordPress o scaricandolo dal <a href=\"https:\/\/wordpress.org\/plugins\/wp-graphql\/\" target=\"_blank\" rel=\"noopener noreferrer\">repository ufficiale dei plugin di WordPress<\/a>.\n<p><figure style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/wpgraphql-plugin.png\" alt=\"Il plugin WpGraphQL nella directory dei plugin di WP.\" width=\"960\" height=\"514\"><figcaption class=\"wp-caption-text\">Il plugin WpGraphQL nella directory dei plugin di WP.<\/figcaption><\/figure><\/li>\n<li><strong>Provare il playground GraphQL:<\/strong> una volta installato, WPGraphQL offre un GraphQL Playground integrato. Per accedervi, apriamo la scheda <strong>GraphQL<\/strong> nella bacheca di WordPress:\n<figure style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/graphql-ide-wp.jpg\" alt=\"IDE GraphQL in WordPress.\" width=\"960\" height=\"514\"><figcaption class=\"wp-caption-text\">IDE GraphQL in WordPress.<\/figcaption><\/figure>\n<p>Il playground permette di esplorare lo schema, eseguire query e testare interattivamente le mutazioni.<\/li>\n<li><strong>Creare le query:<\/strong> sfruttiamo la potenza di GraphQL creando query su misura per le nostre specifiche esigenze di recupero dati. Usiamo lo schema documentato automaticamente per comprendere i dati e le relazioni disponibili.\n<p><figure style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/testing-graphql-wp.jpg\" alt=\"Il recupero dei dati dei post di WordPress con WPGraphQL.\" width=\"960\" height=\"514\"><figcaption class=\"wp-caption-text\">Il recupero dei dati dei post di WordPress con WPGraphQL.<\/figcaption><\/figure><\/li>\n<\/ol>\n<p>Ora possiamo integrare WPGraphQL nell&#8217;applicazione frontend, sia essa realizzata con <a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-react\/\">React<\/a>, <a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-headless\/\">Vue<\/a> o qualsiasi altro framework. Per recuperare i dati in modo efficiente e aggiornare l&#8217;interfaccia utente in modo dinamico, utilizzeremo un singolo endpoint GraphQL.<\/p>\n<h3>Principali caratteristiche di WPGraphQL<\/h3>\n<p>WPGraphQL presenta notevoli caratteristiche che permettono di recuperare i dati in maniera ottimizzata e mirata.<\/p>\n<h4>Singolo endpoint per recuperare i dati in modo preciso<\/h4>\n<p>WPGraphQL fornisce un endpoint unico, tipicamente <code>\/graphql<\/code>, che permette di recuperare dati specifici in modo efficiente. Questo contrasta con le API REST, per le quali sono necessari pi\u00f9 endpoint per recuperare le stesse informazioni.<\/p>\n<p>Per quanto riguarda l&#8217;API REST, supponiamo di voler recuperare i dati di un post e dei suoi commenti. Dovremo effettuare pi\u00f9 richieste a diversi endpoint, ad esempio:<\/p>\n<p>Per ottenere informazioni su un post:<\/p>\n<pre><code class=\"language-bash\">http:\/\/yoursite.com\/wp-json\/wp\/v2\/posts\/123<\/code><\/pre>\n<p>Per ottenere i commenti relativi al post:<\/p>\n<pre><code class=\"language-bash\">http:\/\/yoursite.com\/wp-json\/wp\/v2\/comments?post=123<\/code><\/pre>\n<p>D&#8217;altra parte, con WPGraphQL possiamo ottenere lo stesso risultato con una singola query mirata:<\/p>\n<pre><code class=\"language-graphql\">{\n  post(id: \"123\") {\n    title\n    content\n    comments {\n      edges {\n        node {\n          content\n        }\n      }\n    }\n  }\n}<\/code><\/pre>\n<p>In questo esempio, la query GraphQL viene inviata a un singolo endpoint. La query stabilisce che vogliamo informazioni sul post con ID &#8220;123&#8221;, e che la risposta dovr\u00e0 riportare il titolo, il contenuto e i commenti associati. WPGraphQL elabora la query e restituisce un&#8217;unica risposta contenente esattamente i dati richiesti.<\/p>\n<h4>Query mirate per un recupero dati efficiente<\/h4>\n<p>Con GraphQL possiamo creare query specifiche in base alle nostre esigenze. Questo ci permette di richiedere solo i dati necessari, riducendo al minimo l&#8217;over-fetching.<\/p>\n<p>Supponiamo di voler recuperare alcuni dati (titolo, autore e data) su tutti i post. L&#8217;API REST non \u00e8 in grado di farlo. Per recuperare questi dati, dovremo utilizzare un endpoint come questo:<\/p>\n<pre><code class=\"language-bash\">http:\/\/yoursite.com\/wp-json\/wp\/v2\/posts<\/code><\/pre>\n<p>Questo endpoint recupera l&#8217;intero set di dati per tutti i post, compresi i contenuti, le categorie e i dati associati. Con WPGraphQL possiamo creare una query mirata per recuperare solo i dati che ci occorrono:<\/p>\n<pre><code class=\"language-graphql\">{\n  posts {\n    title\n    date\n    author {\n      name\n    }\n  }\n}<\/code><\/pre>\n<p>In questo esempio, la query GraphQL \u00e8 progettata per recuperare i dati dei post. Ma noi chiediamo solo il titolo, la data e il nome dell&#8217;autore. WPGraphQL permette di richiedere solo i campi che ci interessano, ottenendo una risposta pi\u00f9 efficiente e leggera.<\/p>\n<h4>Risorse root multiple<\/h4>\n<p>Con WPGraphQL possiamo interrogare pi\u00f9 risorse root in un&#8217;unica richiesta:<\/p>\n<pre><code class=\"language-graphql\">{\n  posts {\n    edges {\n      node {\n        title\n        content\n      }\n    }\n  }\n\n  pages {\n    edges {\n      node {\n        title\n        content\n      }\n    }\n  }\n}<\/code><\/pre>\n<h2>Scegliere l&#8217;head ideale per WordPress Headless<\/h2>\n<p>Quando si decide per una soluzione WordPress Headless, una delle decisioni cruciali da prendere riguarda l&#8217;head ideale, ossia la tecnologia di frontend che generer\u00e0 l&#8217;interfaccia utente e determiner\u00e0 l&#8217;esperienza dell&#8217;utente.<\/p>\n<p>Questa decisione ha un&#8217;importanza enorme perch\u00e9 ha un impatto diretto sulle prestazioni, sulla scalabilit\u00e0 e sulla manutenibilit\u00e0 dell&#8217;applicazione web. Diversi framework frontend sono compatibili con WordPress Headless, ognuno con i suoi punti di forza e le sue considerazioni.<\/p>\n<p>Ad esempio, possiamo <a href=\"https:\/\/dev.to\/kinstahosting\/how-to-choose-the-best-static-site-generator-and-deploy-it-to-kinsta-for-free-4bel\" target=\"_blank\" rel=\"noopener noreferrer\">scegliere un generatore di siti statici (SSG)<\/a> e distribuirlo gratuitamente sull&#8217;<a href=\"https:\/\/sevalla.com\/static-site-hosting\/\">Hosting di Siti Statici di Kinsta<\/a>, in modo da preoccuparci solo dell&#8217;<a href=\"https:\/\/kinsta.com\/it\/hosting-wordpress\/\">Hosting di WordPress<\/a> (il backend) e sfruttare l&#8217;hosting gratuito per l&#8217;head (il frontend).<\/p>\n<p>Allo stesso modo, possiamo anche adottare un approccio pi\u00f9 solido, ad esempio utilizzando una <a href=\"https:\/\/kinsta.com\/it\/blog\/librerie-javascript\/\">libreria JavaScript<\/a> come <a href=\"https:\/\/kinsta.com\/it\/argomenti\/react\/\">React<\/a> per il frontend e mantenere WordPress per il backend.<\/p>\n<h2>Riepilogo<\/h2>\n<p>Sia WPGraphQL che l&#8217;API REST permettono di recuperare dati da un CMS WordPress Headless e integrarli perfettamente nelle applicazioni frontend. La scelta tra i due dipende dalle esigenze specifiche del progetto e dall&#8217;approccio che si preferisce per il recupero dei dati.<\/p>\n<p>Scegliendo l&#8217;API REST, si avr\u00e0 accesso a una soluzione integrata in WordPress che permetter\u00e0 di recuperare facilmente i dati in formato JSON. D&#8217;altra parte, WPGraphQL offre un approccio pi\u00f9 moderno ed efficiente, sfruttando la potenza di GraphQL.<\/p>\n<p>Con la crescente diffusione delle soluzioni headless, gli sviluppatori possono scegliere lo strumento che meglio si allinea con il loro flusso di lavoro e con gli obiettivi del progetto, per un&#8217;integrazione perfetta ed efficiente tra WordPress e il framework frontend scelto.<\/p>\n<p>Su <a href=\"https:\/\/kinsta.com\/it\/\">Kinsta<\/a>, creare e gestire un backend WordPress \u00e8 un gioco da ragazzi, grazie al nostro <a href=\"https:\/\/kinsta.com\/it\/hosting-wordpress\/\">Hosting WordPress<\/a> specializzato. Il nostro Hosting WordPress dispone di funzioni preziose, tra cui l&#8217;<a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/cache\/edge-caching\/\">edge caching<\/a>, il <a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/wordpress-backup\/#wordpress-backup\">backup del sito<\/a>, i <a href=\"https:\/\/kinsta.com\/it\/blog\/hosting-ssl-gratuito\/\">certificati SSL Cloudflare gratuiti<\/a>, il <a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/wordpress-cdn\/kinsta-cdn\/#kinstas-cdn\/\">CDN Kinsta<\/a> e molto altro.<\/p>\n<p>Inoltre, \u00e8 possibile distribuire il frontend utilizzando il nostro <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni<\/a> o l&#8217;<a href=\"https:\/\/sevalla.com\/static-site-hosting\/\">Hosting di Siti Statici<\/a> per SSG. Questo approccio unificato permette di gestire sia il frontend che il backend e di accedervi attraverso un&#8217;<a href=\"https:\/\/my.kinsta.com\/?lang=it\" target=\"_blank\" rel=\"noopener noreferrer\">unica dashboard<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oggi, nello sviluppo web, la separazione dei sistemi frontend e backend ha acquisito notevole importanza e i siti headless sono sempre pi\u00f9 popolari. Tradizionalmente, nei sistemi &#8230;<\/p>\n","protected":false},"author":287,"featured_media":75483,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26232,26179],"class_list":["post-75482","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-cms-headless"],"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>WPGraphQL e l&#039;API REST per WordPress Headless - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Scopri la potenza di WPGraphQL e dell&#039;API REST per sfruttare il potenziale di WordPress Headless.\" \/>\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\/wpgraphql-e-wp-api-rest\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WPGraphQL e API REST con WordPress Headless\" \/>\n<meta property=\"og:description\" content=\"Scopri la potenza di WPGraphQL e dell&#039;API REST per sfruttare il potenziale di WordPress Headless.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\" \/>\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=\"2023-12-13T13:51:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-16T16:28:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.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=\"Scopri la potenza di WPGraphQL e dell&#039;API REST per sfruttare il potenziale di WordPress Headless.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.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=\"9 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"WPGraphQL e API REST con WordPress Headless\",\"datePublished\":\"2023-12-13T13:51:52+00:00\",\"dateModified\":\"2024-01-16T16:28:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\"},\"wordCount\":1531,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\",\"name\":\"WPGraphQL e l'API REST per WordPress Headless - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg\",\"datePublished\":\"2023-12-13T13:51:52+00:00\",\"dateModified\":\"2024-01-16T16:28:47+00:00\",\"description\":\"Scopri la potenza di WPGraphQL e dell'API REST per sfruttare il potenziale di WordPress Headless.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#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\":\"WPGraphQL e API REST con WordPress Headless\"}]},{\"@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":"WPGraphQL e l'API REST per WordPress Headless - Kinsta\u00ae","description":"Scopri la potenza di WPGraphQL e dell'API REST per sfruttare il potenziale di WordPress Headless.","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\/wpgraphql-e-wp-api-rest\/","og_locale":"it_IT","og_type":"article","og_title":"WPGraphQL e API REST con WordPress Headless","og_description":"Scopri la potenza di WPGraphQL e dell'API REST per sfruttare il potenziale di WordPress Headless.","og_url":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-12-13T13:51:52+00:00","article_modified_time":"2024-01-16T16:28:47+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Scopri la potenza di WPGraphQL e dell'API REST per sfruttare il potenziale di WordPress Headless.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Joel Olawanle","Tempo di lettura stimato":"9 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"WPGraphQL e API REST con WordPress Headless","datePublished":"2023-12-13T13:51:52+00:00","dateModified":"2024-01-16T16:28:47+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/"},"wordCount":1531,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/","url":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/","name":"WPGraphQL e l'API REST per WordPress Headless - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg","datePublished":"2023-12-13T13:51:52+00:00","dateModified":"2024-01-16T16:28:47+00:00","description":"Scopri la potenza di WPGraphQL e dell'API REST per sfruttare il potenziale di WordPress Headless.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/wpgraphqL-vs-rest-api-for-headless-wordpress.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/wpgraphql-e-wp-api-rest\/#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":"WPGraphQL e API REST con WordPress Headless"}]},{"@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\/75482","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=75482"}],"version-history":[{"count":9,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75482\/revisions"}],"predecessor-version":[{"id":75987,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75482\/revisions\/75987"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/en"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/nl"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/fr"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/es"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/translations\/jp"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75482\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/75483"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=75482"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=75482"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=75482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}