Описание одного и того же исполнителя с помощью 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".

Другие вопросы по тегам