Должен ли быть встроен JSON-LD?

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

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

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

Ответы

Ответ 1

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

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

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

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

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

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