J'ai créé un site Web uniquement pour tester mes compétences en CSS, JS et PHP. J'ai écrit des données dans de simples balises HTML. Maintenant, j'ai entendu parler de Microdata , RDFa et JSON-LD . Et Google recommande d'utiliser autant que possible JSON-LD pour les données structurées.
Donc, je veux juste demander, au format de microdonnées Schema.org, ils disent d'ajouter divers attributs aux balises HTML, ce qui peut être fait simplement en ajoutant des attributs dans mes balises HTML déjà écrites. Mais si je veux utiliser JSON-LD comme le recommande Google, comment suis-je censé le faire?
Devrais-je devoir réécrire tout mon contenu en le supprimant des balises HTML et l'écrire au format script
(comme défini dans JSON-LD)?
Par exemple, l'image ci-dessous contient la sortie du code que j'ai écrit dans des balises HTML simples avec leurs propriétés en CSS, suivies d'un extrait de code correspondant.
<h2>Timing</h2>
<p><?php echo $Timing; ?></p>
</div>
<div class="site-info">
<h2>Days</h2>
<p><?php echo $OpeningDays; ?></p>
</div>
<div class="site-info">
<h2>Bus Stand</h2>
<p><?php echo $BusStandName; ?></p>
</div>
<div class="site-info">
<h2>Bus Numbers</h2>
<p><?php echo $BusNumbers; ?></p>
</div>
<div class="site-info">
<h2>Tariff</h2>
<p><?php echo $Fees; ?></p>
</div>
Alors, comment dois-je maintenant éditer mon code (donné par exemple) pour lui donner des données structurées en JSON-LD sans affecter la conception même de la page?
Tout d’abord, ignorez les recommandations de Google si vous êtes prêt à utiliser Microdata ou RDFa. Je pense qu'il n'y a que deux cas où vous devriez utiliser JSON-LD au lieu de Microdata/RDFa:
Dans tous les autres cas, il est préférable d’utiliser Microdata ou RDFa ( comparaison ) plutôt que JSON-LD, car vous n’avez pas à dupliquer votre contenu.
Si je comprends bien votre cas, vous ne semblez pas utiliser JavaScript pour l'ajouter, et il semble qu'il vous serait facile d'ajouter les attributs à vos éléments HTML existants (même plus facile que d'ajouter un script
séparé élément), je recommanderais donc d’utiliser RDFa.
Vous ne touchez pas votre contenu HTML/existant. Au lieu de cela, vous
script
quelque part ( peut être dans le head
ou le body
), etSi vous ne souhaitez pas utiliser une bibliothèque JSON-LD PHP à cette fin, vous pouvez générer le fichier JSON-LD de la même manière que vous générez votre code HTML.
Donc, si vous avez ceci quelque part sur votre page pour montrer le nom d'une personne
<div>
<p>Name: <?php echo $Name; ?></p>
</div>
vous pouvez ajouter ceci à votre JSON-LD script
pour ajouter cette personne et son nom
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Person",
"name": "<?php echo $Name; ?>"
}
</script>
<div itemscope itemtype="http://schema.org/Person">
<p>Name: <span itemprop="name"><?php echo $Name; ?></span></p>
</div>
<div typeof="schema:Person">
<p>Name: <span property="schema:name"><?php echo $Name; ?></span></p>
</div>