Ottenete oggi il miglior plugin per il backup e la migrazione di WordPress
Ottenere Duplicator ora
Annuncio di Duplicator Cloud

[I backup in cloud sono appena diventati più semplici: Duplicator Cloud elimina l'archiviazione di terze parti

Esplorate i piani di archiviazione cloud scalabili e convenienti con Duplicator Cloud e mantenete i backup del vostro sito al sicuro, organizzati e accessibili in un...
API REST di WordPress

API REST di WordPress per principianti: Accedere ai contenuti ovunque 

Scritto da: avatar dell'autore Joella Dunn
avatar dell'autore Joella Dunn
Joella è una scrittrice con anni di esperienza in WordPress. In Duplicator è specializzata nella manutenzione dei siti, dai backup di base alle migrazioni su larga scala. Il suo obiettivo finale è assicurarsi che il vostro sito WordPress sia sicuro e pronto per la crescita.
     Recensito da: avatar del recensore John Turner
avatar del recensore John Turner
John Turner è il presidente di Duplicator. Ha oltre 20 anni di esperienza commerciale e di sviluppo e i suoi plugin sono stati scaricati oltre 25 milioni di volte.

L'API REST trasforma WordPress in qualcosa di più di un tradizionale sistema di gestione dei contenuti. Diventa un framework applicativo.

Altri programmi - siano essi applicazioni mobili, siti web personalizzati o servizi di terze parti - possono parlare con il vostro sito WordPress, richiedere dati e persino modificare i contenuti.

Si potrebbe pensare che questo sia un territorio prettamente da sviluppatori. Non è così.

L'API REST alimenta funzioni che probabilmente utilizzate ogni giorno. L'editor di blocchi? È l'API REST al lavoro. Ogni volta che si aggiunge un blocco o si salva una bozza di post, si effettuano chiamate API dietro le quinte.

In questo post spiegherò cos'è l'API REST di WordPress, cosa fa e come gestirla sul vostro sito.

Ecco i punti salienti:

  • L'API REST di WordPress è integrata nel nucleo di WordPress e consente alle applicazioni esterne di leggere e modificare i contenuti attraverso semplici URL.
  • Lo state già usando; l'Editor blocchi si affida all'API REST per ogni blocco aggiunto e per ogni bozza salvata.
  • Permette di realizzare WordPress senza testa, applicazioni mobili e applicazioni a pagina singola, servendo i contenuti come dati JSON che possono essere consumati da qualsiasi piattaforma.
  • Gli endpoint pubblici (come /wp-json/wp/v2/posts) funzionano immediatamente, ma la creazione o la modifica dei contenuti richiede l'autenticazione tramite password di applicazione.
  • La maggior parte dei problemi dell'API REST (errori 404, fallimenti dell'autenticazione) possono essere risolti salvando i permalink o controllando l'impostazione della password dell'applicazione.

Indice dei contenuti

Che cos'è l'API REST di WordPress?

L'API REST di WordPress è un'interfaccia integrata che consente ad altri sistemi di interagire con i dati di WordPress. È un ponte tra il vostro sito WordPress e il mondo esterno.

Viene fornito con il nucleo di WordPress. Non è necessario installare nulla di aggiuntivo; è già presente, in attesa di essere utilizzato.

L'API utilizza come formato dei dati JSON (JavaScript Object Notation). JSON è un modo leggero di strutturare i dati come testo. È leggibile dall'uomo, il che significa che è possibile guardarlo e capire cosa si sta vedendo.

Un post del blog in JSON appare come un elenco ordinato di proprietà: titolo, contenuto, autore, data di pubblicazione e così via.

Ecco perché è importante: l'API REST consente il "disaccoppiamento". Potete gestire i vostri contenuti in WordPress ma visualizzarli ovunque. Su un'applicazione mobile. Su un altro sito web. In un chiosco digitale. In un'applicazione personalizzata che il vostro team ha costruito da zero.

I vostri contenuti vivono in un unico luogo. Ma può apparire ovunque.

Che cos'è un'interfaccia di programmazione delle applicazioni (API)?

