Il logo dell'editore BlogPosting "logo.itemtype ha un valore non valido" nello strumento di test dei dati strutturati di Google


13

Di seguito viene eseguito lo strumento di test dei dati strutturati di Google come previsto:

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

Ma quando provo a usare un BlogPostingsi rompe la logoproprietà:

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

Con l'errore:

https://example.com/images/logo.png (L'attributo logo.itemtype ha un valore non valido.)

Qualcuno può spiegare perché? E quali passi potrei prendere per risolverlo?


Dovresti evitare di utilizzarlo itempropsulla stessa riga di itemtype, poiché l'editore è figlio di Organizzazione, WebPage e BlogPosting. Meglio usare <body itemscope itemtype="https://schema.org/Organization">quindi <article itemscope itemtype="https://schema.org/BlogPosting"> <span itemprop="publisher">ecc ... Non dovrebbe essere necessario ripetere il logo più volte, in particolare in un post sul blog.
Simon Hayter

@SimonHayter Grazie, ma Publisher non è un figlio di Organizzazione e l'Organizzazione è nella parte superiore della Pagina Web, quindi ho voluto fare riferimento al BlogPosting .. Stai suggerendo la struttura Organizzazione-> BlogPosting-> Editore? Questo sembra errato.
Arth,

@SimonHayter Anche https://schema.org/WebPage e l'intero sito è pieno di esempi che fanno esattamente questo .. itempropsulla stessa riga di itemtype.
Arth,

Momento biondo, sbaglierò totalmente. Daremo un'occhiata più tardi e torno da te :)
Simon Hayter

Risposte:


15

Si scopre che, poiché BlogPostingè uno dei tipi supportati da Google come possibile rich snippet, applicano una maggiore convalida:

Linee guida per la documentazione della Ricerca Google per gli articoli

Ciò richiede che un editore di un articolo logosia di tipo ImageObjecte abbia un widthe heightin pixel. BlogPostingè un sottotipo di Article.

Questo frammento aggiornato viene convalidato tramite lo strumento di test dei dati strutturati di 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

Una risposta brillante e utile di @Arth sopra.

Per completare la risposta sopra (non competere con essa), ecco gli stessi dati strutturati che usano lo stesso vocabolario di schema.org , ma questa volta 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"
        }
    }

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

  1. Il logo dovrebbe essere un rettangolo, non un quadrato.

  2. Il logo dovrebbe adattarsi a un 60x600pxrettangolo., Ed essere esattamente 60pxalto (preferito) o esattamente 600pxlargo. (Ad esempio, 450x45pxnon sarebbe accettabile, anche se si adatta al 600x60pxrettangolo.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.