Generatore di incorporamento Facebook
Introduzione
Il Generatore di incorporamento Facebook di Toollect trasforma qualsiasi URL pubblico di post, video o Pagina Facebook nel codice ufficiale di incorporamento del SDK JavaScript che documenta Facebook – il div fb-post / fb-video / fb-page più il loader sdk.js – con un clic, con un'anteprima dal vivo resa dallo stesso SDK di Facebook prima di copiare.
L'attrito che elimina ti è familiare se hai mai incollato codice Facebook a mano. Il configuratore di Facebook nasconde il plugin Pagina, distribuisce le opzioni di post e video su pagine separate e alterna tra le forme iframe e SDK senza spiegare i compromessi. Scrivere il div a mano fallisce silenziosamente quando un attributo data- è scritto male e il post si renderizza come un semplice link. Questo strumento presenta Post, Video e plugin Pagina affiancati, espone ogni attributo documentato del plugin, scrive la tua scelta di lingua direttamente nell'URL del loader e mostra il render reale nello stesso browser che servirà i tuoi visitatori.
Ogni percorso di codice è solo SDK per progettazione. Il SDK è il formato che Facebook mantiene per tutti e tre i tipi di plugin, l'unico che supporta le lingue di visualizzazione e l'unico che può mantenere coerenti schede e dimensionamento del plugin Pagina. Il generatore include fb-root e il loader quando ti servono e li omette quando il tuo sito carica già il SDK, mantiene l'anteprima onesta su blocchi pubblicità e contenuti privati e non invia mai il tuo link tramite un server Toollect.
Casi d'uso
Incorporare contenuti Facebook compare in più posti di un post del blog, e le tre schede dividono il lavoro in modo naturale.
Blog e contenuti editoriali
Un post di commento che cita un post pubblico, un articolo di cultura che riutilizza un video virale, una recensione che incorpora la timeline di un brand come prova sociale – i casi classici. La modalità Post con la larghezza predefinita di 500 pixel copre la maggior parte delle colonne; la modalità Video mantiene il player in primo piano; il plugin Pagina mostra una timeline dal vivo senza screenshot.
Redazioni e copertura in diretta
I reporter portano dichiarazioni ufficiali e post di testimoni nella copertura continua. La velocità conta e conta anche la verifica – il generatore normalizza i link mobili di condivisione come m.facebook.com e gli URL carichi di tracking in un unico riferimento canonico, e l'anteprima conferma che il post si renderizza ancora prima di pubblicare l'articolo.
Siti di marketing e portfolio
Recensioni dei clienti come timeline Pagina incorporate, video di lancio come player nella pagina, post di annuncio come card. La selezione della lingua rende la cornice circostante nella lingua del visitatore e omettere il loader SDK mantiene le pagine che caricano già il SDK di Facebook libere da script duplicati.
Documentazione e siti community
Note di rilascio che citano un post di lancio, documentazione che fa riferimento a un annuncio di gruppo Facebook, pagine evento che mostrano la scheda Eventi di una Pagina. Mostra testo e caricamento Lazy permettono alle pagine pesanti di restare silenziose fino a quando non scorri vicino.
Come funziona
Lo strumento funziona in cinque passaggi:
- Analizza e classifica l'URL – l'input viene confrontato con la grammatica dei link Facebook – ID numerici di
5–20cifre o IDpfbid, nomi utente di2–50caratteri, schede che corrispondono a[a-z][a-z0-9_]*e i tre host ufficialifacebook.comcon qualsiasi sottodominio,fb.watchefb.me. Le chiavi di query di tracking vengono lette e poi ignorate per il routing – l'URL canonica ricostruita non le contiene mai. Le route senza ID comefacebook.com/watchsenzavofb.watchsenza codice breve vengono rifiutate. - Scegli il tipo di plugin –
post/photo/group-postvanno a Post,video/reela Video,pageal plugin Pagina. La barra delle schede segue il link – incollare un URL watch passa automaticamente a Video, incollare un URL Pagina al plugin Pagina – e cambiare scheda manualmente pulisce l'output obsoleto invece di rimbalzare. - Raccogli le tue opzioni – Lingua dal menu a tendina della scheda, larghezza e altezza dai campi numerici, checkbox Pagina per schede e cornice, interruttori video per schermo intero, autoplay e sottotitoli. Ogni modifica viene riportata nell'intervallo valido, riscritta nel campo e rigenera immediatamente.
- Costruisci il markup ufficiale – le tue opzioni diventano attributi
data-*sul divfb-*e, per il plugin Pagina, l'URL del loader porta la tua lingua comehttps://connect.facebook.net/{locale}/sdk.js#xfbml=1&version=v26.0. Nessun URL iframe viene costruito – il SDK consuma gli attributi del div al momento del parsing. - Renderizza l'anteprima – il generatore inietta il div più un
fb-rootnell'host di anteprima, carica o ricaricasdk.jsper la locale scelta, chiamaFB.XFBML.parsee osserva l'iframe risultante. Tre esiti vengono riportati onestamente – successo, blocco pubblicità o render che non può completarsi.
Cambiare qualsiasi opzione ricostruisce l'intera catena – nuovi attributi, nuovo riquadro codice, anteprima riparsata – così il codice che copi corrisponde sempre a ciò che stai guardando.
Formati URL supportati
Il generatore accetta ogni forma di URL che identifica un post, video o Pagina pubblici sui tre host ufficiali di Facebook e rifiuta tutto il resto con un messaggio specifico. Schema e www. sono opzionali; i sottodomini mobili vengono normalizzati.
Formati accettati
| Formato | Esempio | Scheda | Risultato |
|---|---|---|---|
| Post canonico | facebook.com/username/posts/1234567890123456 |
Post | fb-post per quel post |
| Post pfbid | facebook.com/nike/posts/pfbid0ABCDEF12345 |
Post | fb-post per quel post |
| Post di condivisione | facebook.com/share/p/Ab12CdEfGh/ |
Post | fb-post per quel post |
| Storia / permalink | facebook.com/story.php?story_fbid=123&id=456 / permalink.php?story_fbid=... |
Post | fb-post per quel post |
| Foto | facebook.com/username/photos/1234567890123456 / photo.php?fbid=... / photo/?fbid=... |
Post | fb-post per quella foto |
| Post di gruppo | facebook.com/groups/999888777666/posts/111222333444555 |
Post | fb-post per quel post di gruppo |
| Video canonico | facebook.com/username/videos/1234567890123456 |
Video | fb-video per quel video |
| Link Watch | facebook.com/watch/?v=10153231379946729 |
Video | fb-video per quel video |
| Reel | facebook.com/username/reels/Ab12CdEfGhIj / facebook.com/reel/Ab12Cd... |
Video | fb-video per quel reel |
| Pagina per nome utente | facebook.com/facebook |
Plugin Pagina | fb-page per quella Pagina |
| Pagina per ID | facebook.com/profile.php?id=100001234567890 |
Plugin Pagina | fb-page per quella Pagina |
| Vista scheda Pagina | facebook.com/facebook/videos |
Plugin Pagina | fb-page per quella Pagina – suffisso scheda ignorato |
| Dominio breve | fb.watch/AbC12dEfXy |
— | Rifiutato – i link brevi portano kind:"short" e richiedono l'URL completo |
| Dominio di reindirizzamento | fb.me/nike |
Plugin Pagina | fb-page per quella Pagina |
La barra finale, il frammento hash e la stringa di query dopo l'ID sono tollerati e scartati; i suffissi di vista come un segmento numerico di scheda dopo un nome utente sono trattati come vista scheda Pagina, non come risorsa separata.
Formati rifiutati
| Forma URL | Perché viene rifiutata |
|---|---|
fb.watch/AbC12dEfXy |
Link breve ufficiale – la destinazione non può essere risolta localmente e Facebook non documenta alcuna forma di incorporamento per codici brevi |
facebook.com/sharer/sharer.php?u=... / l.php / dialog / tr etc. |
Route riservate degli strumenti – login, condivisione, tracking – non sono contenuti incorporabili |
facebook.com/hashtag/something / search/top/?q=... |
Route di scoperta – nessun singolo post o Pagina |
example.com/facebook/nike o qualsiasi host non Facebook |
Non è un dominio Facebook |
| Testo che non è un URL | Nessun host da confrontare |
Il caso fb.watch merita enfasi perché il pulsante di condivisione dell'app produce ancora quella forma. Il generatore la rifiuta deliberatamente con il messaggio dedicato ai link brevi e ti chiede di aprire il link e copiare invece l'URL completo del post o del video. Incollare l'URL espanso riesce immediatamente.
Anatomia del codice di incorporamento
L'output è il codice che documenta Facebook, con le tue opzioni applicate. Un incorporamento Post con i valori predefiniti appare così:
<div class="fb-post" data-href="https://www.facebook.com/facebook/posts/10153231379946729" data-width="500"></div>
<div id="fb-root"></div>
<script async defer src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v26.0"></script>
Passando in rassegna le parti:
- La classe del div del plugin –
fb-post,fb-videoofb-pagedice al SDK quale plugin istanziare. Una classe per incorporamento. data-href– l'URL canonica della sezione precedente, con le e commerciali escapate. È l'unico attributo obbligatorio per tutti e tre i plugin.data-width(Post e Video) – la larghezza desiderata in pixel. Post accetta350–750con predefinito500in questo strumento, Video220–1920con predefinito500. Il SDK di Facebook dimensiona la card a questa larghezza quando possibile.data-show-text– presente quando Mostra testo del post è spuntato. Facebook lo documenta per post e video che contengono una foto; senza di esso il testo può restare nascosto.data-lazy– presente quando Caricamento lazy è spuntato. Rimanda il rendering fino a quando l'incorporamento non viene scrollato vicino.data-allowfullscreen/data-autoplay/data-show-captions(solo Video) –allowfullscreenabilita il pulsante schermo intero,autoplayavvia la riproduzione silenziata al caricamento della pagina su desktop,show-captionsmostra i sottotitoli per impostazione predefinita quando disponibili su desktop. Tutti e tre sono assenti quando disattivati.data-tabs/data-height/data-small-header/data-adapt-container-width/data-hide-cover/data-hide-cta/data-show-facepile(solo plugin Pagina) –tabselenca le schede visibili cometimeline,events,messagescon predefinitotimeline,heightcon predefinito500, i booleani mappano direttamente sugli interruttori di cornice del plugin.- Il loader –
fb-rootpiùsdk.js#xfbml=1&version=v26.0daconnect.facebook.net/{locale}/.en_USè un esempio – la tua scelta di lingua scrive il segmento locale. La checkboxInclude the fb-root div and sdk.js loaderrimuove l'intero blocco quando il tuo sito carica già il SDK.
Un plugin Pagina con impostazioni non predefinite mostra il set più completo di attributi:
<div class="fb-page" data-href="https://www.facebook.com/facebook" data-tabs="timeline,events" data-width="340" data-height="500" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-hide-cta="false" data-show-facepile="true"></div>
Opzioni di incorporamento
Ogni controllo corrisponde a un attributo. Valori predefiniti tra parentesi.
Lingua (predefinita la lingua del tuo sito Toollect – zh-hant diventa zh_TW, zh-hans zh_CN, en en_US e allo stesso modo per de, es, fr, it, ja, nl, pt, sv) – mostra 60 locali da en_US a af_ZA con nomi localizzati per lingua pagina di Toollect. Ogni selezione esplicita, incluso l'inglese, viene scritta nell'URL del loader. Il SDK localizza il contorno dell'incorporamento – timestamp, etichette del pulsante Mi piace – mai il testo del post stesso.
Larghezza (Post 500, Video 500, Pagina 340) – digitata come numero esatto, riportata nell'intervallo valido appena lasci il campo. Post 350–750, Video 220–1920, Pagina 180–500. I valori fuori intervallo saltano al limite più vicino – 5000 su Video diventa 1920.
Altezza (Pagina 500) – solo plugin Pagina, 70–2048. Post e video non portano attributo altezza – il SDK dimensiona le loro card dalla larghezza e dal contenuto.
Mostra testo del post con foto e video (disattivato) – scrive data-show-text="true" per Post e per Video aggiunge (solo desktop) nell'etichetta per corrispondere alla nota di Facebook che l'interruttore testo riguarda solo il rendering desktop.
Caricamento lazy fino a scroll vicino (disattivato, tutte le schede) – scrive data-lazy="true".
Consenti riproduzione a schermo intero (disattivato, Video) – scrive data-allowfullscreen="true".
Riproduzione automatica al caricamento della pagina (silenziata, solo desktop) (disattivato, Video) – scrive data-autoplay="true". Facebook lo documenta come autoplay silenziato solo su desktop.
Mostra sottotitoli per impostazione predefinita quando disponibili (solo desktop) (disattivato, Video) – scrive data-show-captions="true", solo desktop.
Schede da mostrare (Timeline, plugin Pagina) – tre checkbox timeline / events / messages unite come data-tabs="timeline,events,messages". Le schede deselezionate sono semplicemente assenti dalla lista.
Usa header piccolo / Adatta alla larghezza del contenitore / Nascondi foto di copertina / Nascondi call-to-action personalizzata / Mostra foto profilo degli amici (plugin Pagina) – ciascuno scrive il suo booleano data-*. Adatta è attivo per impostazione predefinita; facepile è attivo per impostazione predefinita.
Includi il div fb-root e il loader sdk.js (attivato) – controlla se il blocco loader viene aggiunto. I siti che caricano già sdk.js globalmente dovrebbero deselezionarlo.
Lingua e internazionalizzazione
Le FAQ sui post incorporati di Facebook e la guida all'internazionalizzazione del SDK JavaScript dicono entrambe la stessa cosa – la lingua di visualizzazione dei plugin social proviene dal segmento locale dell'URL sdk.js. Questo strumento lo rende visibile.
La tua selezione di lingua fluisce in due posti:
- Il codice generato –
https://connect.facebook.net/{locale}/sdk.js#xfbml=1&version=v26.0conlocalecomeen_US,zh_TW,fr_FRoja_JP. - L'anteprima dal vivo – cambiare il menu a tendina ricostruisce l'host di anteprima, rimuove qualsiasi script SDK caricato in precedenza che porta una locale diversa, elimina
window.FBe carica la nuova locale da zero prima di chiamareFB.XFBML.parse.
Il valore predefinito segue automaticamente la lingua del tuo sito Toollect – visitare toollect.com/zh-hant/tools/facebook-embed-generator/ preseleziona zh_TW, zh-hans preseleziona zh_CN, ja preseleziona ja_JP e le lingue europee mappano alla loro forma territoriale (de→de_DE, fr→fr_FR e così via), con fallback su en_US altrimenti. Non c'è opzione Automatico – Facebook richiede una locale esplicita, quindi lo strumento ne scrive sempre una.
Cosa cambia e cosa no:
| Aspetto | Segue la locale | Resta così come scritto |
|---|---|---|
| Formato timestamp | Sì | — |
| Etichette pulsanti Mi piace / Condividi | Sì | — |
| Testo del post, titolo video, nome Pagina | — | Sì |
| Commenti sul post | — | Sì |
Lingue di visualizzazione supportate
Facebook documenta circa cento locali per il SDK. Il menu a tendina offre le sessanta più usate, con nomi localizzati per lingua pagina di Toollect. Il set completo documentato include:
af_ZA Afrikaans · ar_AR Arabo · az_AZ Azero · bg_BG Bulgaro · bn_IN Bengalese · bs_BA Bosniaco · ca_ES Catalano · cs_CZ Ceco · da_DK Danese · de_DE Tedesco · el_GR Greco · en_GB Inglese (UK) · en_US Inglese (US) · es_ES Spagnolo (Spagna) · es_LA Spagnolo · et_EE Estone · eu_ES Basco · fa_IR Persiano · fi_FI Finlandese · fr_FR Francese · gl_ES Galiziano · gu_IN Gujarati · he_IL Ebraico · hi_IN Hindi · hr_HR Croato · hu_HU Ungherese · hy_AM Armeno · id_ID Indonesiano · is_IS Islandese · it_IT Italiano · ja_JP Giapponese · jv_ID Giavanese · ka_GE Georgiano · km_KH Khmer · kn_IN Kannada · ko_KR Coreano · lo_LA Lao · lt_LT Lituano · lv_LV Lettone · mk_MK Macedone · ml_IN Malayalam · mr_IN Marathi · ms_MY Malese · my_MM Birmano · nb_NO Norvegese · ne_NP Nepalese · nl_NL Olandese · pa_IN Punjabi · pl_PL Polacco · pt_BR Portoghese (Brasile) · pt_PT Portoghese (Portogallo) · ro_RO Rumeno · ru_RU Russo · si_LK Singalese · sk_SK Slovacco · sl_SI Sloveno · sq_AL Albanese · sr_RS Serbo · su_ID Sundanese · sv_SE Svedese · sw_KE Swahili · ta_IN Tamil · te_IN Telugu · th_TH Thai · tl_PH Filippino · tr_TR Turco · uk_UA Ucraino · ur_PK Urdu · vi_VN Vietnamita · zh_CN Cinese (semplificato) · zh_HK Cinese (Hong Kong) · zh_TW Cinese (tradizionale)
Qualsiasi locale oltre questo menu è valida nell'URL del loader con lo stesso pattern – https://connect.facebook.net/{locale}/sdk.js – ma le sessanta qui sopra coprono ogni lingua che Toollect stesso offre, quindi incollare il codice raramente richiede modifiche.
Utilizzo
- Incolla un URL Facebook nell'input – qualsiasi formato accettato dalle tabelle sopra, inclusi
m.facebook.come link brevifb.meche si risolvono in una Pagina. Schema ewww.sono opzionali. - Premi Genera o Invio. Il codice appare nel riquadro di output e l'anteprima si apre automaticamente, mostrando il render reale del SDK. La barra URL guida anche la scheda – un link watch passa a Video, un link Pagina al plugin Pagina.
- Scegli la scheda se serve – Post per post, foto e post di gruppo; Video per video e reel; plugin Pagina per Pagine. Cambiare rigenera con il set di opzioni di quella scheda, le schede non corrispondenti puliscono l'output obsoleto.
- Imposta la Lingua – il valore predefinito corrisponde già alla lingua del tuo sito, ma puoi scegliere qualsiasi delle sessanta locali. L'URL del loader generato e l'anteprima cambiano immediatamente.
- Regola le opzioni rimanenti – larghezza, altezza per Pagina, interruttori header e cover, caricamento lazy. Ogni modifica rigenera; riquadro codice e anteprima non divergono mai.
- Controlla la diagnostica dell'anteprima – se non appare alcuna card, l'avviso sopra l'output ti dice se il SDK è stato bloccato, il contenuto non può renderizzarsi o l'URL punta a una timeline personale invece che a una Pagina.
- Copia il codice e incollalo nella tua pagina dove l'incorporamento deve apparire. Se il tuo sito carica già
sdk.js, deseleziona l'inclusione del loader per evitare un duplicato.
Un input che non corrisponde a nessun formato supportato pulisce l'output e si spiega nell'area rossa di errore – o il messaggio di link non valido o il messaggio di link breve. Cancella reimposta input, codice e anteprima in un solo passaggio.
Tutorial
Segui un link reale attraverso tutte e tre le schede.
Passaggio 1 – Incolla un link post così come lo condivide l'app. Copia un URL post con parametri di tracking:
https://m.facebook.com/facebook/posts/pfbid0AbCdEfGhIjKlMnOpQrStUvWxYz1234567890?__tn__=K-R
Premi Genera. Il parser legge oltre il sottodominio m. e il tracking __tn__ fino a facebook, post pfbid0AbCdEfGhIjKlMnOpQrStUvWxYz1234567890, la scheda resta Post e il codice mostra data-width="500" con il loader en_US perché questo tutorial è sul sito inglese. L'anteprima si apre e la card si renderizza a 500 pixel.
Passaggio 2 – Cambia la Lingua. Passa la Lingua Post a cinese tradizionale zh_TW. Il loader diventa https://connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v26.0 e l'anteprima ricarica il SDK – il timestamp vicino al post passa alla sua forma cinese mentre il testo del post resta esattamente come scritto.
Passaggio 3 – Restringi. Digita 600 in Larghezza e lascia il campo. Il div guadagna data-width="600" e la card si restringe. Prova a digitare 9999 e uscire – il campo salta a 750, il massimo di Post.
Passaggio 4 – Passa a Video. Nell'input sostituisci l'URL post con un video:
https://www.facebook.com/facebook/videos/10153231379946729/
Premi Genera. Lo strumento passa a Video, il codice diventa <div class="fb-video" data-href="https://www.facebook.com/facebook/videos/10153231379946729" data-width="500"> e il menu Lingua mostra lo stesso predefinito en_US. Spunta Autoplay e Mostra sottotitoli – ciascuno scrive il suo data-* con la nota solo desktop mantenuta nell'etichetta.
Passaggio 5 – Plugin Pagina. Incolla https://www.facebook.com/facebook e premi Genera. La scheda plugin Pagina si apre con data-tabs="timeline" e il set completo di cornice. Spunta Eventi e Messaggi – l'attributo diventa data-tabs="timeline,events,messages". Cambia Larghezza a 500 e Altezza a 700 – entrambi gli attributi si aggiornano. L'anteprima mostra la timeline, la cover e il facepile della Pagina esattamente come il codice sul tuo sito.
Passaggio 6 – Copia e pubblica. Premi Copia e incolla in una pagina HTML semplice che carica già sdk.js – deseleziona il loader prima di copiare. Apri la pagina – il post, il video e la Pagina si renderizzano ciascuno alle larghezze che hai impostato, nelle lingue che hai scelto.
Anteprima e diagnostica
L'anteprima esegue il sdk.js autentico di Facebook contro il tuo div esatto da buildSdkCode, quindi fallisce esattamente dove fallirà la tua pagina. L'host mostra uno spinner mentre sdk.js si scarica e FB.XFBML.parse viene eseguito, poi appare uno dei quattro esiti:
| Stato | Cosa significa | Cosa fare |
|---|---|---|
| Card / video / timeline si renderizza | L'incorporamento è valido e pubblico | Copia e incolla – lo stesso render apparirà sul tuo sito |
| "Impossibile caricare il SDK Facebook — spesso un ad blocker" | Il browser non è riuscito a scaricare connect.facebook.net/{locale}/sdk.js affatto |
Metti connect.facebook.net nella lista bianca del blocco o prova una finestra privata pulita. L'incorporamento pubblicato fallirà allo stesso modo per i visitatori con quel blocco |
| "Facebook non ha renderizzato l'anteprima entro 15 secondi" | Il SDK si è caricato ma non ha prodotto alcun iframe | Il contenuto può essere non pubblico, con restrizione di età o paese, eliminato, o l'autore ha disabilitato l'incorporamento. Apri il link originale su facebook.com per controllare – se è visibile lì ma non qui, l'incorporamento è disattivato |
| "Questo URL potrebbe essere un profilo personale — il plugin Pagina funziona in modo affidabile solo con le Pagine Facebook" | Il SDK ha renderizzato un iframe rimasto a 0 o sotto i 70 pixel per diversi polling, o FB.Event ha segnalato un errore di render |
Il plugin Pagina è progettato per le Pagine – le timeline personali condividono le stesse forme di URL come /username e profile.php?id=..., quindi un controllo statico classificherebbe male Pagine reali. Prova una Pagina nota come facebook.com/facebook – se si renderizza, l'avviso segnala correttamente un URL personale |
Entrambi gli avvisi temporizzati scattano solo dopo attese generose – venti secondi per il download del SDK, quindici in più per il render – così le connessioni lente non attivano falsi allarmi. Un post incorporabile si renderizza ampiamente dentro quelle finestre e un plugin Pagina di profilo personale mostra l'avviso giallo entro circa tre secondi dopo che l'iframe resta a dimensione zero.
Un dettaglio utile da sapere: il generatore traccia loadedLocale. Cambiare Lingua dopo un render riuscito rimuove il precedente tag script sdk.js, pulisce window.FB e carica la nuova locale da zero prima del parsing. Le card precedentemente renderizzate della locale precedente vengono eliminate dall'host di anteprima prima del nuovo parsing, così l'anteprima corrisponde sempre all'URL del loader che copierai.
Consigli utili
- Abbinalo al Parser URL Facebook. Il parser analizza e pulisce un link – tipo, nome utente, ID, chiavi di tracking rimosse – mentre questo generatore trasforma il link pulito in codice. Archivia con il parser, pubblica con il generatore.
- Un loader, molti incorporamenti. Le pagine con più incorporamenti Facebook dovrebbero caricare
sdk.jsuna volta sola – genera il primo incorporamento con il loader spuntato, gli altri deselezionati, o carica il SDK tu stesso nel template del sito e omettilo ovunque. Il divfb-rootserve anche una sola volta per pagina. - Progetta per la colonna, poi imposta la larghezza. Le card Facebook hanno un limite visivo intorno alle larghezze nella tabella opzioni; l'anteprima mostra il risultato reale alla dimensione del tuo contenitore prima di confermare. Digita un valore esatto in pixel –
567è valido – e il clamp lo correggerà solo se esce dall'intervallo documentato. - Usa la modalità Video per i post incentrati sul clip. Un video incorporato tramite il plugin Post si renderizza come card statica – tramite
fb-videosi renderizza come player con i controlli autoplay e sottotitoli che documenta il plugin. - Fissa la lingua esplicitamente. Lasciare la cornice in balia del
<html lang>della pagina host rende l'output dipendente da dove viene incollato. Ogni selezione esplicita,en_USincluso, scrive la locale nel codice e riproduce le stesse etichette indipendentemente dall'host. - Caricamento lazy nelle pagine pesanti. Un articolo con tre timeline plugin Pagina beneficia direttamente di
data-lazy– il SDK rimanda il parsing fino a quando l'incorporamento non viene scrollato vicino. - Mantieni minime le schede del plugin Pagina. Ogni scheda extra aggiunge altezza e costo di rete – solo
timelineè il render iniziale più veloce; aggiungieventsemessagessolo quando la pagina li usa davvero.
Alternative
In quale altro modo puoi portare contenuti Facebook in una pagina?
| Metodo | Markup ufficiale | Copertura opzioni | Anteprima dal vivo | Dipendenze |
|---|---|---|---|---|
| Questo strumento | Sì – div SDK con data-* documentato |
Set completo con 60 lingue, schede Pagina e controlli player | Sì, con diagnostica a tre stati | Nessuna – browser verso Facebook diretto |
Configuratore plugin Pagina Facebook (developers.facebook.com) |
Sì – stesso div SDK | Solo Pagina, nessuna unione Post/Video, guida larghezza limitata | Solo nel configuratore | Account Facebook |
Div fb-* scritto a mano + sdk.js |
Forma corretta se fatto con cura | Qualsiasi cosa tu scriva – facile sbagliare | No | sdk.js |
URL iframe autonomo plugins/post.php |
Forma iframe legacy | Sottoinsieme – nessuna lingua, nessun lazy, nessuna scheda Pagina come data- |
No | Nessuna |
API Graph Facebook (/{id}?fields=... + renderer personalizzato) |
No – solo JSON | Totale, costruito da te | Costruiscilo tu | App, token, revisione |
| Servizi di incorporamento di terze parti | Il loro markup wrapper | Variabile | A volte | Il loro script e tracking |
Il configuratore proprio di Facebook è l'alternativa più vicina e la fonte dello stesso vocabolario data-* – ma separa Post, Video e Pagina in pagine diverse, non offre alcun avviso personale vs Pagina e non produce mai un'unione Post/Video/Pagina con la lista completa di lingue dello strumento. La rotta API Graph compra controllo totale al prezzo di un'app, un token e una revisione continua e ti lascia comunque il rendering. I servizi di terze parti interpongono i loro script. Il generatore occupa la via di mezzo pratica – markup ufficiale, opzioni complete, conferma visiva immediata.
Confronto con le API ufficiali
Due superfici ufficiali toccano l'incorporamento Facebook e il generatore è costruito direttamente su quella più amichevole e senza chiave.
| Capacità | Social Plugins + JavaScript SDK | Graph API |
|---|---|---|
| Scopo | URL → incorporamento renderizzato, lato client | Dati completi della piattaforma e pubblicazione |
| Autenticazione | Nessuna | Token utente o app, spesso con revisione |
| Costo | Gratis | Gratis per letture di base, con limite di frequenza, revisione per permessi estesi |
| Restituisce codice pronto da incollare | Sì – il div fb-* più il loader sdk.js |
No – JSON che renderizzi tu |
| Controllo lingua | Sì – segmento locale sdk.js |
Irrilevante – tu renderizzi la vista |
| Limiti di frequenza | Nessuno documentato per SDK/plugin | Limiti Graph documentati |
Il generatore non chiama alcun endpoint Graph. Costruisce il markup Social Plugin per regola, rispecchiando ciò che emetterebbe il configuratore, e si appoggia allo stesso FB.XFBML.parse del SDK per il rendering. L'API Graph non interviene – recuperare dati post tramite essa richiederebbe un token e ti lascerebbe comunque il rendering, mentre il SDK renderizza già la card ufficiale gratis.
Generatore vs parser URL
Toollect offre due strumenti Facebook che accettano gli stessi link e la divisione del lavoro merita uno sguardo:
| Domanda | Parser URL | Questo generatore |
|---|---|---|
| Quali tipi di link? | Tutti gli host e tipi Facebook – post, video, reel, foto, post di gruppo, pagine, più link brevi fb.watch/fb.me e liste di parametri di tracking |
Post, video e Pagine pubblici che possono essere incorporati |
| Cosa produce? | URL canoniche pulite, URL di incorporamento e di condivisione, lista parametri rimossi | Codice di incorporamento SDK pronto da incollare |
| Pulisce i parametri di tracking? | Sì – elenca ogni chiave rimossa come __tn__ e famiglie utm_* |
Non necessario – l'output è codice appena generato |
Risolve fb.watch? |
Sì – conserva la canonica breve e la segnala come kind:"short" con errore dedicato |
No – chiede l'URL completo di post o video |
| Richieste di rete? | Zero – tutto è regex locale | L'anteprima carica sdk.js da connect.facebook.net e l'iframe renderizzato da Facebook |
| Mostra il contenuto del post? | Solo struttura – nessun dato post | L'anteprima mostra il post, video o Pagina reali renderizzati |
Il parser è l'analista; il generatore è il costruttore. Un flusso di pubblicazione usa legittimamente entrambi in ordine – analizza per identificare e normalizzare a cosa punta un link di condivisione disordinato, poi genera per metterlo nella pagina. Concordano sulla grammatica per costruzione, quindi un link che il parser accetta come post o video incorporabile è un link che questo generatore incorpora e un link che questo generatore rifiuta è spiegato dal parser.
Cosa non fa
I limiti, nominati perché lo strumento non venga mai sopravvalutato:
- Non incorpora link brevi
fb.watchdirettamente. Un link breve non porta alcuna destinazione finché Facebook non reindirizza. Incolla invece l'URL espanso del post o del video. - Non distingue in modo affidabile una Pagina da un profilo personale solo dall'URL. Entrambi condividono
facebook.com/{username}eprofile.php?id=.... Una allowlist statica bloccherebbe Pagine reali o lascerebbe passare profili personali – entrambi i casi accadono – quindi lo strumento genera il codice per qualsiasi URL a forma di Pagina e mostra un avviso giallo in anteprima solo quando il SDK renderizza un iframe nullo o minuscolo o segnala un errore di render. - Non aggira privacy o restrizione. Post privati, post di gruppo che il visualizzatore non può vedere, Pagine con restrizione di età o paese e autori che hanno disabilitato l'incorporamento producono codice corretto che non renderizza nulla o una vista limitata dove persino il configuratore proprio di Facebook non mostrerebbe nulla.
- Non recupera né verifica il contenuto del post prima del rendering. La validazione è grammaticale – se il contenuto esiste ed è incorporabile lo risponde solo il SDK quando analizza il div.
- Non stilizza la card. Colori, font e cornice dentro il plugin renderizzato sono di Facebook. Solo presenza e dimensione – mostra testo, cover, facepile, lazy e larghezza/altezza numeriche – sono tue.
- Non installa il codice. Ciò che copi è ciò che incolli; lo strumento non può arrivare al tuo CMS o page builder.
Risoluzione dei problemi
| Problema | Causa | Soluzione |
|---|---|---|
| "Nessun link Facebook incorporabile trovato" | Host non Facebook o route riservata come sharer.php / hashtag |
Usa un URL post, video o Pagina su facebook.com, fb.watch o fb.me |
| "I link brevi fb.watch non possono essere incorporati direttamente" | Link breve ufficiale – destinazione non risolvibile localmente | Apri il link e copia l'URL completo di post o video |
| Giallo "Questo URL potrebbe essere un profilo personale" con URL dall'aspetto Pagina | Il SDK ha renderizzato un iframe vuoto o minuscolo o ha segnalato un errore di render – le stesse forme di URL servono sia Pagine sia timeline | Prova una Pagina nota come facebook.com/facebook – se si renderizza, l'avviso segnala correttamente un URL personale. Per una Pagina reale che avvisa ancora, la Pagina potrebbe essere ristretta o non pubblicata |
| "Impossibile caricare il SDK Facebook" | Ad blocker, protezione tracking o blocco di rete su connect.facebook.net |
Metti connect.facebook.net nella lista bianca per questa pagina e per i tuoi visitatori prova di nuovo in una finestra privata |
| "Facebook non ha renderizzato l'anteprima entro 15 secondi" | Contenuto non pubblico o ristretto, o indisponibilità temporanea di Facebook | Apri il link originale su facebook.com – se richiede login o mostra un interstitial di restrizione, l'incorporamento si comporterà allo stesso modo sul tuo sito |
| La larghezza digitata è saltata a 500 / 1920 | Valore fuori intervallo riportato al blur | Intenzionale – lo strumento rispecchia gli intervalli documentati di Facebook; digita entro l'intervallo mostrato in Opzioni di incorporamento |
| Funziona in anteprima, vuoto sul mio sito | CSP del sito blocca domini Facebook o il CMS ha rimosso il div | Aggiungi https://connect.facebook.net a script-src e https://www.facebook.com / https://*.facebook.com / https://*.fbcdn.net a frame-src; incolla in HTML grezzo, non in un editor visuale |
| Hai cambiato la lingua ma il testo del post è rimasto straniero | Per progettazione – la locale localizza la cornice del widget, mai il contenuto | Atteso – il post viene mostrato così come scritto |
[Violation] Permissions policy violation: unload nella console |
Rumore console perché il SDK di Facebook registra un handler unload che la policy dei permessi della pagina blocca |
Innocuo – né l'anteprima né il codice generato sono influenzati |
Privacy e gestione dei dati
Questo strumento è onesto sul suo traffico.
- La generazione stessa è locale. Analizzare l'URL, mapparlo su una scheda e assemblare il div
fb-*avviene nel tuo browser con operazioni su stringhe JavaScript. Nessun server Toollect vede il link che incolli. - L'anteprima carica la macchina di Facebook. Renderizzare la card recupera
sdk.jsdaconnect.facebook.netnella locale che hai scelto, chiamaFB.initeFB.XFBML.parsee l'iframe renderizzato proviene dafacebook.comefbcdn.net– precisamente il traffico che il codice che copi produrrà nei browser dei tuoi lettori. - La selezione della lingua è integrata nel codice. Scegliere
ja_JPscrive quella locale nell'URL del loader che incolli; i browser dei tuoi visitatori recupereranno il SDK di quella locale. Nessuna preferenza viene memorizzata da Toollect. - Nessun account, nessun salvataggio, nessuna analytics. Lo strumento non mantiene stato tra le visite oltre l'host di anteprima in memoria; chiudere la scheda termina tutto.
- Pubblicare il codice significa che i tuoi visitatori parlano con Facebook. Questa è la natura dell'incorporare contenuti social di terze parti – vale la pena dirlo chiaramente. Se ti serve un flusso Facebook strettamente offline, il Parser URL Facebook di questo sito svolge l'intero lavoro con zero richieste di rete.
Specifiche tecniche
Dettagli:
- Output – div SDK
fb-post/fb-video/fb-pagecon attributidata-*documentati piùfb-rootesdk.js#xfbml=1&version=v26.0dahttps://connect.facebook.net/{locale}/sdk.js;Include the fb-root div and sdk.js loaderrimuove il blocco loader quando disattivato - Grammatica input – host
facebook.comcon qualsiasi sottodominio,fb.watch,fb.me; nome utente2–50caratteri[A-Za-z0-9.]; schede[a-z][a-z0-9_]*con secondi segmenti numerici rifiutati; ID5–20cifre opfbid[1,200]; codici brevi5–40alfanum; lista riservata 43 voci;profile.php?id=e/usernameentrambi instradano a Pagina in attesa di verifica al momento del render - URL canoniche di output –
https://www.facebook.com/{username}oprofile.php?id=per Pagine,.../posts/{id}/share/p/{id}//story.php?story_fbid=...per post,.../videos/{id}owatch/?v=per video,.../reels/{id}/reel/{id}per reel,.../photo/?fbid=per foto,.../groups/{gid}/posts/{id}per post di gruppo - Dimensioni – Post
350–750predefinito500, Video220–1920predefinito500, Paginalarghezza 180–500predefinito340piùaltezza 70–2048predefinito500;data-width/data-heightscritti direttamente, nessun dimensionamento iframe coinvolto - Lingue – qualsiasi dei 60
fbeLangCodesselezionabile;fbeLangDefaultsegue la lingua pagina Toollect –zh-hant→zh_TW,zh-hans→zh_CN,en→en_US,de→de_DE,es→es_ES,fr→fr_FR,it→it_IT,ja→ja_JP,nl→nl_NL,pt→pt_BR,sv→sv_SE; locale scritta nell'URL del loader e onorata dal reload SDK anteprima tramite tracciamentoloadedLocale - Ciclo di vita anteprima –
renderPreviewiniettafb-root+ divfb-*,loadSdkJs(locale, cb)gestiscesdk.jscachato con reload sensibile alla locale (rimuove vecchio script ewindow.FBal cambio),FB.XFBML.parseinvocato sull'host,startWatchersonda l'iframe ogni 500 ms fino a 30 tentativi (15 s) e fino a 6 tentativi di0×0persistente (~3 s) prima dell'avviso profilo personale,setPreviewLoadingunificato su quattro punti di uscita, linkfbe-fallbackpunta alastCanonicalsu qualsiasi diagnostica - Supporto browser – tutti i browser moderni con API appunti e supporto script
async/defer; il rendering SDK richiede esecuzione script di terze parti e raggiungibilità diconnect.facebook.net
Caratteristiche
- Genera con un clic il codice ufficiale del SDK JavaScript di Facebook per post, video e plugin Pagina
- Anteprima dal vivo resa dallo stesso sdk.js di Facebook prima di copiare – con diagnostica di errore e timeout del SDK
- Scegli tra 60 lingue di visualizzazione – la tua scelta viene scritta nell'URL del loader sdk.js per i tuoi visitatori
- Perfeziona ogni opzione ufficiale del plugin – larghezza, schede Pagina, cover, header, facepile e lazy loading
- Output solo SDK che funziona su qualsiasi sito – fb-root e loader opzionali inclusi o omessi su richiesta
- Gratis e nel browser – nessuna chiave API, nessun account, nessun proxy server di Toollect