Schema.org JSON-LD
Markup strutturato · rich snippet · WordPress
Seleziona il tipo di schema, compila i campi e ottieni il JSON-LD per HTML o functions.php. Include note sui conflitti con Yoast e RankMath e come evitarli.
Come aggiungere JSON-LD a WordPress
Il modo più pulito è agganciare wp_head in functions.php e stampare il tag <script type="application/ld+json"> con json_encode(), così lo schema usa dati reali del post o della pagina.
Schema statico (test rapido)
Per una prova veloce puoi incollare lo script nel template PHP:
<!-- es. header.php -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Nome sito",
"url": "https://tuosito.it"
}
</script>
Schema dinamico da functions.php
add_action( 'wp_head', 'mio_tema_schema_article' );
function mio_tema_schema_article() {
if ( ! is_single() ) return;
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => get_the_title(),
'url' => get_permalink(),
'author' => [
'@type' => 'Person',
'name' => get_the_author(),
],
'datePublished' => get_the_date( 'c' ),
'dateModified' => get_the_modified_date( 'c' ),
];
if ( has_post_thumbnail() ) {
$schema['image'] = get_the_post_thumbnail_url( null, 'large' );
}
echo '<script type="application/ld+json">'
. json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT )
. '</script>';
}
Schema con ACF Pro
// Esempio LocalBusiness con campi ACF
$schema = [
'@context' => 'https://schema.org',
'@type' => 'LocalBusiness',
'name' => get_field( 'nome_azienda' ),
'telephone' => get_field( 'telefono' ),
'address' => [
'@type' => 'PostalAddress',
'streetAddress' => get_field( 'indirizzo' ),
'addressLocality' => get_field( 'citta' ),
'postalCode' => get_field( 'cap' ),
'addressCountry' => 'IT',
],
];
I dati strutturati Schema.org permettono a Google di comprendere meglio il contenuto di una pagina e mostrare rich result nella SERP: stelle di valutazione, FAQ espandibili, breadcrumb e markup evento aumentano la visibilità organica e il CTR.
Questo generatore supporta:
- Article: autore, data di pubblicazione, immagine, editore
- LocalBusiness: nome, indirizzo, orari, contatti, coordinate
- BreadcrumbList: struttura di navigazione gerarchica
- FAQPage: domande e risposte strutturate per rich snippet
Produce il tag <script type="application/ld+json"> pronto per HTML e lo snippet PHP per wp_head() con variante per campi ACF dinamici. Include note su conflitti con Yoast e RankMath.
Perché usare JSON-LD
- Chiarezza per i motori di ricerca: comunica titolo, date, autore, prezzo, FAQ in modo esplicito.
- JSON-LD nel
<head>: formato consigliato; evita di duplicare lo stesso tipo di schema già emesso da plugin SEO. - Test: dopo il deploy verifica con lo strumento Rich Results di Google e aggiorna i campi se cambiano le linee guida.