2

Voici mon balisage avec des extraits richesdonnées structurées Google Custom Search Engine Schema.org et ont donné des résultats via l'API

<div vocab="http://schema.org" typeof="GovernmentOrganization"> 
<p> 
    <span property="logo"><img src="http://www.place.com/image.png" class="logo"/></span> 
    <span class="h2" property="name">Department Of Stuff And Things</span><br /> 
    <span class="h4" property="department">State Agency</span><br /> 
    <a href="http://www.place.com" class="h4 text-primary" property="url">http://www.place.com</a> 
</p> 

<strong>Locations:</strong><br /><br />     
    <div property="location" typeof="GovernmentOffice"> 
     <p property="location" typeof="PostalAddress"> 
      Main Office<br /> 
      <span property="streetAddress">555 Something Street Apt 2</span><br /> 
      <span property="addressLocality">Jacksonville</span> 
      <span property="addressRegion">FL</span> 
      <span property="postalCode">11111</span><br /> 
      <span property="addressCountry">US</span> 
     </p> 
    </div> 

<strong>Services:</strong><br /><br /> 
<div property="hasOfferCatalog" typeof="OfferCatalog"> 
     <div property="itemListElement" typeof="GovernmentService"> 
      <p> 
       <strong><span property="name">Service 1</span></strong><br /> 
       <span property="category">Web Based</span><br /> 
       <span property="description">Get Some stuff and things</span><br /> 
       <a href="https://www.place.com/Service1" property="url">https://www.place.com/Service1</a><br /> 
      </p> 
     </div> 
     <div property="itemListElement" typeof="GovernmentService"> 
      <p> 
       <strong><span property="name">Apply For Benefits</span></strong><br /> 
       <span property="category">Phone Based</span><br /> 
       <span property="description">This service helps you apply for the benefits you deserve</span><br /> 
       <a href="https://www.place.com/Service2" property="url">https://www.place.com/Service1</a><br /> 
      </p> 
     </div> 
</div> 

L'outil de test des données structurées semble organiser et valider tout correctement, y compris mon petite collection de services (OfferCatalog). Lorsque vous faites une demande à l'API de recherche personnalisée et que vous passez à: more: pagemap: les choses de GovernmentOrganization semblent être OK et j'obtiens des résultats que j'attends. Mais l'objet JSON pour pagemap ne comprend que le premier niveau de mon organisation:

