web-dev-qa-db-fra.com

Comment utiliser JSON-LD dans ma page qui contient déjà du contenu?

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.

Code output

<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?

3
Siraj Alam

Rien à redire avec les microdonnées ou RDFa

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:

  • Si vous devez ajouter des données structurées avec du code JavaScript côté client.
  • S'il est trop difficile d'ajouter des attributs de Microdata/RDFa à vos éléments HTML existants.

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.

Comment ajouter JSON-LD

Vous ne touchez pas votre contenu HTML/existant. Au lieu de cela, vous

Si 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>

À titre de comparaison: comment ajouter des microdonnées

<div itemscope itemtype="http://schema.org/Person">
  <p>Name: <span itemprop="name"><?php echo $Name; ?></span></p>
</div>

A titre de comparaison: comment ajouter RDFa

<div typeof="schema:Person">
  <p>Name: <span property="schema:name"><?php echo $Name; ?></span></p>
</div>
3
unor