Mi piace spiegare le API con l'analogia del ristorante perché funziona davvero.

Siete seduti a un tavolo. Volete mangiare. Ma non potete entrare in cucina e iniziare a tirare fuori le cose dal frigorifero. Avete bisogno di un intermediario: è il cameriere.

Si comunica al cameriere l'ordine (la richiesta). Il cameriere la porta in cucina (il server/database). La cucina prepara il cibo. Il cameriere ve lo riporta (la risposta).

Un'API è un cameriere. È l'intermediario tra un'applicazione che vuole dei dati e il sistema che li possiede. L'API riceve le richieste, comunica con i sistemi giusti e fornisce i risultati in un formato comprensibile all'applicazione richiedente.

Senza l'API, le applicazioni dovrebbero accedere direttamente al database. Questo sarebbe disordinato, insicuro e quasi impossibile da gestire su scala.

Che cos'è il Representational State Transfer (REST)?

REST è un insieme di regole architettoniche per la creazione di API. Quando un'API segue queste regole, la chiamiamo "RESTful". L'API REST di WordPress segue questi principi ed è per questo che ha il nome "REST".

Ecco i concetti fondamentali:

Senza Stato

Il server non ricorda le richieste precedenti. Ogni richiesta deve includere tutto ciò di cui il server ha bisogno per elaborarla. Non si può pensare che il server sappia cosa si è chiesto cinque secondi fa.

Questo sembra limitante, ma in realtà è ciò che rende scalabili le API REST. Il server non spreca risorse per monitorare gli stati di sessione per migliaia di richieste simultanee.

Cliente-Server