"pagemap": { 
"GovernmentOrganization": [ 
{ 
    "name": "Department Of Stuff And Things", 
    "department": "State Agency", 
    "url": "http://www.place.com" 
}, 

Toutes les idées sur la raison pour laquelle mes objets connexes (GovernmentOffice/lieux/OfferCatalog/gouvemementaux) ne sont pas compris? Y a-t-il une meilleure façon d'organiser et de structurer cela pour Google?

+0

Souhaitez-vous afficher les étapes précises et l'URL que vous utilisez pour générer le pagemap? J'utilise vos données avec un processeur différent et j'obtiens un document JSON-LD cohérent avec le RDFa. –

+0

Je laisse google indexer ma page pour créer le pagemap. J'ai utilisé un outil de test de données structuré pour vérifier avant de lancer l'analyse https://developers.google.com/structured-data/testing-tool. Mais finalement, je laisse le pagemap au robot d'exploration de Google. Pensez-vous que nous aurions de meilleurs résultats en créant et en soumettant le pagemap nous-mêmes? J'ai une page de test sur http://customsearchweb20160302094014.azurewebsites.net il a une entrée réelle et 3 entrées de test. Je ne ferai pas plusieurs agences sur une page pour la production, je l'ai fait simplement pour tester ce qui sort de l'autre extrémité. –

Répondre

0

Comme par Google:

Je crois que vous voyez qu'une seule valeur d'un attribut dans l'API JSON.

Je voudrais vous mettre à jour que selon la conception dans l'API JSON, nous montrons seulement une valeur d'attribut, tandis qu'en XML nous montrons toutes les valeurs.

Nous avons déjà une demande de fonctionnalité # 16696973 pour afficher toutes les valeurs d'attributs dans l'API JSON. Actuellement, je n'ai pas d'ETA quand il sera implémenté.

Pour contourner le problème, vous devez utiliser l'API XML.

0

Considérons cette approche. Incluez le script JSON-LD suivant dans le document. Il peut aller partout, mais envisage de le placer avant la RDFa DIV:

<script type="application/ld+json" id=""> 
{ 
"@context": 
    { 
     "@vocab": "http://schema.org/", 
     "@base": "http://www.place.com/" 
    }, 
"@graph": [ 
    { 
     "@id": "_:ub220bL18C41", 
     "@type": "PostalAddress", 
     "addressCountry": "US", 
     "addressLocality": "Jacksonville", 
     "addressRegion": "FL", 
     "postalCode": "11111", 
     "streetAddress": "555 Something Street Apt 2" 
    }, 
    { 
     "@id": "_:ub220bL4C1", 
     "@type": "GovernmentOrganization", 
     "department": "State Agency", 
     "hasOfferCatalog": { 
     "@id": "_:ub220bL6C40" 
     }, 
     "location": { 
     "@id": "_:ub220bL17C33" 
     }, 
     "logo": "", 
     "name": "Department Of Stuff And Things", 
     "url": "http://www.place.com" 
    }, 
    { 
     "@id": "_:ub220bL17C33", 
     "@type": "GovernmentOffice", 
     "location": { 
     "@id": "_:ub220bL18C41" 
     } 
    }, 
    { 
     "@id": "_:ub220bL6C40", 
     "@type": "OfferCatalog", 
     "itemListElement": [ 
     { 
      "@id": "_:ub220bL12C17" 
     }, 
     { 
      "@id": "_:ub220bL7C48" 
     } 
     ] 
    }, 
    { 
     "@id": "_:ub220bL12C17", 
     "@type": "GovernmentService", 
     "category": "Web Based", 
     "description": "Get Some stuff and things", 
     "name": "Service 1", 
     "url": "https://www.place.com/Service1" 
    }, 
    { 
     "@id": "_:ub220bL7C48", 
     "@type": "GovernmentService", 
     "category": "Phone Based", 
     "description": "This service helps you apply for the benefits you deserve", 
     "name": "Apply For Benefits", 
     "url": "https://www.place.com/Service2" 
    } 
    ] 
} 
</script> 

Vous aurez envie de changer @base sur votre site et de décider comment organiser votre structure de répertoire pour gérer vos identifiants. Ensuite, remplacez chaque nœud vide par l'identifiant approprié. Ensuite, minimisez le JSON-LD.

Le JSON-LD est sémantiquement identique au RDFa. En tant que tel, vous serez en mesure d'analyser le pagemap de Google et de décider quelle stratégie fonctionne le mieux pour vous. Je ne m'attends pas à ce que Google pénalise la page si le JSON-LD est sémantiquement identique au balisage HTML/RDFa.

+0

Merci pour cette suggestion, je vais mettre mon site d'exemple à jour aujourd'hui et je l'ai fait explorer par Google (cela pourrait prendre encore 24 heures). –

+0

J'ai donc essayé le Json-ld, et supprimé les autres agences de test sur la page. La console de recherche a affiché la balise de script dans la réponse HTTP téléchargée.J'ai vérifié encore ce matin (parce que deux jours sont passés maintenant) et la réponse est toujours la même. Les données structurées montrent l'organisation du gouvernement et ses propriétés, mais aucun autre objet n'est inclus dans les données structurées. J'ai aussi vu que mon vocab = original était http://www.schema.org Je l'ai corrigé en ajoutant un trailing /. J'ai resoumis la page pour l'index avec le nouveau/et non Json-ld. Google ne prend-il en charge qu'un petit nombre de définitions de schema.org? –

+0

Attendons de voir tes résultats en fonction de la définition correcte du vocabulaire (j'aurais dû attraper cette erreur quand j'ai d'abord regardé ton RDFa). TTBOMK Google ne discrimine pas lors de l'indexation des termes de schéma. ITMT, veuillez vérifier que votre