Generatore di tag Twitter Card per anteprime social
Scriva un titolo come Build & Ship e ottenga i tag Twitter Card pronti da incollare nella sezione head della sua pagina, con la e commerciale scritta come &. Scelga la scheda riepilogo compatta o quella con immagine grande; i tag facoltativi vuoti vengono omessi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Crei un set completo di meta tag Twitter Card senza dover ricordare i nomi delle proprietà né preoccuparsi dei caratteri non sicuri negli attributi HTML. Scelga un tipo di scheda supportato, inserisca il titolo dell’anteprima e, se desidera, aggiunga una descrizione e un URL assoluto per l’immagine. Il generatore restituisce sia record strutturati sia un blocco HTML pronto da incollare. Funziona in modo deterministico e senza richieste di rete: lo stesso input produce sempre lo stesso codice e i Suoi dati non vengono inviati a servizi di anteprima esterni.
Scelga il formato più adatto all’anteprima
Parta dall’aspetto visivo che desidera ottenere quando viene condiviso un link. La scheda summary è l’opzione compatta: è indicata per articoli, documentazione, pagine di prodotto e altri link in cui titolo e descrizione devono restare in primo piano, mentre l’immagine svolge il ruolo di miniatura di supporto. Il generatore supporta intenzionalmente questi due formati generici perché possono essere descritti interamente mediante tipo, titolo, descrizione e immagine.
Gli altri tipi di Twitter Card richiedono campi aggiuntivi che non rientrano in questo contratto. Se Lei invia un tipo non supportato, la capacità restituisce un errore di input tipizzato anziché produrre silenziosamente un codice incompleto. In questo modo un refuso o una scelta incompatibile non passa come un set di tag plausibile ma incapace di rappresentare la scheda desiderata.
Fornisca contenuti sicuri per il codice HTML
Il titolo è obbligatorio e deve contenere testo diverso dai soli spazi. Descrizione e immagine sono facoltative: quando Lei non le fornisce, i relativi tag vengono omessi e l’output non riempie mai i campi mancanti con tag vuoti o valori nulli. I percorsi relativi possono funzionare nel Suo sito, ma i crawler social hanno bisogno di un indirizzo richiedibile in modo autonomo; per questo il generatore li rifiuta.
Il testo viene sottoposto a escape per l’uso in un attributo HTML racchiuso tra virgolette doppie. E commerciali, virgolette, parentesi angolari e apostrofi diventano riferimenti di carattere, conservando il testo visibile senza consentirgli di interrompere l’attributo. I record strutturati mantengono valori normalizzati e leggibili, mentre il blocco HTML contiene la rappresentazione con escape destinata al markup.
Questa distinzione è utile quando un’applicazione deve esaminare o archiviare i metadati separatamente dal frammento inserito nell’intestazione.
Installi e verifichi i tag generati
Copi le righe HTML restituite nell’elemento head della pagina da condividere. Dopo la pubblicazione, controlli il sorgente della pagina tramite un URL pubblico per confermare che il server emetta davvero i tag nell’HTML iniziale. Il codice lato client che aggiunge i metadati soltanto dopo il caricamento può risultare invisibile ai crawler; inoltre, un’immagine privata o protetta non può essere recuperata anche se il suo URL è sintatticamente valido.
Il generatore convalida i metadati forniti, ma non contatta il Suo sito, non scarica l’immagine, non ne misura le dimensioni e non prevede come una piattaforma social ritaglierà l’anteprima. Anche la cache dipende dalla piattaforma che visita la pagina, quindi una vecchia anteprima può rimanere visibile dopo un aggiornamento.
Casi d'uso
Aggiungere tag social a un sito statico
Generi record e HTML prevedibili per ogni pagina senza chiamare servizi di rete né mantenere un modello di tag.
Individuare tipi di scheda non supportati
Rifiuti tipi incompatibili o scritti male prima che metadati incompleti raggiungano la produzione.
Domande frequenti
Che cosa accade se manca la descrizione?
Il tag twitter:description viene omesso completamente. L’output non crea tag vuoti né campi nulli.
Le virgolette e le e commerciali vengono protette?
Sì. I caratteri che possono interrompere un attributo sono codificati nell’HTML, mentre i record mantengono valori leggibili.
Lo strumento verifica l’aspetto della scheda pubblicata?
No. Genera e convalida localmente i metadati forniti; non visita la pagina, non esamina l’immagine e non contatta servizi social.
Quale tipo di scheda conviene scegliere?
Scelga il riepilogo quando titolo e descrizione devono prevalere e l'immagine è solo una miniatura, come per articoli, documentazione o schede prodotto. Scelga il riepilogo con immagine grande quando la grafica conta, come per servizi editoriali, lanci, portfolio o ricette.
Perché l'indirizzo dell'immagine viene rifiutato?
L'immagine deve avere un indirizzo web completo che inizi con http:// o https://. Un percorso relativo come /images/social-card.jpg può funzionare nel suo sito, ma i crawler dei social hanno bisogno di un indirizzo da scaricare da soli.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/web/twitter-card-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"card_type":"summary_large_image","title":"A Practical Guide to Accessible Forms"}'const res = await fetch("https://api.kit.forhosting.com/web/twitter-card-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"card_type": "summary_large_image",
"title": "A Practical Guide to Accessible Forms"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/twitter-card-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"card_type": "summary_large_image",
"title": "A Practical Guide to Accessible Forms"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/twitter-card-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"card_type":"summary_large_image","title":"A Practical Guide to Accessible Forms"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"card_type":"summary_large_image","title":"A Practical Guide to Accessible Forms"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/twitter-card-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"card_type": "summary_large_image",
"title": "A Practical Guide to Accessible Forms"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.twitter_card_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
timeout_sec | 30 |
max_crawl_pages | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Scelga il formato più adatto all’anteprima
La scheda summary_large_image attribuisce molto più spazio all’immagine ed è adatta a servizi editoriali, lanci, portfolio, ricette e pagine in cui la grafica offre un contesto utile.
Fornisca contenuti sicuri per il codice HTML
Se presente, l’immagine deve usare un URL assoluto HTTP o HTTPS.
Installi e verifichi i tag generati
Mantenga un tag twitter:card e uno twitter:title, seguiti da twitter:description e twitter:image quando sono presenti i rispettivi valori facoltativi. Per la pubblicazione automatizzata, l’API costa $0.002 per richiesta; la versione browser usa la stessa logica deterministica.
Casi di integrazione
Preparare i metadati di un nuovo articolo
Trasformi titolo, sintesi e URL dell’immagine principale in un blocco summary_large_image pronto da incollare.
Domande tecniche
Quali tipi di Twitter Card sono supportati?
Il generatore supporta summary e summary_large_image. Qualsiasi altro tipo restituisce un errore invalid_input.
L’immagine è obbligatoria?
No. Se image manca, twitter:image viene omesso. Se presente, deve essere un URL assoluto HTTP o HTTPS.
Quanto costa la generazione tramite API?
Ogni richiesta API costa $0.002. La versione browser viene eseguita localmente con lo stesso algoritmo deterministico.