Lo schema markup è il modo in cui dici a Google e agli LLM cosa significa il contenuto della tua pagina. Senza schema, l’algoritmo deve indovinare. Con schema, sa esattamente che sei un ristorante, un articolo, un prodotto. Ti mostro come aggiungerlo a WordPress senza installare un plugin extra che rallenta il sito. Tre metodi, scegli quello che ti torna comodo.
Perché vale la pena nel 2026
Lo schema markup nel 2026 ha tre effetti misurabili:
- Rich results in SERP (stelle, prezzi, FAQ espanse): aumentano CTR del 20-40%
- Citazioni in AI Overviews: Google preferisce siti con dati strutturati chiari
- Knowledge Panel popolato: quando qualcuno cerca il tuo brand vede pannello laterale ricco
Senza schema oggi non è impossibile fare SEO, ma è in salita. Aggiungerlo è una delle attività con miglior rapporto effort-resa nel SEO tecnico.
Perché farlo senza plugin
Tre motivi pratici:
- Performance: ogni plugin SEO (Yoast, Rank Math) aggiunge 20-40 KB di JS e CSS. Sommati con altri plugin il sito rallenta.
- Controllo totale: lo schema custom è esatto come lo vuoi tu. Plugin spesso aggiungono campi vaghi o errati.
- Costi a zero: i piani premium di plugin per schema avanzato costano 80-200€/anno.
Lo svantaggio: setup tecnico di base. Richiede 30-60 minuti la prima volta. Dopo è copia-incolla.
Metodo 1: JSON-LD via functions.php (più pulito)
Apri il file functions.php del tuo tema child (mai modificare il tema principale). Aggiungi questo snippet che inietta schema Article su ogni post del blog:
function rblog_add_article_schema() {
if (!is_single()) return;
$post = get_post();
$author = get_the_author_meta('display_name', $post->post_author);
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => get_the_title(),
'datePublished' => get_the_date('c'),
'dateModified' => get_the_modified_date('c'),
'author' => array(
'@type' => 'Person',
'name' => $author,
),
'publisher' => array(
'@type' => 'Organization',
'name' => get_bloginfo('name'),
'logo' => array(
'@type' => 'ImageObject',
'url' => get_site_icon_url(),
),
),
'mainEntityOfPage' => get_permalink(),
'image' => get_the_post_thumbnail_url($post, 'large'),
);
echo '<script type="application/ld+json">' .
wp_json_encode($schema, JSON_UNESCAPED_SLASHES) .
'</script>';
}
add_action('wp_head', 'rblog_add_article_schema');
Salvi il file. Apri un post in modalità incognito, fai “View Source” e cerchi application/ld+json. Vedi il blocco JSON. Funziona.
Metodo 2: schema FAQ via shortcode
Per aggiungere schema FAQ a un articolo specifico, crea uno shortcode che inserisci nell’editor. Dentro functions.php:
function rblog_faq_schema_shortcode($atts, $content = null) {
// Usa formato: [faq_schema]Q: domanda|A: risposta||Q: ...|A: ...[/faq_schema]
$pairs = explode('||', $content);
$faq_items = array();
foreach ($pairs as $pair) {
if (strpos($pair, '|A:') === false) continue;
list($q, $a) = explode('|A:', $pair, 2);
$q = trim(str_replace('Q:', '', $q));
$a = trim($a);
$faq_items[] = array(
'@type' => 'Question',
'name' => $q,
'acceptedAnswer' => array(
'@type' => 'Answer',
'text' => $a,
),
);
}
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'FAQPage',
'mainEntity' => $faq_items,
);
return '<script type="application/ld+json">' .
wp_json_encode($schema, JSON_UNESCAPED_SLASHES) .
'</script>';
}
add_shortcode('faq_schema', 'rblog_faq_schema_shortcode');
Usa nel post così:
[faq_schema]
Q: Schema markup serve davvero nel 2026?|A: Sì, soprattutto per AI Overviews e rich results.||
Q: Quanto tempo per vedere risultati?|A: 2-4 settimane dalla pubblicazione del primo schema FAQ.
[/faq_schema]
Genera JSON-LD valido. Per la strategia AI Overviews vedi la guida AI Overviews.
Metodo 3: schema LocalBusiness via inject in header
Se hai un’attività locale (ristorante, hotel, professionista), aggiungi schema LocalBusiness nella <head> solo della homepage. Sempre in functions.php:
function rblog_local_business_schema() {
if (!is_front_page()) return;
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'Restaurant', // o Hotel, Dentist, ecc.
'name' => 'Trattoria del Borgo',
'image' => 'https://example.it/foto-locale.jpg',
'address' => array(
'@type' => 'PostalAddress',
'streetAddress' => 'Via Roma 12',
'addressLocality' => 'Milano',
'postalCode' => '20121',
'addressCountry' => 'IT',
),
'telephone' => '+39 02 1234567',
'priceRange' => '€€',
'openingHoursSpecification' => array(
array(
'@type' => 'OpeningHoursSpecification',
'dayOfWeek' => array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'),
'opens' => '12:00',
'closes' => '23:00',
),
),
'aggregateRating' => array(
'@type' => 'AggregateRating',
'ratingValue' => '4.6',
'reviewCount' => '248',
),
);
echo '<script type="application/ld+json">' .
wp_json_encode($schema, JSON_UNESCAPED_SLASHES) .
'</script>';
}
add_action('wp_head', 'rblog_local_business_schema');
I dati strutturati LocalBusiness sono essenziali nel local pack Google. Per il setup completo NAP vedi la guida NAP per SEO local.
Come validare il tuo schema
Google ha due tool gratuiti:
- Rich Results Test: https://search.google.com/test/rich-results — incolli URL o codice, vedi se Google riconosce schema
- Schema Markup Validator: https://validator.schema.org — più tecnico, mostra errori sintattici
Test obbligatorio dopo ogni modifica. 5 minuti.
Errori comuni che vedo nelle PMI
1. Schema con dati inventati. Aggregate rating “4.9 su 500 reviews” se non hai realmente quelle recensioni: penalizzazione Google immediata se scoperto. Mai inventare.
2. Schema duplicato da plugin + manual. Se hai Yoast attivo, controlla le sue impostazioni schema prima di aggiungere manualmente. Duplicazione = errore di parsing.
3. JSON malformato. Una virgola di troppo, un’apostrofa al posto di virgolette: Google ignora completamente lo schema. Usa il validator sempre.
4. Schema invisibile a Googlebot. Lo schema messo in JavaScript caricato dopo il DOMReady non viene letto. Deve essere server-side rendered, dentro <script type="application/ld+json"> direttamente nel HTML.
5. Aggiornamenti tema che azzerano custom. Modificare functions.php del tema parent significa perdere tutto al prossimo update. Usa sempre un child theme o un plugin custom.
Quale schema per il tuo tipo di sito
- Blog/Magazine: Article schema per ogni post + FAQPage dove appropriato
- E-commerce: Product schema per ogni prodotto + AggregateRating + Offer + BreadcrumbList
- Sito aziendale B2B: Organization schema in homepage + Service per pagine servizi
- Attività locale: LocalBusiness specifico (Restaurant, Hotel, Dentist, ecc.) in homepage
- Portfolio freelance: Person schema in /about + CreativeWork per progetti notevoli
Il tipo di schema giusto cambia tutto. Schema Article su pagina e-commerce è errato.
FAQ schema markup WordPress
Quanto schema posso aggiungere a una pagina?
Tecnicamente illimitato, ma in pratica 2-4 blocchi di schema diverso per pagina (es. Article + FAQ + BreadcrumbList) è il sweet spot. Sopra rischi che Google ignori tutto.
Devo aggiornare lo schema quando aggiorno l’articolo?
Sì, con datePublished e dateModified separati. WordPress lo fa automaticamente se usi get_the_modified_date('c') come nello snippet sopra.
Schema rallenta il sito?
No. Il JSON-LD è leggero (1-5 KB) e non blocca il rendering. Anzi spesso ottimizza l’efficienza del crawl Googlebot, accelerando indicizzazione.
Cosa fare se Rich Results Test mostra errore?
Leggi l’errore specifico (di solito chiaro): campo richiesto mancante, valore non valido, struttura JSON malformata. Correggi e ri-testa. Per errori complessi, copia lo snippet su un forum SEO o ChatGPT.
Lo schema funziona anche con tema personalizzato?
Sì, lo schema è indipendente dal tema. Va in functions.php del child theme o in un plugin custom. Cambiare tema non rompe lo schema se è correttamente caricato.
Cosa fare nei prossimi 7 giorni
Apri il tuo functions.php. Copia il metodo 1 (Article schema). Salva. Apri qualunque articolo del blog. View Source, cerca application/ld+json. Verifica con Rich Results Test. Se vedi “Article: Eligible”, hai vinto. Da qui in poi aggiungi schema FAQ ai 5 articoli più trafficati. Tempo totale: 2 ore. Risultato: SEO 2026 molto più solida senza un solo euro di plugin premium.
Articoli correlati
You might also like
More from SEO
SEO audit checklist completa 2026 per PMI italiane
Un audit SEO ben fatto è il primo passo prima di qualsiasi intervento sulla SEO di un sito. Senza audit …
E-E-A-T Google 2026: come dimostrare autorevolezza nell’era AI search
E-E-A-T è l’acronimo che racchiude i criteri che Google usa per valutare la qualità dei contenuti web: Experience, Expertise, Authoritativeness, …
FAQ schema markup: come finire nelle AI Overviews
Le AI Overviews di Google citano spesso le risposte FAQ ben strutturate. Quando aggiungi schema markup FAQ corretto a un …



