A partire dal 24 ottobre, Facebook non supporterà più gli embed di WordPress non autenticati. Pertanto, se state incorporando contenuti di Facebook e Instagram sul vostro sito WordPress, questi si romperanno.

In particolare, i vecchi endpoint oEmbed di Facebook vengono sostituiti da nuovi che richiedono l’autenticazione tramite Facebook. Poiché Facebook è proprietaria di Instagram, gli stessi requisiti valgono anche per gli endpoint Instagram oEmbed.

In questo articolo parleremo di come WordPress usa gli endpoint oEmbed di Facebook e Instagram, di cosa viene aggiornato e di come si possono risolvere le cose in modo che i vostri embed continuino a funzionare come dovrebbero.

Prepariamoci!

Come Sono Utilizzati gli oEmbed per Incorporare i Contenuti in WordPress

oEmbed è un protocollo che permette ai siti di incorporare contenuti da altri siti di terze parti con un semplice URL. È progettato principalmente per evitare la necessità di copiare e incollare HTML da altri siti. WordPress usa oEmbed per visualizzare i contenuti incorporati (come foto o video).

Basta inserire l’URL della risorsa nell’area dei contenuti e WordPress la trasformerà automaticamente in un embed e ne mostrerà un’anteprima dal vivo.

Inserimento di contenuti con un URL in WordPress
Inserimento di contenuti con un URL in WordPress

Nell’esempio sopra riportato, abbiamo incollato un link video di YouTube e WordPress lo ha convertito automaticamente in un video embed. Il protocollo oEmbed è la spina dorsale di WordPress per incorporare molti tipi di contenuti come video, immagini, aggiornamenti e altro da varie piattaforme di social media.

Anche se WordPress consente di incorporare iframe sanitizzati di qualsiasi fornitore registrato oEmbed, non li incorpora tutti per motivi di sicurezza. Incorpora solo gli URL di alcuni provider oEmbed per impostazione predefinita.

L’elenco dei fornitori di fiducia di oEmbed per WordPress comprende la maggior parte dei popolari siti di hosting di contenuti e social network come Imgur, Facebook, Instagram, Tumblr, YouTube, Vimeo e molti altri. Questi provider possono incorporare qualsiasi contenuto, come video, iframe, JavaScript e persino HTML random.

Gli Endpoint oEmbed di Facebook e Instagram (Legacy)

Gli endpoint oEmbed di Facebook e Instagram sono la spina dorsale per l’inserimento di contenuti Facebook e Instagram nei siti WordPress.

Un esempio di come WordPress incorpora i contenuti di Facebook
Un esempio di come WordPress incorpora i contenuti di Facebook

Gli endpoint oEmbed consentono di Facebook a WordPress di inserire non solo il contenuto principale, ma anche metadati come il nome della pagina e il logo, la data e l’ora, la miniatura, il numero di “mi piace”, i commenti, le condivisioni e l’URL alla fonte.

Un esempio di come WordPress incorpora i contenuti di Instagram
Un esempio di come WordPress incorpora i contenuti di Instagram

Lo stesso vale per l’integrazione dei contenuti di Instagram. È possibile vedere non solo l’immagine nell’embed, ma anche importanti informazioni sui metadati ad essa correlati.

I Nuovi Endpoint “oEmbed” di Facebook e Instagram

Facebook ha recentemente annunciato che i loro endpoint oEmbed esistenti saranno deprecati a partire dal 24 ottobre 2020. Ora chiamano questi vecchi endpoint come Legacy oEmbed endpoint.

Entro il 24 ottobre 2020, gli sviluppatori devono utilizzare un token utente, app o client quando interrogano l’API Graph per le immagini del profilo utente tramite UID, FB OEmbed e IG OEmbed. Gli sviluppatori devono fornire un token utente o app quando inviano query per le immagini del profilo tramite un UID o ASID, sebbene siano supportati anche i token client. Consulta il registro modifiche per Immagine dell’utente, Facebook OEmbed e Instagram OEmbed per i dettagli su come iniziare a chiamare questi endpoint dell’API Graph oggi stesso.
Facebook for Developers

