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.


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 .
|
![]() |
How to add structured data
Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.
Here's an overview of how to build, test, and release structured data.
- Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
- Follow the guidelines.
- Validate your code using the Rich Results Test and fix any critical errors. Consider also fixing any non-critical issues that may be flagged in the tool, as they can help improve the quality of your structured data (however, this isn't necessary to be eligible for rich results).
- Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is
accessible to Google and not blocked by a robots.txt file, the
noindex
tag, or login requirements. If the page looks okay, you can ask Google to recrawl your URLs. - To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.
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 della 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. Additional image guidelines:
For example: "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. |
Monitor rich results with Search Console
Search Console is a tool that helps you monitor how your pages perform in Google Search. You don't have to sign up for Search Console to be included in Google Search results, but it can help you understand and improve how Google sees your site. We recommend checking Search Console in the following cases:
- After deploying structured data for the first time
- After releasing new templates or updating your code
- Analyzing traffic periodically
After deploying structured data for the first time
After Google has indexed your pages, look for issues using the relevant Rich result status report. Ideally, there will be an increase of valid items, and no increase in invalid items. If you find issues in your structured data:
- Fix the invalid items.
- Inspect a live URL to check if the issue persists.
- Request validation using the status report.
After releasing new templates or updating your code
When you make significant changes to your website, monitor for increases in structured data invalid items.- If you see an increase in invalid items, perhaps you rolled out a new template that doesn't work, or your site interacts with the existing template in a new and bad way.
- If you see a decrease in valid items (not matched by an increase in invalid items), perhaps you are no longer embedding structured data in your pages. Use the URL Inspection tool to learn what is causing the issue.
Analyzing traffic periodically
Analyze your Google Search traffic using the Performance Report. The data will show you how often your page appears as a rich result in Search, how often users click on it and what is the average position you appear on search results. You can also automatically pull these results with the Search Console API.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.