Логотип видавця BlogPosting "Logo.itemtype має недійсне значення" в інструменті перевірки структурованих даних Google


13

Нижче описано запуск інструменту тестування структурованих даних 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 має недійсне значення.)

Хтось може пояснити, чому? І які кроки я міг би зробити, щоб виправити це?


Вам слід уникати використання itempropв тому ж рядку, що і автор itemtype, оскільки видавець є дитиною організації, веб-сторінки та BlogPosting. Краще використовувати <body itemscope itemtype="https://schema.org/Organization">тоді <article itemscope itemtype="https://schema.org/BlogPosting"> <span itemprop="publisher">і т. Д. ... Не повинно виникати необхідності повторювати логотип кілька разів, особливо в публікації в блозі.
Саймон Хейтер

@SimonHayter Дякую, але Видавець не є дитиною Організації, і Організація знаходиться у верхній частині Веб-сторінки, тому я хотів посилатися на це з BlogPosting. Ви пропонуєте структуру Організація-> BlogPosting-> Видавець? Це здається неправильним.
Арт

@SimonHayter Також https://schema.org/WebPage і весь сайт пронизаний прикладами, які роблять саме це .. itempropу тому ж рядку, що і itemtype.
Арт

Білявий момент, я абсолютно помиляюся. Я перегляну пізніше і повернуся до вас :)
Саймон Хейтер

Відповіді:


15

Виявляється, оскільки BlogPostingодин із типів, які підтримує Google як можливий Rich Snippet, вони застосовують більше перевірки:

Рекомендації щодо пошукової документації Google щодо статей

Це вимагає від видавця статті logoтипу ImageObjectта мати пікселі widthта heightв пікселях. BlogPostingє підтипом Article.

Цей оновлений фрагмент підтверджується за допомогою інструменту тестування структурованих даних 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

Блискуча і корисна відповідь @Arth вище.

Щоб доповнити відповідь вище (не конкурувати з нею), тут є ті ж Структуровані дані, використовуючи той самий словник 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"
        }
    }

NB За даними https://developers.google.com/search/docs/data-types/articles

  1. Логотип повинен бути прямокутником, а не квадратом.

  2. Логотип повинен розміщуватися у 60x600pxпрямокутнику. Він повинен бути точно 60pxвисоким (бажаним), або точно 600pxшироким. (Наприклад, це 450x45pxбуло б неприйнятно, навіть якщо він вписується у 600x60pxпрямокутник.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.