web-dev-qa-db-ja.com

Google構造化データテストツールのBlogPosting Publisherロゴ「logo.itemtypeに無効な値があります」

以下は 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>

しかし、BlogPostingを使用しようとすると、logoプロパティが壊れます。

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

エラーあり:

https://example.com/images/logo.png(logo.itemtype属性の値が無効です。)

誰でもその理由を説明できますか?そして、それを修正するためにどのような手順をとることができますか?

13
Arth

BlogPostingはリッチスニペットとしてGoogleでサポートされているタイプの1つであるため、さらに検証が適用されます。

記事のGoogle検索ドキュメントガイドライン

これには、記事の出版社のlogoImageObjectタイプであり、widthおよびheightがピクセルである必要があります。 BlogPostingArticleのサブタイプです。

この更新されたスニペットは、 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>  
15
Arth

上記の@Arthによる素晴らしい回答。

上記の回答を補完するために(競合しない)、同じStructured Dataを使用して同じschema.org語彙、ただし今回はJSON-LDで:

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

N.B。https://developers.google.com/search/docs/data-types/articles による

  1. ロゴは正方形ではなく長方形にする必要があります。

  2. ロゴは60x600px長方形に収まる必要があり、正確に60px高(推奨)、または正確に600px幅でなければなりません。 (たとえば、450x45pxは長方形600x60pxに収まりますが、受け入れられません。)

10
Rounin