Ошибки, которых следует избегать при применении разметки структурированных данных

Ошибки, которых следует избегать при применении разметки структурированных данных

09.08.2019 0 Автор Антон

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

В документации по ручным действиям, которые Google выполняет для наказания сайта , мы находим множество примеров неправильного использования или злоупотребления структурированными данными. Эти сбои всегда делаются преднамеренно как SEO-стратегия Black Hat, чтобы появиться в SERPS. Очень редко совершают один из этих сбоев непреднамеренно, поэтому даже если мы заявляем, что сделали это непреднамеренно, они также накажут нас перед проверкой вручную.

Мы не должны бояться быть наказанными за структурированные данные , поскольку, как мы уже говорили в других случаях, хорошо используемые улучшают позиционирование и видимость в поисках , в дополнение к вхождениям в голосовых поисках. Чтобы воспользоваться структурированными данными без наказания, мы всегда должны применять их правильно и без обмана.

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

  • Синтетические ошибки 
  • Семантические ошибки

Синтаксические ошибки

HTML программирование

Синтаксические ошибки возникают, когда язык написан и его правила грамматики не соблюдаются . В случае структурированных данных мы должны следовать двум типам правил грамматики : правилам формата, в котором мы собираемся их записывать, например, JSON-LD, и правилам грамматики языка, определенного в словаре schema.org.

Синтаксические ошибки в формате

Как мы уже упоминали, они являются ошибками, допущенными при записи формата структурированных данных ,  JSON-LD или микроданных , поэтому тип данных не может быть интерпретирован .

Давайте рассмотрим пример, где мы генерируем  JSON-LD с несколькими типичными синтаксическими ошибками . Одна из них вызвана тем, что не было учтено, что атрибут «лицензия» может быть пустым при генерации этого кода:

{

«@context»: «https://schema.org/»,

«@type»: «BlogPosting»,

лицензия:

заголовок: «пример»,

}

Если у нас нет значения для «лицензии», мы должны удалить этот атрибут или добавить пустую строку, как показано ниже, чтобы избежать синтаксической ошибки и сделать ее правильным JSON:

{

«@context»: «https://schema.org/»,

«@type»: «BlogPosting»,

«лицензия»: «»,

«заголовок»: «пример»

}

Другими синтаксическими ошибками, исправленными в примере, если вы их не видели, являются кавычки атрибутов и исключение последней запятой перед закрытием ключей. Обязательные атрибуты также отсутствуют, но это не ошибки из-за несоблюдения синтаксиса формата, а из-за несоблюдения синтаксиса словаря.

Чтобы не допустить ошибок в формировании структурированных данных, мы должны следовать грамматике JSON, определенной в RFC 7159 , спецификации JSON-LD в W3C и спецификации микроданных в WhatWG .

Когда язык разметки следует правилам грамматики своего формата, говорят, что он правильно сформирован (в инструментах проверки XML , таких как карта сайта, часто встречается это выражение).

Синтаксические ошибки о schema.org и Google

Это те, кто не соблюдает правила грамматики schema.org или спецификации Google .

Примеры синтаксических ошибок этого типа:

Присвойте в качестве значения атрибута неверный или несуществующий тип данных. Например, если атрибут author может иметь только тип Organization или Person , мы не можем нарушать правила грамматики, назначая данные типа Event .

Добавьте атрибут к типу данных, который не имеет его, из-за ошибок при следовании спецификации. Например, добавьте атрибут addressLocality непосредственно в тип LocalBusiness :

{

«@context»: «http://schema.org»,

«@type»: «LocalBusiness»,

«addressLocality»: «Мадрид»

}

Это ошибка, потому что спецификация указывает, что LocalBusiness состоит из атрибута адреса типа PostalAddress , которому соответствует атрибут addressLocality, а не  LocalBusiness :

{

«@context»: «http://schema.org»,

«@type»: «LocalBusiness»,

«адрес»: {

«@type»: «PostalAddress»,

«addressLocality»: «Мадрид»

}

}

Семантические ошибки

изображение компьютера с таблицей

Те, кто стремится придать данным другое значение, в отличии от того, что они имеют . Яркий пример и преувеличенный будет использоваться для типа данных рецептов книги.

Часто встречаются случаи, когда, хотя ошибки нет, значение можно улучшить.  Например, назначьте тип данных Article для записи Blog вместо производного типа BlogPosting . Но это не ошибка.

Ни один автоматический инструмент не сообщит нам, является ли документ семантически правильным . Это причина, по которой Google делает ручные обзоры, и причина, по которой существуют структурированные данные , поскольку, если бы машина могла безошибочно определить значение данных и отношения между ними, не было бы необходимости отмечать их.

Семантические ошибки — это те, которые могут привести к штрафу за проверку вручную, в то время как синтаксические ошибки будут генерировать уведомления только из консоли поиска Google , без каких-либо штрафов, за исключением правильного структурирования данных.