Il client (l'applicazione che effettua le richieste) e il server (il vostro sito WordPress) sono completamente separati. Possono essere sviluppati in modo indipendente. Alla vostra applicazione React non importa se WordPress si aggiorna alla versione 6.5 o 7.0, purché gli endpoint dell'API rimangano coerenti.

Interfaccia uniforme

Le API REST utilizzano metodi HTTP standard come GET, POST, PUT e DELETE. Questa standardizzazione rende l'API prevedibile. Gli sviluppatori che hanno familiarità con REST possono utilizzare rapidamente l'API di WordPress perché segue le convenzioni che già conoscono.

Questi principi non sono solo accademici. Rendono l'API REST di WordPress affidabile, prevedibile e facile da usare.

Cosa fa l'API REST di WordPress?

L'API REST espone i dati di WordPress attraverso URL chiamati "endpoint". Un endpoint è un indirizzo specifico al quale è possibile richiedere dati particolari.

Ad esempio: /wp-json/wp/v2/posts è l'endpoint per i post del vostro blog. Visitando questo URL sul vostro sito, otterrete una risposta JSON contenente i vostri post: titoli, contenuti, autori, immagini in evidenza, tutto.

Questa è la tecnologia che alimenta l'editor a blocchi. Quando si lavora in Gutenberg, ogni azione che si compie attiva una chiamata API.

Aggiungere un blocco di paragrafi? Chiamata API. Caricare un'immagine? Chiamata API. Salvare la bozza? Chiamata API. L'interfaccia dell'editor è essenzialmente un'applicazione JavaScript che dialoga con il sito WordPress attraverso l'API REST.

L'API consente operazioni CRUD programmatiche (creazione, lettura, aggiornamento e cancellazione). È possibile eseguire tutte queste azioni sui contenuti senza mai aprire la dashboard di WordPress.

Come sviluppatore, potreste scrivere uno script che crea 100 post in cinque secondi. Oppure estrarre tutti i post dell'ultimo mese e generare un report. Oppure aggiornare ogni post con l'etichetta "obsoleto" con un banner di esclusione della responsabilità.

Le possibilità si ampliano notevolmente quando ci si rende conto che WordPress non è più solo un sito web, ma un'API per i contenuti che si occupa anche di creare siti web.

Comandi comuni dell'API REST

L'API REST utilizza metodi HTTP standard per eseguire diverse azioni. Ecco cosa fa ciascuno di essi:

Metodo HTTPAzioneEsempio
GETRecuperare i dati dal serverRecuperare un elenco di tutti i post pubblicati
POSTACreare nuovi datiAggiungere un nuovo post o pagina del blog
INSERIMENTO / PATCHAggiornare i dati esistentiModificare il titolo di un post esistente
CANCELLARERimuovere i datiEliminare un commento o un file multimediale

Le richieste GET sono di sola lettura. Chiunque può farle, perché non modificano i dati. Se si visita un endpoint pubblico nel browser, si effettua una richiesta GET.

Gli altri metodi modificano i dati. Richiedono l'autenticazione. WordPress deve verificare che l'utente abbia il permesso di creare, aggiornare o eliminare contenuti prima di elaborare le richieste.

Come accedere all'API REST di WordPress

L'API REST è abilitata per impostazione predefinita su ogni sito WordPress con la versione 4.7 o superiore. Il percorso di base è /wp-json/.

Potete verificarlo subito.

Aprite una nuova scheda del browser e navigate su yourdomain.com/wp-json/. Vedrete una risposta JSON che elenca tutti i percorsi API disponibili. Non è bello, ma conferma che l'API funziona.

Volete vedere i vostri post? Provate con yourdomain.com/wp-json/wp/v2/posts. Otterrete un array JSON dei vostri post pubblicati, completi di tutti i loro metadati.

Questi endpoint pubblici mostrano solo i dati già visibili pubblicamente sul sito. Ma che dire delle azioni che modificano i dati, come la creazione di post, l'aggiornamento di pagine o la cancellazione di commenti?

Questi richiedono l'autenticazione.

WordPress supporta due metodi di autenticazione principali. L 'autenticazione tramite cookie funziona per le richieste dello stesso dominio (come il Block Editor).

Per le applicazioni esterne, utilizzerete le password di applicazione. Si tratta di token di 24 caratteri generati in WordPress, progettati specificamente per l'accesso alle API. Sono più sicuri della vostra password vera e propria perché potete revocarli singolarmente senza modificare le vostre credenziali di accesso principali.

Per generarne una, andare su Utenti " Profilo. Trovate le impostazioni delle Password di applicazione e createne una nuova.

Password dell'applicazione utente di WordPress

Quindi, accedere all'API REST con questo metodo:

https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer[Password]

Assicurarsi di sostituire [Password] con la password dell'applicazione e di rimuovere gli spazi.

Altrimenti, si può usare un plugin come JWT Authentication for WP REST API.

Le password di applicazione sono il metodo preferito. Sono sicure, tracciabili e non espongono la password reale alle applicazioni di terze parti.

Per verificare la connessione, utilizzare questo comando in una riga di comando:

curl -X GET --user username:password -i http://yoursite.com/wp-json/wp/v2/posts?status=draft

Come utilizzare l'API REST di WordPress: Casi d'uso comuni

Ora che avete capito cos'è e come funziona l'API REST, analizziamo gli scenari pratici in cui ha senso utilizzarla.

WordPress senza testa

Questo è il caso in cui si utilizza WordPress esclusivamente come backend per la gestione dei contenuti. I visitatori non vedono mai un tema di WordPress. Si costruisce invece un frontend personalizzato utilizzando un framework JavaScript come React, Vue o Next.js.

Il frontend recupera i contenuti dall'API REST di WordPress e li rende come volete. Gli eccellenti strumenti di gestione dei contenuti di WordPress sono abbinati a una completa libertà di progettazione sul frontend.

Applicazioni mobili

È possibile alimentare un'app nativa per iOS o Android interamente con i contenuti del proprio sito WordPress. L'app effettua richieste API per recuperare i post, visualizzare le immagini e mostrare i commenti.

Il team dei contenuti gestisce tutto dalla dashboard di WordPress che già conosce. Gli sviluppatori dell'app non toccano mai il CMS.

Applicazioni a pagina singola (SPA)

Si tratta di applicazioni web che si caricano una volta e poi recuperano nuovi contenuti in modo dinamico senza ricaricare l'intera pagina. L'esperienza dell'utente è più veloce e simile a quella di un'app.

Gmail funziona in questo modo. Quando si fa clic tra un'e-mail e l'altra, la pagina non viene ricaricata: il JavaScript recupera il contenuto dell'e-mail tramite un'API. È possibile creare la stessa esperienza con i contenuti di WordPress.

Sincronizzazione dei dati

Estraete i dati da WordPress a un'altra piattaforma o spingete i dati da un servizio esterno a WordPress.

L'ho visto usare per sincronizzare le informazioni sui prodotti tra WordPress e i sistemi di gestione dell'inventario. Oppure per creare automaticamente post su WordPress a partire dai dati raccolti in un CRM.

L'API REST rende possibili queste integrazioni senza complesse manipolazioni del database.

Quando non usare l'API REST

Se gestite un blog semplice o un sito web aziendale, probabilmente non avete bisogno di toccare direttamente l'API REST. Un tema tradizionale di WordPress gestisce tutto perfettamente.

Quando la velocità di caricamento iniziale della pagina è la priorità assoluta, un tema renderizzato su server è spesso più veloce.

Le configurazioni headless richiedono JavaScript per recuperare e rendere i contenuti, il che aggiunge latenza. Per i siti ad alto contenuto, dove ogni millisecondo di tempo di caricamento è importante, l'architettura tradizionale di WordPress potrebbe essere più utile.

Se un plugin affidabile e ben supportato risolve già il vostro problema di integrazione, utilizzate il plugin. Non costruite una soluzione API REST personalizzata solo perché potete farlo.

I plugin vengono mantenuti, testati e aggiornati. Un'integrazione personalizzata è un debito tecnico che dovrete gestire.

L'API REST è potente. Ma la potenza senza uno scopo crea una complessità inutile.

Come disattivare l'API REST di WordPress

Devo iniziare con un avvertimento: la completa disabilitazione dell'API REST interromperà l'editor di blocchi. Probabilmente romperà anche diversi plugin. Se la disabilitate completamente e poi vi chiedete perché Gutenberg ha smesso di funzionare, ecco perché.

L'approccio migliore è la restrizione, non la disabilitazione. È possibile richiedere l'autenticazione per tutti gli endpoint API. In questo modo si mantiene l'editor di blocchi funzionante per gli utenti loggati, bloccando però l'accesso anonimo agli endpoint pubblici.

Se si vuole assolutamente disabilitare l'API REST, si consiglia di usare un plugin come WPCode. Ha uno snippet di codice integrato che gestisce questo compito per voi.

Disattivare l'API REST con WPCode

Selezionare lo snippet di codice e inserirlo automaticamente nel sito. Attivare e aggiornare lo snippet per salvare le modifiche.

WPCode inserisce automaticamente lo snippet

Come risolvere i problemi più comuni delle API REST

Anche con l'API REST attivata e funzionante, di tanto in tanto si incontrano dei problemi. Ecco i problemi più comuni che ho riscontrato e come risolverli.

404 Non trovato

Questo è l'errore che vedo più spesso. Si cerca di accedere a un endpoint API e WordPress restituisce un 404 come se la pagina non esistesse.

Nove volte su dieci si tratta di un problema di permalink. WordPress utilizza le regole .htaccess (sui server Apache) per instradare correttamente le richieste API. A volte queste regole si corrompono o non si rigenerano correttamente dopo una migrazione o una modifica del server.

Andate su Impostazioni " Permalinks nella vostra dashboard di WordPress. Non modificate nulla. Fate semplicemente clic su Salva modifiche. WordPress rigenera le regole di riscrittura e l'API riprende a funzionare.

I permalink di WordPress

Errori di autenticazione 401 o 403

Un 401 significa "non autorizzato": non sono state fornite le credenziali. Un 403 significa "proibito": sono state fornite le credenziali, ma l'utente non ha l'autorizzazione per questa azione.

Verificare che la password dell'applicazione sia stata inserita correttamente (senza spazi, con il nome utente corretto). Verificare che l'account utente abbia le capacità giuste per ciò che si sta cercando di fare.

Conflitti tra plugin o temi

A volte un plugin o un tema mal codificato interferisce con la funzionalità dell'API REST. Utilizzate il processo standard di risoluzione dei problemi di WordPress: disabilitate tutti i plugin, passate a un tema predefinito (come Twenty Twenty-Four) e testate l'API.

Se funziona, riattivare i plugin uno per uno fino a trovare il colpevole. Quindi contattate lo sviluppatore del plugin o trovate un'alternativa.

Errori CORS

Questi appaiono nella console del browser quando un'applicazione web di un dominio cerca di accedere all'API di un altro dominio. CORS (Cross-Origin Resource Sharing) è una funzione di sicurezza del browser. Blocca queste richieste per impostazione predefinita.

La soluzione richiede l'aggiunta di intestazioni HTTP specifiche sul server WordPress che consentano esplicitamente le richieste dal dominio dell'applicazione. In genere si tratta di modificare il file .htaccess o di configurare le intestazioni nel pannello di controllo dell'hosting.

Se si riscontrano errori CORS, si sta lavorando con una configurazione headless o disaccoppiata e occorre un accesso a livello di server per risolverli.

Domande frequenti (FAQ)

L'API di WordPress è sicura?

Sì, l'API principale di WordPress è sicura per progettazione. Rispetta il sistema di ruoli e capacità degli utenti di WordPress e gli endpoint pubblici espongono solo i dati già pubblicamente visibili sul vostro sito.

Posso integrare le API in WordPress?

Sì, in due modi: altre applicazioni possono connettersi all'API REST del vostro sito WordPress per leggere o modificare i contenuti, oppure potete usare WordPress per connettervi ad API di terze parti, come servizi meteo o processori di pagamento.

Come posso proteggere la mia API REST di WordPress?

Utilizzate le Application Password per l'autenticazione, applicate l'HTTPS in tutto il sito e mantenete aggiornati il core, i temi e i plugin di WordPress. Considerate l'aggiunta di un Web Application Firewall (WAF) per filtrare le richieste dannose.

Quali sono le funzionalità dell'API REST di WordPress?

L'API fornisce un accesso programmatico a post, pagine, utenti, tassonomie, media, commenti e impostazioni. Plugin come WooCommerce possono aggiungere i propri endpoint personalizzati per ulteriori funzionalità.

Il futuro è connesso

L'API REST di WordPress trasforma WordPress da un tradizionale sistema di gestione dei contenuti in un vero e proprio framework applicativo. Non si tratta più solo di costruire siti web, ma di rendere disponibili i vostri contenuti ovunque ne abbiate bisogno.

Questa API è il ponte. Collega WordPress alle moderne applicazioni web, alle app mobili e ai servizi di terze parti. Capire come funziona vi aiuta a prendere decisioni migliori sull'architettura del vostro sito, a risolvere i problemi più velocemente e a comunicare più efficacemente con gli sviluppatori.

I dati del vostro sito WordPress sono il motore di tutto, dalle pagine che i vostri visitatori vedono ai contenuti che la vostra API REST serve ad altre applicazioni. Proteggere questi dati non è negoziabile.

Duplicator Pro vi offre un modo affidabile per eseguire il backup dell'intera installazione di WordPress. Prima di iniziare a sperimentare una configurazione headless o di collegare una nuova app, eseguite un backup completo. Con Duplicator Pro, potete programmare backup automatici e stare tranquilli sapendo che i vostri contenuti preziosi sono al sicuro.

Mentre siete qui, penso che vi piaceranno queste altre risorse WordPress selezionate a mano:

avatar dell'autore
Joella Dunn Scrittrice di contenuti
Joella è una scrittrice con anni di esperienza in WordPress. In Duplicator è specializzata nella manutenzione dei siti, dai backup di base alle migrazioni su larga scala. Il suo obiettivo finale è assicurarsi che il vostro sito WordPress sia sicuro e pronto per la crescita.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Raccomandiamo solo prodotti che riteniamo possano apportare un valore aggiunto ai nostri lettori.