6 votes

Schema.org pour les sites Web multilingues : bien remplir la corporation et le site Web

Je travaille sur un site Web multilingue et je prépare des balises Schema.org en utilisant JSON-LD. Détail important : ce site utilise des sous-répertoires pour les langues. Considérons 2 langues :

  • Anglais : https://www.example.com/
  • Français : https://www.example.com/fr/

Je veux mettre Corporation y WebSite des choses sur tous les HP localisés. Tout se passe bien, mais pour @id , url y inLanguage propriétés : Je ne sais pas vraiment ce que je dois remplir.

Para Corporation Je pense que j'ai bien compris : je vais utiliser sur toutes les pages l'url par défaut et baser ma recherche sur l'url par défaut. @id sur elle :

{
    "@context": "http://schema.org",
    "@type": "Corporation",
    "@id": "https://www.example.com/#organization",
    "name": "Example",
    "url": "https://www.example.com/",
...

Mais quel serait le meilleur choix pour WebSite propriétés, sur mon HP français ? Techniquement parlant, /fr/ fait partie du sous-dossier example.com/ domaine. Mais alors, @id , inLanguage y url ne disent pas que mon site web est également disponible pour les francophones.

{
    "@context": "http://schema.org",
    "@type": "WebSite",
    "@id": "https://www.example.com/#website",   // should this be "https://www.example.com/fr/#website" ?
    "name": "Example",
    "url": "https://www.example.com/",   // should this be "https://www.example.com/fr/" ?
    "inLanguage": "en",   // should this be "fr" ?
...

J'ai fait de nombreuses recherches à ce sujet et je n'ai rien trouvé sur cette question particulière. Quelqu'un a-t-il une expérience en la matière ?

7voto

unor Points 14115

Vous avez deux différent (bien que traduit) sites web. Le fait qu'ils partagent le même domaine/nom d'hôte ne devrait pas avoir d'importance.

Chaque site web devrait avoir son propre WebSite avec sa propre @id , url y inLanguage alors qu'ils se réfèrent aux mêmes Corporation article.

{
  "@context": "http://schema.org",
  "@type": "WebSite",
  "@id": "https://www.example.com/#website",
  "url": "https://www.example.com/",
  "inLanguage": "en",
  "publisher": {"@id": "https://www.example.com/#organization"}
}

{
  "@context": "http://schema.org",
  "@type": "WebSite",
  "@id": "https://www.example.com/fr/#website",
  "url": "https://www.example.com/fr/",
  "inLanguage": "fr",
  "publisher": {"@id": "https://www.example.com/#organization"}
}

Si les sites web sont principalement des traductions, vous pourriez utiliser workTranslation / translationOfWork pour relier le WebSite articles.

"workTranslation": {"@id": "https://www.example.com/fr/#website"}

"translationOfWork": {"@id": "https://www.example.com/#website"}

(C'est un bon cas pour voir pourquoi la WebSite Les articles doivent avoir des @id parce que sinon, vous ne pourriez pas vous référer à leurs traductions de cette manière. En utilisant les url au lieu de la valeur @id ne serait pas une bonne idée, car cet URI représente généralement la page d'accueil, et non l'ensemble du site web .)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X