Das BlogPosting Publisher-Logo "logo.itemtype hat einen ungültigen Wert" im Google Structured Data Testing Tool

13

Folgendes wird wie erwartet mit dem Google Structured Data Testing Tool ausgeführt :

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

Aber wenn ich versuche, ein zu verwenden BlogPosting, bricht es die logoEigenschaft:

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

Mit dem Fehler:

https://example.com/images/logo.png (Das Attribut logo.itemtype hat einen ungültigen Wert.)

Kann mir jemand erklären warum? Und welche Schritte könnte ich unternehmen, um das Problem zu beheben?

Arth
quelle
Vermeiden Sie die Verwendung itempropin derselben Zeile wie a itemtype, da der Publisher ein untergeordnetes Element von Organization, WebPage und BlogPosting ist. Besser zu benutzen <body itemscope itemtype="https://schema.org/Organization">als <article itemscope itemtype="https://schema.org/BlogPosting"> <span itemprop="publisher">etc ... Es sollte nicht nötig sein, das Logo mehrmals zu wiederholen, besonders in einem Blog-Beitrag.
Simon Hayter
@SimonHayter Vielen Dank, aber Publisher ist kein untergeordnetes Element von Organization, und die Organization befindet sich oben auf der Webseite. Daher wollte ich es aus dem BlogPosting referenzieren. Schlagen Sie die Struktur Organization-> BlogPosting-> Publisher vor? Das scheint falsch zu sein.
Arth
@SimonHayter Auch https://schema.org/WebPage und die ganze Site sind mit Beispielen übersät , die genau das tun ... itempropin derselben Zeile wie itemtype.
Arth
Blonder Moment, ich werde mich total irren. Ich schaue später noch einmal vorbei und melde mich wieder :)
Simon Hayter

Antworten:

15

Da BlogPostinges sich um einen von Google als mögliches Rich Snippet unterstützten Typ handelt, wenden sie mehr Validierung an:

Richtlinien zur Dokumentation der Google-Suche für Artikel

Dies setzt voraus, dass der Publisher eines Artikels logovom Typ ImageObjecta widthund heightin Pixel ist. BlogPostingist ein Subtyp von Article.

Dieses aktualisierte Snippet wird mit dem Google Structured Data Testing Tool überprüft :

<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>  
Arth
quelle
11

Eine brillante und hilfreiche Antwort von @Arth oben.

Um die obige Antwort zu vervollständigen (nicht mit ihr zu konkurrieren), werden hier dieselben strukturierten Daten mit demselben schema.org- Vokabular verwendet, diesmal jedoch in JSON-LD:

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

Hinweis: Laut https://developers.google.com/search/docs/data-types/articles

  1. Das Logo sollte ein Rechteck sein, kein Quadrat.

  2. Das Logo sollte in ein 60x600pxRechteck passen und entweder genau 60pxhoch (bevorzugt) oder genau sein600px breit sein. (Zum Beispiel 450x45pxwäre nicht akzeptabel, obwohl es in das 600x60pxRechteck passt .)

Rounin
quelle