Нужно ли встраивать JSON-LD?

В настоящее время мы используем формат микроданных для предоставления данных поисковым системам, и мы планируем предоставить больше информации, чтобы иметь возможность поддерживать некоторые более продвинутые функции поиска Google. Когда я просматриваю поля, я обнаруживаю, что мне нужна информация, которую мы в настоящее время загружаем асинхронно, поэтому она не является частью первоначального ответа.

JSON-LD выглядит так, как предпочитает Google, но во всех примерах, которые я видел, он встроен в страницу. Не могли бы вы дать ссылку на файл JS, чтобы он загружался как отдельный вызов? Что-то типа

<script type="application/ld+json" src="/myid123/jsonld.js"></script>

person Ryan B    schedule 16.06.2015    source источник
comment
Возможный дубликат Как внедрить json-ld и включить в HTML-документ   -  person wortwart    schedule 19.04.2017


Ответы (1)


Если вы используете элемент script в качестве блока данных "атрибут src не должен указываться".

Если элемент script не используется в качестве блока данных, его необходимо "использовать для включения динамических скриптов". Но документ JSON-LD не является динамическим сценарием.

Для ссылки на другой ресурс, точно так же, как вы делаете это с внешними таблицами стилей или фавиконками, вы можете использовать элемент link в head (или соответствующий HTTP-заголовок):

<link href="/myid123/jsonld.js" rel="alternate" type="application/ld+json" />

В принципе, потребители могут следовать этой ссылке (возможно, только если указан определенный тип ссылки) и использовать данные, точно так же, как они делают это со встроенными JSON-LD, Microdata или RDFa.

Однако потребители, конечно, не обязаны делать это, и многие, вероятно, этого не делают.
Google Search, в частности, не претендует на поддержку использования Schema.org в JSON- формат ЛД. Однако они утверждают, что поддерживают "динамически внедряемые" блоки данных JSON-LD.

person unor    schedule 17.06.2015
comment
Извините, ошибка копирования и вставки, ссылка - это то, что я имел в виду. но если Google поддерживает динамическую загрузку через JS, то это тоже будет работать. Нужна ли Google какая-то индикация, чтобы ожидать динамической загрузки JSON-LD? - person Ryan B; 17.06.2015
comment
Что это значит? Сканирует ли Google мой json-ld, на который ссылается ‹link href=/myid123/jsonld.js type=application/ld+json /›? Или мне нужно встроить его в мой тег ‹script›? - person nimo23; 11.08.2015
comment
@ nimo23: Согласно их документации, они поддерживают JSON-LD только в script, а не через link. - person unor; 11.08.2015
comment
Хорошо спасибо. Итак, в соответствии с stackoverflow.com/questions/26892397/, я должен использовать тег script и поместить его в строку. К сожалению, даже @context не работает с поиском Google. - person nimo23; 11.08.2015
comment
Жаль, что Google еще не поддерживает внешний документ JSON-LD, потому что нам нужно увеличить страницу только для того, чтобы помочь поисковой системе; пользователю все равно, что на странице что-то скрыто, поскольку он / она грабит ее. - person Constantin Galbenu; 10.09.2018