Cosa Vi Serve per Sfruttare l’API di Facebook oEmbed

Andando contro la natura del web aperto dell’API oEmbed, la nuova API di Facebook oEmbed vi richiede, nell’ordine, di:

  • Avere un account su Facebook for Developers.
  • Avere una Facebook App registrata per generare un App ID univoco.
  • Abilitare oEmbed Product per la vostra App registrata.
  • Generare un App Access Token o un Client Access Token.
  • Impostare l’App Facebook in modalità Live.

In risposta a queste nuove esigenze, WordPress sta rimuovendo Facebook e Instagram come fonti affidabili di oEmbed.

Ci aspettiamo che la prossima major release di WordPress includa questi cambiamenti. Se state usando il plugin Gutenberg, l’ultima versione, la 9.0, ha già rimosso il supporto per loro.

Cosa Succede ai Vecchi Embed Facebook e Instagram?

WordPress memorizza le risposte oEmbed nel suo database sotto i post type post meta o gli oembed_cache nascosti (attualmente usato solo nei widget).

Dato che WordPress non elimina questi valori di default, il contenuto degli embed continuerà a esistere sul vostro sito web.

Saranno però eliminati se li cancellate manualmente dal database. Pertanto, tutti gli embed di Facebook o Instagram che avete aggiunto prima della scadenza del 24 ottobre rimarranno visibili anche dopo la data di deprecazione.

Come Incorporare i Contenuti Facebook e Instagram Dopo il 24 Ottobre

Se provate a incorporare i contenuti di Facebook o Instagram dopo la data di deprecamento degli endpoint oEmbed preesistenti, voi e i vostri utenti potreste ricevere degli errori HTTP 400 come risposta.

Per aiutarci a testare come i nuovi tentativi di incorporamento si presenteranno dopo la scadenza, Facebook ha aggiunto un parametro per gli endpoint oEmbed preesistenti per simulare l’errore. L’abbiamo testato e i risultati sono riportati di seguito.

Un embed simulato usando gli endpoint ereditati di Facebook oEmbed
Un embed simulato usando gli endpoint ereditati di Facebook oEmbed

Gli embed di riserva di Facebook appariranno sotto forma di piccoli riassunti (120 caratteri al massimo) all’interno delle virgolette. Includeranno anche link all’autore e alla fonte originale, ma nient’altro, nemmeno un riferimento a Facebook tranne che per i link, facendo clic sui quali si accede a Facebook.

Un embed simulato usando gli endpoint oEmbed preesistenti di Instagram
Un embed simulato usando gli endpoint oEmbed preesistenti di Instagram

In confronto, gli embed di riserva di Instagram sono molto migliori perché la struttura embed rimane praticamente intatta.

Detto questo, si tratta di una questione temporanea. Una volta che WordPress avrà rimosso gli endpoint oEmbed di Facebook e Instagram dal suo core, l’eredità degli endpoint oEmbed cesserà di essere un problema.

L’unico modo per incorporare i contenuti di Facebook e Instagram sarà quindi quello di soddisfare i requisiti di Facebook. Imparerete come farlo nella prossima sezione.

Come Risolvere il Problema degli oEmbed di Facebook e Instagram in WordPress

Il modo più semplice per ripristinare gli embed Facebook e Instagram in WordPress è quello di usare il plugin gratuito oEmbed Plus di Ayesh Karunaratne. Questo plugin vi aiuta a implementare i nuovi endpoint oEmbed di Facebook per riattivare gli embed di Facebook e Instagram nell’editor a blocchi.

Il plugin WordPress oEmbed Plus
Il plugin WordPress oEmbed Plus

Per iniziare, installate e attivate il plugin.

