Dati strutturati per ricette (Recipe
, HowTo
, ItemList
)
Aiuta gli utenti a trovare i contenuti della tua ricetta comunicandone i dettagli a Google con i dati strutturati. Se fornisci informazioni quali valutazioni dei recensori, tempi di cottura e di preparazione e informazioni nutrizionali, Google può comprendere meglio la tua ricetta e presentarla agli utenti in modi interessanti. Le ricette possono essere visualizzate nei risultati della Ricerca Google e in Google Immagini.
![Illustrazione di come i risultati avanzati delle ricette possono essere visualizzati nella Ricerca Google. Contiene 4 risultati avanzati di diversi siti web, con i dettagli su quanto tempo occorre per preparare la ricetta, un'immagine e informazioni sulle recensioni.](https://developers-dot-devsite-v2-prod.appspot.com/static/search/docs/images/recipe-rich-result-google-search.png?authuser=0000&hl=it)
![Illustrazione di come una ricetta può essere visualizzata in Google Immagini. Ci sono 6 immagini che mostrano piatti diversi, con 3 risultati che mostrano un badge della ricetta che indica all'utente che si tratta di una ricetta](https://developers-dot-devsite-v2-prod.appspot.com/static/search/docs/images/recipes-in-google-images.png?authuser=0000&hl=it)
In base alla modalità di markup dei contenuti, le ricette possono essere idonee per i seguenti miglioramenti:
Miglioramenti delle ricette | |
---|---|
Carosello host delle ricette: consenti agli utenti di esplorare le
pagine della tua galleria di ricette aggiungendo dati strutturati ItemList .
|
![]() |
Come aggiungere dati strutturati
I dati strutturati sono un formato standardizzato per fornire informazioni su una pagina e classificarne i contenuti. Se non li hai mai utilizzati, scopri di più su come funzionano i dati strutturati.
Ecco una panoramica su come creare, testare e rilasciare i dati strutturati. Per una guida passo per passo su come aggiungere dati strutturati a una pagina web, consulta il codelab sui dati strutturati.
- Aggiungi le proprietà obbligatorie. In base al formato che utilizzi, scopri dove inserire i dati strutturati nella pagina.
- Segui le linee guida.
- Convalida il codice utilizzando lo strumento di Test dei risultati avanzati e correggi eventuali errori critici. Prendi in considerazione anche la possibilità di correggere eventuali problemi non critici che potrebbero essere segnalati nello strumento, in quanto possono contribuire a migliorare la qualità dei tuoi dati strutturati (tuttavia, questo non è necessario per l'idoneità per i risultati avanzati).
- Implementa alcune pagine che includono dati strutturati e utilizza lo strumento Controllo URL per verificare come Google vede la pagina. Assicurati che la pagina sia accessibile per Google e che non venga bloccata da file robots.txt, tag
noindex
o requisiti di accesso. Se la pagina non presenta problemi, puoi chiedere a Google di ripetere la scansione degli URL. - Per tenere Google informata delle future modifiche, ti consigliamo di inviare una Sitemap. Puoi automatizzare questa operazione con l'API Search Console Sitemap.
Esempi
Ecco alcuni esempi di ricette che utilizzano il codice JSON-LD.
Ricetta nella Ricerca
Ecco un esempio di pagina idonea per essere visualizzata nella Ricerca.
<html> <head> <title>Non-Alcoholic Piña Colada</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Recipe", "name": "Non-Alcoholic Piña Colada", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "author": { "@type": "Person", "name": "Mary Stone" }, "datePublished": "2024-03-10", "description": "This non-alcoholic pina colada is everyone's favorite!", "recipeCuisine": "American", "prepTime": "PT1M", "cookTime": "PT2M", "totalTime": "PT3M", "keywords": "non-alcoholic", "recipeYield": "4 servings", "recipeCategory": "Drink", "nutrition": { "@type": "NutritionInformation", "calories": "120 calories" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "5", "ratingCount": "18" }, "recipeIngredient": [ "400ml of pineapple juice", "100ml cream of coconut", "ice" ], "recipeInstructions": [ { "@type": "HowToStep", "name": "Blend", "text": "Blend 400ml of pineapple juice and 100ml cream of coconut until smooth.", "url": "https://example.com/non-alcoholic-pina-colada#step1", "image": "https://example.com/photos/non-alcoholic-pina-colada/step1.jpg" }, { "@type": "HowToStep", "name": "Fill", "text": "Fill a glass with ice.", "url": "https://example.com/non-alcoholic-pina-colada#step2", "image": "https://example.com/photos/non-alcoholic-pina-colada/step2.jpg" }, { "@type": "HowToStep", "name": "Pour", "text": "Pour the pineapple juice and coconut mixture over ice.", "url": "https://example.com/non-alcoholic-pina-colada#step3", "image": "https://example.com/photos/non-alcoholic-pina-colada/step3.jpg" } ], "video": { "@type": "VideoObject", "name": "How to Make a Non-Alcoholic Piña Colada", "description": "This is how you make a non-alcoholic piña colada.", "thumbnailUrl": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "contentUrl": "https://www.example.com/video123.mp4", "embedUrl": "https://www.example.com/videoplayer?video=123", "uploadDate": "2024-02-05T08:00:00+08:00", "duration": "PT1M33S", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": { "@type": "WatchAction" }, "userInteractionCount": 2347 }, "expires": "2024-02-05T08:00:00+08:00" } } </script> </head> <body> </body> </html>
Carosello
Ecco un esempio di pagina di riepilogo delle ricette (una pagina con un elenco di ricette) con dati strutturati itemList
. Questi contenuti potrebbero essere idonei per essere mostrati in una griglia nei risultati di ricerca.
<html> <head> <title>Grandma's Best Pie Recipes</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "ItemList", "itemListElement": [ { "@type": "ListItem", "position": 1, "url": "https://example.com/apple-pie.html" }, { "@type": "ListItem", "position": 2, "url": "https://example.com/blueberry-pie.html" }, { "@type": "ListItem", "position": 3, "url": "https://example.com/cherry-pie.html" }] } </script> </head> <body> </body> </html>
Linee guida
Devi seguire le linee guida generali sui dati strutturati affinché il tuo markup sia idoneo per essere mostrato nei risultati della Ricerca.
Le seguenti linee guida valgono per i dati strutturati Recipe
.
- Utilizza i dati strutturati
Recipe
per i contenuti relativi alla preparazione di un determinato piatto. Ad esempio, "scrub viso" o "idee per feste" non sono nomi validi per un piatto. - Per far sì che le tue ricette compaiano in un
carosello o in una griglia, devi seguire queste
linee guida:
- Fornisci dati strutturati
ItemList
per riepilogare le ricette per il tuo elenco. Puoi fornire i dati strutturatiItemList
separatamente o insieme ai dati strutturati della ricetta. - Il tuo sito deve avere una pagina di riepilogo che mostra tutte le ricette nella raccolta. Ad esempio, quando un utente fa clic sul link di riepilogo dai risultati della Ricerca, viene reindirizzato correttamente a una pagina sul sito che elenca le ricette correlate alla sua ricerca.
- Fornisci dati strutturati
Definizioni dei tipi di dati strutturati
Affinché i tuoi contenuti siano idonei per essere mostrati come risultato avanzato nella Ricerca Google, devi includere le proprietà obbligatorie. Puoi anche includere le proprietà consigliate per aggiungere ulteriori informazioni sui tuoi contenuti, fornendo così un'esperienza utente migliore.
Recipe
Esegui il markup dei contenuti della tua ricetta con le seguenti proprietà del tipo Recipe
di schema.org. La definizione completa di Recipe
è disponibile all'indirizzo schema.org/Recipe.
Le proprietà supportate da Google sono le seguenti:
Proprietà obbligatorie | |
---|---|
image
|
Immagine del piatto completato. Ulteriori linee guida per le immagini:
Ad esempio: "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ] |
name |
Il nome del piatto. |
Proprietà consigliate | |
---|---|
aggregateRating |
Annotazione per il punteggio medio delle recensioni assegnato all'elemento. Segui le linee guida sugli snippet recensione e l'elenco di proprietà Se i dati strutturati |
author |
Il nome della persona o dell'organizzazione che ha scritto la ricetta. Per aiutare Google a comprendere meglio gli autori in varie funzionalità, ti consigliamo di seguire le best practice per il markup degli autori. |
cookTime |
Il tempo necessario per cucinare effettivamente il piatto, nel formato ISO 8601, se applicabile. Da usare sempre in combinazione con |
datePublished |
La data in cui la ricetta è stata pubblicata, nel formato ISO 8601, se applicabile. |
description |
Un breve riassunto che descrive il piatto. |
keywords
|
Altri termini per la ricetta, come la stagione ("estate"), il periodo ("Halloween") o altri descrittori validi ("veloce", "facile", "originale"). Linee guida aggiuntive
|
nutrition.calories |
Il numero di calorie di ogni porzione realizzata con questa
ricetta. Se |
prepTime |
Il tempo necessario per preparare gli ingredienti e l'area di lavoro per il piatto, nel formato ISO 8601, se applicabile. Da usare sempre in combinazione con |
recipeCategory |
Il tipo di piatto o pasto della tua ricetta. Ad esempio: "cena", "primo piatto" o "dessert". |
recipeCuisine |
L'area geografica associata alla tua ricetta. Ad esempio, "francese", "mediterraneo" o "americano". |
recipeIngredient |
Un ingrediente usato nella ricetta. Ad esempio: "recipeIngredient": [ "1 (15 ounce) package double crust ready-to-use pie crust", "6 cups thinly sliced, peeled apples (6 medium)", "3/4 cup sugar", "2 tablespoons all-purpose flour", "3/4 teaspoon ground cinnamon", "1/4 teaspoon salt", "1/8 teaspoon ground nutmeg", "1 tablespoon lemon juice" ] Linee guida aggiuntive:
|
recipeInstructions
|
I passaggi per preparare il piatto. Esistono diverse opzioni per impostare il valore di
Linee guida aggiuntive
|
recipeYield |
La quantità prodotta con la ricetta, se applicabile. Specifica il numero di porzioni
prodotte da questa ricetta semplicemente con un numero. Se vuoi usare un'unità diversa (ad
esempio, numero di elementi), potresti includere proprietà yield aggiuntive. Questa informazione è obbligatoria se
specifichi informazioni nutrizionali per porzione (ad esempio Esempio "recipeYield": [ "6", "24 cookies" ] |
totalTime |
Il tempo totale necessario per preparare il piatto, nel formato ISO 8601, se applicabile. Utilizza |
video
|
VideoObject
Un video che illustra i passaggi per preparare il piatto. Consulta l'elenco delle proprietà video obbligatorie e consigliate. |
HowToSection
Utilizza HowToSection
per raggruppare una sequenza di passaggi (o sottosezioni) che costituiscono
parte delle istruzioni di una ricetta. Specifica HowToSection
direttamente all'interno della definizione della
proprietà recipeInstructions
o come itemListElement
di un altro HowToSection
.
Il tipo HowToSection
definisce una sezione di una singola ricetta e
contiene uno o più passaggi. Non utilizzare HowToSection
per definire ricette diverse
per lo stesso piatto; invece, utilizza HowToSection
come parte di una singola ricetta. Per elencare
più ricette per un piatto, utilizza più oggetti Recipe
. Ad esempio,
elenca i diversi modi per preparare una torta di mele come più oggetti Recipe
, non
come oggetti HowToSection
.
La definizione completa di HowToSection
è disponibile all'indirizzo
schema.org/HowToSection.
Proprietà obbligatorie | |
---|---|
itemListElement
|
HowToStep
Un elenco di passaggi dettagliati per la sezione e/o le sottosezioni. Ad esempio, una ricetta per la pizza può avere una sezione di passaggi per la preparazione della pasta, una per la preparazione dei condimenti e una per la combinazione e la cottura. Esempio: { "@type": "HowToSection", "name": "Assemble the pie", "itemListElement": [ { "@type": "HowToStep", "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate." }, { "@type": "HowToStep", "text": "Top with second crust. Cut slits or shapes in several places in top crust." } ] } |
name
|
Text
Il nome della sezione. |
HowToStep
Utilizza HowToStep
per raggruppare una o più frasi che spiegano come
eseguire una parte della ricetta, se ha senso per i tuoi contenuti. Definisci la proprietà text
con le
frasi o, alternativamente, definisci itemListElement
con
un HowToDirection
o HowToTip
per ogni frase.
Esegui il markup dei passaggi della ricetta con le seguenti proprietà del
tipo HowToStep. Specifica
un HowToStep
direttamente all'interno della definizione della proprietà recipeInstructions
o come un itemListElement
di un HowToSection
.
La definizione completa di HowToStep
è disponibile all'indirizzo
schema.org/HowToStep.
Proprietà obbligatorie | |
---|---|
itemListElement
|
HowToDirection o HowToTip
Un elenco dettagliato dei sottopassaggi, inclusi indicazioni o suggerimenti. Facoltativo se utilizzi |
text
|
Text
Il testo completo delle istruzioni di questo passaggio. Facoltativo se utilizzi
|
Proprietà consigliate | |
---|---|
image
|
ImageObject o URL
Un'immagine per il passaggio. Ulteriori linee guida per le immagini:
|
name
|
Text
La parola o la breve frase che riassume il passaggio (ad esempio "Stendi la base per la torta"). Non usare testo non descrittivo (ad esempio "Passaggio 1: [testo]") o un formato diverso per il numero dei passaggi (ad esempio "1. [testo]"). |
url
|
URL
Un |
video
|
VideoObject o Clip
Un video per questo passaggio o un clip del video. Per |
HowToDirection
e HowToTip
Utilizza HowToDirection
e HowToTip
per descrivere indicazioni o suggerimenti, se applicabili.
Hanno le stesse proprietà obbligatorie e consigliate.
Le definizioni complete di HowToDirection
e HowToTip
sono disponibili agli indirizzi
schema.org/HowToDirection e
schema.org/HowToTip.
Proprietà obbligatorie | |
---|---|
text
|
Text
Il testo dell'indicazione o del suggerimento. |
ItemList
Oltre alle proprietà Recipe, aggiungi le seguenti proprietà per
gli elenchi specifici dell'host. Sebbene ItemList
non sia obbligatorio,
devi aggiungere le seguenti proprietà se vuoi che la ricetta sia idonea per
un carosello host. Per scoprire di più sul carosello host, vedi
Carosello.
La definizione completa di ItemList
è
disponibile all'indirizzo schema.org/ItemList.
Proprietà obbligatorie | |
---|---|
itemListElement
|
Annotazione per una pagina di elemento. |
ListItem.position
|
Posizione ordinale della pagina di elemento nell'elenco. Ad esempio: "itemListElement": [ { "@type": "ListItem", "position": 1, }, { "@type": "ListItem", "position": 2, } ] |
ListItem.url
|
L'URL canonico della pagina elemento. Ogni elemento deve avere un URL univoco. |
Monitorare i risultati avanzati con Search Console
Search Console è uno strumento che consente di monitorare il rendimento delle tue pagine in Ricerca Google. Registrarsi in Search Console non è obbligatorio per essere inclusi nei risultati di Ricerca Google, ma può aiutarti a capire e migliorare il modo in cui Google vede il tuo sito. Ti consigliamo di controllare Search Console nei seguenti casi:
- Dopo aver effettuato il deployment dei dati strutturati per la prima volta
- Dopo aver rilasciato nuovi modelli o aggiornato il codice
- Analisi periodica del traffico
Dopo aver effettuato il deployment dei dati strutturati per la prima volta
Dopo che Google ha indicizzato le tue pagine, cerca i problemi utilizzando il report sullo stato dei risultati avanzati pertinente. L'ideale sarebbe un aumento degli elementi validi e nessun aumento di quelli non validi. Se riscontri problemi nei dati strutturati:
- Correggi gli elementi non validi.
- Controlla un URL pubblicato per verificare se il problema persiste.
- Richiedi la convalida utilizzando il report sullo stato.
Dopo aver rilasciato nuovi modelli o aggiornato il codice
Quando apporti modifiche significative al tuo sito web, monitora l'aumento degli elementi non validi dei dati strutturati.- Se vedi un aumento di errori, forse hai reso disponibile un nuovo modello non funzionante oppure il tuo sito interagisce con il modello esistente in modo nuovo, ma non corretto.
- Se noti una diminuzione degli elementi validi (non associata a un aumento di quelli non validi), forse non stai più incorporando dati strutturati nelle tue pagine. Utilizza lo strumento Controllo URL per scoprire la causa del problema.
Analisi periodica del traffico
Analizza il traffico di Ricerca Google utilizzando il rapporto sul rendimento. I dati mostrano la frequenza con cui la pagina viene visualizzata nei risultati multimediali nella Ricerca, la frequenza con cui gli utenti fanno clic e qual è la posizione media che visualizzi nei risultati di ricerca. Puoi anche estrarre automaticamente questi risultati con l'API Search Console.Risoluzione dei problemi
Se hai difficoltà con l'implementazione o il debug dei dati strutturati, ecco alcune risorse che potrebbero esserti utili.
- Se utilizzi un sistema di gestione dei contenuti (CMS) o un'altra persona si sta occupando del tuo sito, chiedile di aiutarti. Assicurati di inoltrarle gli eventuali messaggi di Search Console che illustrano il problema.
- Google non garantisce che le funzionalità che utilizzano dati strutturati vengano visualizzate nei risultati di ricerca. Per un elenco delle cause comuni per cui i tuoi contenuti potrebbero non essere mostrati da Google in un risultato avanzato consulta le linee guida generali sui dati strutturati.
- I tuoi dati strutturati potrebbero contenere un errore. Consulta l'elenco degli errori nei dati strutturati e il report sui dati strutturati non analizzabili.
- Se i dati strutturati della tua pagina sono interessati da un'azione manuale, i dati strutturati sulla pagina verranno ignorati (sebbene la pagina possa ancora essere visualizzata nei risultati della Ricerca Google). Per risolvere i problemi relativi ai dati strutturati, utilizza il report Azioni manuali.
- Consulta nuovamente le linee guida per verificare se i tuoi contenuti non sono conformi. Il problema può essere causato dall'utilizzo di contenuti di spam o di markup di spam. Tuttavia, il problema potrebbe non riguardare la sintassi e perciò non essere identificato dal Test dei risultati avanzati.
- Risolvi i problemi relativi a risultati avanzati mancanti o a un calo del numero totale di risultati avanzati.
- Lascia del tempo per le nuove operazioni di scansione e indicizzazione. Ricorda che possono passare diversi giorni dopo la pubblicazione di una pagina prima che Google la rilevi e la sottoponga a scansione. Per domande generali sulla scansione e sull'indicizzazione, consulta le Domande frequenti (FAQ) relative alla scansione e all'indicizzazione della Ricerca Google.
- Pubblica una domanda nel forum di Google Search Central.