BlogPosting Publisher Logo "logo.itemtype a une valeur non valide" sur l'outil de test de données structurées de Google


13

Les éléments suivants s'exécutent comme prévu dans l' outil de test des données structurées de Google :

<div>
    <div itemprop="publisher" itemscope id="organization-example" itemtype="https://schema.org/Organization">
        <a itemprop="url" href="https://example.com">
            <img itemprop="image logo" src="https://example.com/images/logo.png" alt="LOGO">
            <span itemprop="name">EXAMPLE</span>
            <span itemprop="description">This is an EXAMPLE</span>
        </a>
    </div>
</div>

<div itemscope itemtype="https://schema.org/WebPage" itemref="organization-example">
</div>

Mais lorsque j'essaie d'utiliser un, BlogPostingil brise la logopropriété:

<div>
    <div itemprop="publisher" itemscope id="organization-example" itemtype="https://schema.org/Organization">
        <a itemprop="url" href="https://example.com">
            <img itemprop="image logo" src="https://example.com/images/logo.png" alt="LOGO">
            <span itemprop="name">EXAMPLE</span>
            <span itemprop="description">This is an EXAMPLE</span>
        </a>
    </div>
</div>

<article
    itemscope
    itemtype="https://schema.org/BlogPosting"
    itemref="organization-example"
>
</article>

Avec l'erreur:

https://example.com/images/logo.png (L'attribut logo.itemtype a une valeur non valide.)

Quelqu'un peut-il expliquer pourquoi? Et quelles mesures pourrais-je prendre pour y remédier?


Vous devez éviter d'utiliser itempropsur la même ligne qu'un itemtype, car l'éditeur est un enfant d'Organisation, WebPage et BlogPosting. Mieux vaut l'utiliser <body itemscope itemtype="https://schema.org/Organization">alors <article itemscope itemtype="https://schema.org/BlogPosting"> <span itemprop="publisher">etc ... Il ne devrait pas être nécessaire de répéter le logo plusieurs fois, en particulier dans un article de blog.
Simon Hayter

@SimonHayter Merci, mais Publisher n'est pas un enfant d'Organisation, et l'Organisation est en haut de la WebPage, donc je voulais le référencer à partir de BlogPosting .. Suggérez-vous la structure Organisation-> BlogPosting-> Publisher? Cela semble incorrect.
Arth

@SimonHayter Aussi https://schema.org/WebPage et l'ensemble du site est criblé d'exemples faisant exactement cela .. itempropsur la même ligne que itemtype.
Arth

Moment blond, je me trompe totalement. Je jetterai un œil dans un peu plus tard et je vous recontacterai :)
Simon Hayter

Réponses:


15

Il s'avère que, car il BlogPostings'agit d'un des types pris en charge par Google en tant que possible extrait enrichi, ils appliquent plus de validation:

Consignes de documentation de la recherche Google pour les articles

Pour cela, l'éditeur d'un article logodoit être de type ImageObjectet avoir un widthet heighten pixels. BlogPostingest un sous-type de Article.

Cet extrait mis à jour est validé via l' outil de test de données structurées de Google :

<div id='web-page-example' itemprop="mainEntityOfPage" itemscope itemtype="https://schema.org/WebPage" itemref="headline-example">
    <div>
        <div itemprop="publisher" itemscope id="organization-example" itemtype="https://schema.org/Organization">
            <a itemprop="url" href="https://example.com">
                <span itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">
                   <img itemprop="url" src="https://example.com/images/logo.png" alt="LOGO">
                   <meta itemprop="width" content="600">
                   <meta itemprop="height" content="60">
                </span>   
                <span itemprop="name">EXAMPLE</span>
                <span itemprop="description">This is an EXAMPLE</span>
            </a>
        </div>
    </div>  
    <div
        id="blog-posting-example"
        itemprop="mainEntity"
        itemscope
        itemtype="https://schema.org/BlogPosting"
        itemref="organization-example web-page-example"
    >
        <span itemprop="author" itemscope itemtype="https://schema.org/Person">
            <span itemprop="name">Example Author</span>
        </span>
        <time itemprop="datePublished" datetime="2016-05-09T11:40:04+02:00">9th May 2016</time>
        <time itemprop="dateModified" datetime="2016-05-09T11:40:04+02:00">9th May 2016</time>
        <h1 id="headline-example" itemprop="name headline">Example Headline</h1>
        <span itemprop="image" itemscope itemtype="https://schema.org/ImageObject">
            <img itemprop="url" src="https://example.com/images/blog.png" alt="LOGO">
            <meta itemprop="width" content="800">
            <meta itemprop="height" content="400">
        </span>
    </div>
</div>  

11

Une réponse brillante et utile de @Arth ci-dessus.

Pour compléter la réponse ci-dessus (pas la concurrencer), voici les mêmes données structurées utilisant le même vocabulaire schema.org , mais cette fois dans JSON-LD:

    "publisher": {
        "@type": "Organization",
        "name": "myOrganization",
        "logo": {
            "@type": "ImageObject",
            "name": "myOrganizationLogo",
            "width": "60",
            "height": "600",
            "url": "http://my-organization.org/my-logo.png"
        }
    }

NB Selon https://developers.google.com/search/docs/data-types/articles

  1. Le logo doit être un rectangle, pas un carré.

  2. Le logo doit tenir dans un 60x600pxrectangle., Et soit exactement 60pxhaut (préféré), soit exactement 600pxlarge. (Par exemple, 450x45pxne serait pas acceptable, même s'il tient dans le 600x60pxrectangle.)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.