Nota: oEmbed Plus richiede PHP 7.3 o versioni superiori per funzionare. Se il vostro attuale host WordPress non supporta ancora le versioni di PHP superiori alla 7.3, vi consigliamo vivamente di cercare un nuovo hosting.

Successivamente, create un account su Facebook for Developers, se non ne avete già uno. Poi, create un’App. Nel nostro caso, chiameremo la nostra App “Sito WordPress”, ma potete chiamarla come preferite.

Creare un’app su Facebook per il portale Developers
Creare un’app su Facebook per il portale Developers

La creazione di un’App genererà automaticamente un App ID per essa.

Potete visualizzare sia l’App ID che l’App Secret andando nel pannello Settings → Basic sotto la bacheca dell’App. Appuntatevi questi due valori perché ne avrete bisogno in seguito.

Le 'App ID' e 'App Secret' su Facebook for Developers
Le ‘App ID’ e ‘App Secret’ su Facebook for Developers’.

Visto che siete qui, impostate anche l’URL dell’Informativa sulla privacy, che vi servirà per mandare l’App su Live. Vi raccomandiamo di usare un’ adeguata politica sulla privacy in modo che la vostra App non venga bloccata.

oEmbed Product è abilitato automaticamente per impostazione predefinita, per cui potete lasciarlo così com’è.

Successivamente, andate alla schermata Settings → Writing nella bacheca di WordPress e cercate la sezione Facebook and Instagram Embed Settings. Qui, inserite i valori di App ID e App Secret che avete annotato in precedenza.

Configurazione delle impostazioni del plugin oEmbed Plus
Configurazione delle impostazioni del plugin oEmbed Plus

In alternativa, potete aggiungere App ID e App Secret al file wp-config.php. Ecco lo snippet di codice da usare:

define('OEMBED_PLUS_FACEBOOK_APP_ID', '7168...app.id...789');  
define('OEMBED_PLUS_FACEBOOK_SECRET', '20e5...app.secret...890xyz');

Non dimenticate di cambiare i valori indicati sopra con i vostri! Una volta fatto, salvate il file.

Se modificate il file wp-config.php per configurare oEmbed Plus, questo disabiliterà automaticamente i campi del modulo App IDe App Secret nella bacheca di WordPress. In questo modo, potete mantenere le vostre credenziali App segrete agli altri utenti.

Ci siamo, è tutto qui!
Tutti i nuovi embed di Facebook e Instagram useranno ora la nuova API di autenticazione per incorporare contenuti nel vostro sito WordPress.

Altri plugin dedicati ai social media, come Instagram Feed e Social Post Feed, stanno aggiungendo il supporto per i nuovi endpoint oEmbed di Facebook. Tuttavia, questi plugin arrivano con molte altre caratteristiche incluse, quindi potrebbero aggiungere un peso inutile al vostro sito per questo specifico caso d’uso. Se però li state già usando, allora potete dar loro un’occhiata.

Per ora, Facebook è generoso con i limiti tariffari per la loro nuova API. Permettono di fare fino a 5 milioni di richieste al giorno. Poiché WordPress memorizza nella cache le risposte alle API di oEmbed nel database, un embed non farà scattare ulteriori richieste oltre alla prima. Per maggiori informazioni, potete fare riferimento alla documentazione aggiornata di Facebook sugli oEmbed.

Riepilogo

WordPress è il CMS più popolare oggi in uso. Allo stesso modo, Facebook e Instagram sono le piattaforme di social media più usate. Pertanto, questo cambiamento riguarda potenzialmente milioni di siti.

L’integrazione dei contenuti dei social media in WordPress offre un’esperienza più originale e autentica ai visitatori del vostro sito. A partire dal 24 ottobre 2020, molti utenti ignari della modifica avranno difficoltà a incorporare i contenuti di Facebook e Instagram. Ci auguriamo che questo articolo vi aiuti a correggere il problema degli oEmbed di Facebook in WordPress.

Se avete ancora problemi con Facebook e Instagram, fatecelo sapere nei commenti!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.