Описание одного и того же исполнителя с помощью JSON-LD и HTML
Как говорит гугл во введении в структурированные данные:
Разметка не должна использоваться, чтобы скрыть содержимое, невидимое для пользователей в любой форме, так как это может привести к вводящему в заблуждение или обманчивому поиску. Например, если разметка JSON-LD описывает исполнителя, тело HTML должно описывать того же самого исполнителя.
Мне интересно, есть ли конкретный способ добавить одни и те же данные как в JSON-LD, так и в HTML-код, или я могу использовать все, что мне нравится, для представления моего HTML-кода (с тем же содержимым, что и в JSON-LD)?, например:
<!-- script -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Question",
"text": "What is attr_accessor in Ruby?",
"text": "I am having difficulty understanding Ruby attr_accessors, can someone explain them?",
"acceptedAnswer": {
"@type": "Answer",
"text": "the answer for this qustion is bla bla bla bla",
"dateCreated": "2010-12-01T22:01Z",
"author": {
"@type": "Person",
"name": "someuser"
}
}
}
</script>
<!-- html -->
<div>
<h1>What is attr_accessor in Ruby?</h1>
<p class="question">I am having difficulty understanding Ruby attr_accessors, can someone explain them?</p>
<p class="answer">the answer for this qustion is bla bla bla bla</p>
</div>
1 ответ
Этого можно достичь с помощью jQuery/Javascript, но если вы не знакомы с ними, это может быть хорошим вариантом использования для динамически генерируемых структурированных данных с помощью Google Tag Manager.
Основной процесс использования GTM для этого:
Вы создаете тег "Пользовательский HTML" в Диспетчере тегов Google, который содержит весь сценарий JSON.
В зависимости от ваших потребностей, вы можете использовать встроенные переменные GTM для выбора определенных элементов HTML на вашей странице. Вам может потребоваться создать "пользовательскую переменную", которая в основном содержит Javascript для выбора содержимого определенного элемента HTML.
В вашем JSON-скрипте - ключи, которые вы хотите использовать в динамическом режиме, будут указывать на ваши переменные GTM, которые вы определили.
Вы указываете, к каким страницам вы хотите добавить свой скрипт, добавляя GTM "Trigger".
При загрузке страницы GTM будет динамически заполнять ваш скрипт JSON-LD на основе содержимого этой конкретной страницы.
Это чрезвычайно масштабируемо, особенно когда вы пытаетесь добавить структурированные данные в посты блога или страницы продукта, которые используют один и тот же шаблон и, следовательно, имеют одинаковую базовую структуру HTML.
Есть несколько учебных пособий, которые могут помочь вам пройти через это, но я не буду ссылаться на них, но их можно легко найти, используя Googling "динамически генерируемые структурированные данные google tag manager".