Как Google обрабатывает веб-страницы с несколькими блоками JSON-LD Schema.org?

Как поисковые системы, такие как Google, обрабатывают веб-страницы с несколькими блоками JSON-LD (Schema.org)?

Например, что произойдет, если на странице есть оба неконфликтующих script блока ниже?

<script type="application/ld+json">
{   "@context":"http://schema.org",    
    "@type":"WebPage",
    "@id": "#123",
    "author": {
      "@type": "Person",
      "name": "Foo Bar"
    }
}
</script>
<script type="application/ld+json">
{   "@context":"http://schema.org",
    "@type":"WebPage",
    "@id": "#123",
    "text": "blah blah blah",
    "url":"pageurl"
  }
</script>

person Uppercase Brands    schedule 28.11.2018    source источник


Ответы (1)


Мы не можем знать, как на самом деле их обрабатывает поиск Google, но мы можем знать, как Инструмент проверки структурированных данных Google справится с таким случаем.

Тот же URI

Если объекты имеют одинаковый URI (в JSON-LD: @id), они являются одинаковыми. SDTT Google будет отображать одну запись, показывающую свойства всех объектов с одним и тем же URI. Итак, судя по выходным данным в SDTT, Google, похоже, рассматривает эти два случая одинаково:

<script type="application/ld+json">
{   "@context":"http://schema.org",    
    "@type":"WebPage",
    "@id": "#123",
    "url":"pageurl",
    "text": "blah blah blah"
}
</script>
<script type="application/ld+json">
{   "@context":"http://schema.org",    
    "@type":"WebPage",
    "@id": "#123",
    "url":"pageurl"
}
</script>
<script type="application/ld+json">
{   "@context":"http://schema.org",
    "@type":"WebPage",
    "@id": "#123",
    "text": "blah blah blah"
}
</script>

Вывод в SDTT Google

Другой (или нет) URI

По умолчанию предполагается, что объекты описывают разные вещи. Однако, если определенные (обычно уникальные) свойства имеют одинаковые значения (телефон, адрес, имя и т. Д.), Потребитель, такой как Google Search, может сделать вывод, что объекты описывают одно и то же - это не стандартизовано. , хотя, и если / когда потребители это сделают, не задокументировано.

person unor    schedule 28.11.2018
comment
По опыту, робот Googlebot также выполняет слияние при совпадении идентификаторов. Мы довольно часто настраиваем идентификаторы для устранения повторяющихся сущностей, и это улучшило расширенные сниппеты. например звездочки с ценами и отзывами, показывающие, когда они определены в разных сценариях. - person Tony McCreath; 05.12.2018
comment
@TonyMcCreath: Вы имеете в виду атрибут HTML id? Если да, то я знаю, что SDTT Google (я думаю) содержит ошибки, поскольку он генерирует (неправильный) URI из этот атрибут - но это должно влиять только на Microdata / RDFa, а не на JSON-LD. Или я что-то упускаю? - person unor; 05.12.2018
comment
В микроданных это атрибут itemid. В json-ld это @id. Если их нет, то SDTT создает их из URL-адреса и, возможно, связанного атрибута id (если я правильно помню). - person Tony McCreath; 06.12.2018