Микроразметка сайта - от теории к практике

Добрый день всем.

Вот и пришло время долгожданного материала о микроразметке.

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

Материал достаточно объемный, но надеюсь, что он поможет вам сделать микроразметку на сайте.

В последнее время я заметил, что очень много людей зациклены на микроразметке. Случилось это после того, как различные СЕО блоггеры начали ее бурно обсуждать. Но давайте же разберемся, зачем вообще она используется и нужно ли уделять ей столь большое внимание. Стоит ли игра свеч?

Что такое микроразметка и зачем нужна

Если вы слышите микроразметка или семантическая разметка страницы (сайта), то знайте, что под этим подразумевается разметка страницы с помощью дополнительных атрибутов (тегов), которые дают поисковым системам понятия об отдельных элементах страницы, указывая на их содержание.

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

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

Сделав это, мы не только поможем поисковым системам, но и своему сайту, так как микроразметка используется не только для понимания структуры сайта и содержания, но и для построения поисковой выдачи, формируя функциональные и привлекательные сниппеты, что сказывается на кликабельности (CTR) сайта в выдаче. А это увеличение общей посещаемости сайта.

Яркий пример таких сниппетов вы можете видеть ниже.

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

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

Вот еще один вариант расширенных сниппетов.

Такой же вариант позволяет посетителю сразу понять о чем сайт и что он может ему дать. Если сниппет построен правильно в таком случае, то пользователь может сразу совершить нужное вам действие, а как мы знаем, каждый сайт должен выполнять свои задачи (подписка, покупка и т.д.).

Согласитесь, что такой сниппет будет заметней в выдаче, чем обычное описание страницы, так как имеет гораздо больший размер. Да и смотрится солидней.

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

Влияет ли микроразметка на ранжирование? Стоит ли ожидать повышение позиций после ее внедрения?

Чтобы не писать свои рассуждения, обратимся к справке поисковой системы Яндекс. Итак, что же нам говорит сам Яндекс на данный счет. Цитирую:

Будет ли мой сайт ранжироваться лучше, если я использую разметку?

Ответ: Разметка может сделать ваш сайт более заметным в Поиске Яндекса и таким образом привлечь больше посетителей, принадлежащих целевой аудитории. Яндекс же заинтересован в том, чтобы пользователи решали свои задачи с помощью Поиска. Одна из метрик качества Поиска так и называется — «счастье пользователя». Сайты, повышающие «счастье», ранжируются выше.

Можем сделать вывод, что напрямую разметка не влияет на позиции, а лишь косвенно, так как мы можем сделать более привлекательный сниппет, что само по себе приведет больше посетителей на ресурс. Дальше уже дело техники. Больше посетителей - больше накопленных хороших показателей о страницах (если контент качественный) и позиции постепенно будут расти.

Также стоит отметить, что помогая поисковым системам понять сущность контента, его тип (информация, встреча, продукт и т.д.), мы делаем контент более релевантным поисковому запросу и он должен занимать более высшие позиции. Может и не прямым путем, но косвенно - так точно. Яндекс нам это подтвердил (см. выше).

Итак, давайте сделаем краткий чек-лист преимуществ наличия микроразметки на сайте. Это те моменты, которые косвенно или прямо указывают на качество сайта, увеличивают его позиции и помогают поисковым системам.

  1. Во-первых, можно сделать вывод, что повышается доверие к сайту со стороны поисковых систем, так как мы указываем поисковому роботу на основные элементы сайта, не боясь, что у нас что-то не так и не пытаясь что-то скрыть от поискового робота. В итоге поисковым системам логично думать, что мы им помогаем и открываем им "душу сайта", что непременно скажется и на качестве индексации сайта, а в конце концов и на позициях;
  2. Во-вторых, при должных настройках мы можем выделить свой сниппет в выдаче, что приведет к мгновенному росту трафика на страницы ресурса без изменения позиций. В конечном итоге увеличение трафика приведет к повышению отдельных страниц в выдаче и сайта в целом;
  3. В-третьих, мы увеличиваем поведенческий фактор - CTR в выдаче (кликабельность). Данный пункт очень тесно связан с предыдущим. Раз на наш сайт больше кликают, значит мы более точно помогли посетителю понять, что наша страница более качественней, чем на других площадках. А значит - сайт нужно немного поднять вы выдаче.

Итак, я думаю, что ответ на поставленный вопрос дан.

Нужна ли вообще микроразметка? - Да, нужна.

Конечно же, если стоит выбор между мучительным внедрением разметки на сайт и работой над другими моментами, то конечно же не стоит зацикливаться только на семантической разметке. Лучше работать над контентом, что гораздо важнее какой-то технической детали из сотни или тысячи других вещей. Тем более, что сейчас можно выделить своей сниппет в выдаче без внедрения разметки в шаблон, а лишь установив плагин WP-PostRatings, в котором уже предусмотрена разметка рейтинга.

Когда мы знаем основные преимущества, можно переходить к рассмотрению основных типов семантической разметки.

к содержанию ↑

Основные типы микроразметки

Тут все достаточно сложно. Для начала вам нужно понять, что существуют словари микроразметки и их синтаксисы.

Под словарем можно подразумевать язык микроразметки, включающий в себя набор классов, свойств, которые указывают суть содержимого страницы. В каждом словаре каждый элемент на сайте указывается с помощью различных тегов. Например, в словаре Schema.org название документа указывается с помощью тега "name", а вот микроформаты используют CSS класс внутри блока того элемента, который стоит разметить (<span class="fn org">Ромашка</span>, где fn org - тег названия в данном случае).

В каждом словаре и синтаксисе свои теги и атрибуты, что делает из форматов микроразметки так называемый винегрет. Действительно сложно во всем разобраться.

Под синтаксисом же понимают способ использования того или иного языка (словаря) семантической разметки. Синтаксис определяет с помощью каких тегов будет указываться сущность объектов и их свойства на странице.

Из предыдущего определения про синтаксис прозвучало понятие сущности. Что это это значит применимо к рассматриваемому вопросу?

Сущность - если просто, то это тот тип информации (единица контента, информации), на которую мы указываем поисковым системам. Например, нам нужно указать на главной странице блога на анонсы, то есть выделить каким-то тегом сущность данной области, определив ее, как область анонсов. Тоже самое нужно сделать и со страницей записи, где необходимо указать на сущность области, где находится контент (статья), то есть выделить текст, как область контента.

Практически для каждого элемента страницы можно определить сущность, то есть указать, что это такое: контент или рейтинг, или же вообще комментарии. Таким образом сущности можно указать на таких страницах (в пример беру простой шаблон блога, как у меня):

  • Главная - список анонсов;
  • Страница записей - комментарии, контент, рейтинг (если имеется), хлебные крошки;
  • Обычная статическая страница - контент, комментарии (если имеются).

Кроме того, на каждом типе страниц можно обозначить один и тот же элемент - шапка сайта, футер (подвал), сайдбар (боковая колонка), главное меню.

К каждой сущности имеются свои свойства, например:

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

Существуют и другие области со свойствами, но их я рассматривать не буду, так как в каждом словаре разметки их по несколько десятков, а в разметке от schema.org их количество вообще исчисляется сотнями.

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

Теперь перейдем к основной мысли пункта и рассмотрим основные форматы семантической разметки. Краткий список основных словарей и синтаксисов можно увидеть в интеллект-карте ниже.

Все словари и синтаксисы рассматривать не будем, так как это бессмысленно. Они вам не понадобятся. Обсудим лишь вкратце основные форматы разметки:

  • Schema.org;
  • Open Graph;
  • Микроформаты.

Некоторые из остальных затронем совсем немного.

  • Schema.org - данный словарь семантической разметки был разработан по инициативе поисковых систем в 2011 году. Поисковиками данный словарь же и рекомендуется, так как он постоянно совершенствуется: добавляются новые сущности и свойства на основе рекомендаций самих веб-мастеров. Словарь schema.org самый обширный на текущий момент.Ознакомиться с полным описанием и всеми возможностями данного языка разметки можно на официальном сайте. Синтаксис сущности в schema.org осуществляется с помощью микроданных;
  • Open Graph - данный словарь микроразметки был введен социальной сетью Facebook, но поддерживается и другими популярными соц.сетями (Вконтакте, Twitter, Google+, LinkedIn). Основная задача - брать корректные данные, когда нужно разместить ссылку в какой-то соц сети.Без данной разметки социальные сети будут брать произвольный контент для формирования поста на страницах соц.сетей. Чтобы брались нужные нам данные, можно указать на требуемые данные с помощью Open Graph (OG). Именно для этого чаще всего и используют OG, но имеются и другие задачи;
  • Микроформаты - этот словарь используется все реже и реже, так как существуют более удобные языки (schema.org и OG). Отличительной особенностью от других языков разметки является отсутствие дополнительных тегов и их атрибутов, так как свойства прописываются внутри атрибута class тех html элементов, которым нужно присвоить нужные значения (имя, дата, адрес и так далее). Пример такой реализации можно видеть на изображении ниже.Про основные типы микроформатов можете узнать из изображения ниже (кликабельно).

Последним шагом стоит отметить еще один словарь, а именно Data Vocabulary, который разрабатывался компанией Google и сейчас его развитие приостановлено. Все внимание перетекло на Schema.org. Можно сказать, что все свойства и сущности, которые был в этом языке разметки стали прототипами для разметки от schema.org.

Насколько я понял, то словарь Data Vocabulary может работать с синтаксисами: микроданные и язык RDFа, что можно очень хорошо видеть в справке Google по материалу микроразметки хлебных крошек. Там предоставляется 2 варианта разметки:

  1. Разметка словарем Data Vocabulary микроданными;
  2. Разметка Data Vocabulary с RDFa.

Немного забегу наперед. На первом изображении вы можете видеть, что вместе со словарем Data Vocabulary используются микроданные от Schema.org. Дело в том, что пока хлебные крошки с schema не поддерживаются. Поэтому, используется комбинированный вариант.

к содержанию ↑

Какой формат разметки лучше использовать

Я думаю, что вы уже знаете вопрос на данный вопрос, так как в описании каждого типа разметки я давал неоспоримый довод, что поисковые системы сами рекомендуют словарь разметки Schema.org. Именно его и нужно использовать. Но вариантов внедрения данной микроразметки может быть масса, как от плагинов, так и внедрения сущностей и свойств в шаблоны оформления.

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

В данном пункте также стоит вопрос совмещения различных словарей на одном сайте. Это допустимо и в некоторых случаях без этого никакой не обойтись. Это четко видно на примере разметки хлебных крошек, когда совмещается вариант разметки Data Vocabulary и микроданных от Schema.org. Ничего в этом страшного нет. Об этом говорит и сам Яндекс.

Тут уже на ваше усмотрение. Если вам проще использовать микроформаты, то действуйте. Я же лично буду показывать весь процесс на микроразметке Schema.org, так как у самого она внедрена и все работает на ура без единой ошибки.

Но перед ее внедрением я рекомендую проверить ваш шаблон на наличие разметки, так как имеется вариант, что она у вас уже есть.

к содержанию ↑

Как проверить наличие разметки на сайте

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

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

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

После перехода в валидатор Яндекса мы вводим адрес страницы и жмем "Проверить".

Если написало, что "Микроразметка не обнаружена", то значит никакой сторонней разметки в шаблоне нет. Это очень хорошо, так как не потребуется тратить силы на ее удаление. Но будьте внимательны, ведь на одном типе страниц разметки может не быть, а на другом она будет присутствовать (например, на странице статьи).

Вот, как раз, я анализирую страницу записи и получается, что комментарии шаблона размечены микроформатами (присутствует vcard). Об этом свидетельствует различный код в результатах проверки.

Нам микроформаты ни к чему, поэтому их стоит удалить. Может случится ситуация, что у вас шаблон размечен и другими форматами разметки. Тогда их стоит также удалить. А возможно, что сразу будет внедрена разметка от Schema.org. Такое также бывает, но очень редко, так как стоящих шаблонов в бесплатном доступе практически нет. А вот плохих пруд пруди.

Теперь давайте рассмотрим процесс удаления сторонней разметки.

к содержанию ↑

Удаление сторонней разметки

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

Все сводится к тому, чтобы удалить теги и их атрибуты той разметки, которая у вас оказалась. Единственное отличие микроформатов от других типов микроразметки будет заключаться в том, что все типы кроме микроформатов добавляют новые теги и атрибуты. Микроформаты же ничего не добавляют а прописываются внутри атрибута class определенного html элемента шаблона (например, название статьи), как я это писал в пункте про основные типы.

Кстати, в пункте №6 данной статьи я даю код разметки комментариев, который нужно вставить в файл функции шаблона functions.php. Данный код должен вылечить эти ошибки от сторонней разметки микроформатами. Поэтому, если у вас данная проблема имеется, то сначала рекомендую проверить тот код на своем шаблоне. Он должен помочь. Это избавит вас от лишней работы по ручному избавлению. Если же ничего не получится, тогда делаем все руками, как я описываю ниже.

Теперь перейдем к самому процессу. Итак, ранее стало ясно, что у меня лишняя разметка от микроформатов. При проверке в валидаторе нам выдало тег vcard, который и создает ошибки.

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

  • Найти элементы с атрибутом class, внутри которого прописан vcard. Просто открываете исходный код страницы (ctrl+u), на которой валидатор обнаружил vcard, делаете поиск по нему (ctrl+f) и находите vcard. Смотрите что-это за элемент, чтобы понять в каком файле он может находиться. Это может быть заголовок записи (файл single.php), как вариант, а может быть и что-то другое. Основная суть - обнаружить данный тег в файлах шаблона;
  • Заменить vcard на что другое, например на card или ard. В общем на что-то отличающееся. Удалять нет смысла, так как данный кусок кода (vcard) прописан внутри атрибута class, которому прописаны стили и, если мы его удалим, то стили не будут соответствовать имени атрибута class внутри файла стилей.Что я имею ввиду. Например, имеется html элемент:

    Как видим, внутри блока div имеется атрибут class с названием comment-author vcard. Классу vcard в данном случае задано определенное оформление.

    Вот эти стили из файла.

    Если мы удалим vcard из всего имени атрибута class, то данные стили не будут применимы к новому атрибуту class (т.к. названия разные) и оформление комментариев в лучшем случае просто изменится. В худшем же все поплывет.

    Поэтому, удалять нет смысла. Проще изменить данную приставку, которая образует разметку с помощью микроформатов на какую-то другую, например, удалить первую букву "v", чтобы получилось card, а полный вариант будет следующий.

  • Последним шагом мы идем в файл стилей, ищем в нем все содержимое с vcard и заменяем его на card. Таким образом стили не поплывут. Название станет новое, но уже не будет определяться, как микроформат, что нам и нужно.

Надеюсь, что я объяснил довольно просто. Хотя, у новичка может и больше всего, что воникнет путаница в голове.

Вот как данный кусок кода с vcard выглядел у меня изначально в файле шаблона.

После изменения стало так.

В стилях я также произвел изменения.

Теперь микроформатов нет и оформление сохранилось в исходном состоянии.

Итак, когда мы удалил стандартную разметку (если она присутствовала), можно встраивать новую от Schema.org. К данному процессу мы и приступаем.

к содержанию ↑

Внедряем микроразметку Schema.org

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

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

  • Файл single.php (файл записей): сущность - область контента (статья), свойства - дата публикации, автор, рубрика, название статьи, изображения;
  • Файл functions.php (в моем случае - разметка кода комментариев): сущность - комментарий, свойства - текст комментария, дата и имя комментатора;
  • Файлы со списком анонсов index.php, category.php, archive.php (главная, рубрики и архивы соответственно): сущность - список анонсов, свойства - дата публикации, автор, рубрика, название статьи;
  • Файл page.php (обычная статическая страница - не обязательно): сущность - область контента, свойства - заголовок текста и, если имеется, то дата, автор и другие;
  • В файле header.php также разметить шапку - сущностью будет шапка (header), а свойствами - заголовок сайта + описание;
  • Файл sidebar.php (боковая колонка): сущность - вся боковая колонка, свойство - заголовок каждого виджета;
  • Файл footer.php (подвал сайта): сущность - весь подвал, свойство - дата копирайта + название сайта (я не размечал название);
  • Файл header.php (верхняя часть ресурса): сущность - главное навигационное меню, свойство - ссылки + их анкоры.

Теперь по поводу тегов и атрибутов, которые соответствуют каждому типу сущностей и соответствующим им свойствам. Сначала про сущности.

Теперь теги свойств.

  • Название страницы (текста) - itemprop="headline"
  • Текст записи - itemprop="articleBody" (возможно применять и для описания, если оно формируется, как часть из полного текста)
  • Описание - itemprop="description"
  • Дата публикации - itemprop="datePublished"
  • Автор - itemprop="author"
  • Категория статьи - itemprop="articleSection"
  • Изображение - itemprop="image"
  • Текст комментария - itemprop="text"
  • Имя комментатора - itemprop="creator"
  • Дата комментария - itemprop="datePublished"
  • Ссылка (применимо к главному меню и к изображению) - itemprop="url"
  • Год копирайта в футере - itemprop="copyrightYear"
  • Дата последнего изменения страницы - itemprop="dateModified"
  • Адрес - itemprop="address"
  • Улица - itemprop="streetAddress"
  • Индекс - itemprop="postalCode"
  • Расположение адреса - itemprop="addressLocality"
  • Телефон - itemprop="telephone"
  • Длина изображения - itemprop="width"
  • Ширина изображения - itemprop="height"
  • Логотип - itemprop="logo"

Это основные свойства, которые мы будет сейчас использовать.

Дальнейшие действия по микроразметке шаблона достаточно просты.

Каждая область, которой нужно определить сущность и свойство с помощью выше предоставленных тегов, обернута каким-то общим тегом. Это может быть тег блока div, article, тег span, заголовок H1 и другие. Чтобы была проще понять, то заголовок практически всегда обернут в тег H1, что и должно быть. Тега будет 2: открывающий и закрывающий. И так с каждым элементов сайта, а не только с заголовками.

Смысл в том, что каждому необходимому элементу нужно будет задать тег сущности (указать тип контента: статья или комментарий, или список анонсов и т.д.) и свойства внутри его открывающего тега.

Теперь практика. Например, имеется файл одиночной записи (статьи) single.php. Приступим с его разметки.

к содержанию ↑

Микроразметка поста (статьи)

Начнем с того, что зададим сущность. В шаблоне имеется общий тег, который оборачивает всю область контента записи (и текст статьи и название и комментарии) и у каждого он разный. У кого-то это может быть блок div. У меня же это article. Естественно, данный тег открывается в самом начале, где начинается весь контент, и где-то заканчивается, когда контент заканчивается.

И именно в самом начале внутри открывающего тега article мне и необходимо вставить тег сущности области контента на странице записи (коды давал немного выше). Даю вам изображение (кликабельное) итоговой разметки файла записи single.php, а затем объясню, что было и что стало в итоге, если кому-то будет непонятно. Изображение большое, но кликабельное, поэтому можете кликнуть на него и посмотреть в увеличенном размере или открыть его в новой вкладке и посмотреть в полном размере.

Изначально идет открытие всей области контента записи с помощью тега article. Было так:

А стало так:

Как видим, внутри открывающего тега article внесен тег сущности поста. Теперь поисковой робот поймет, что это область, в которой содержится контент. Будет воспринимать данный участок, как объект. Это очень важно.

К слову. Многие устанавливают рейтинги статей без плагина и после проверки страницы в валидаторе Яндекса или Google им пишет, что не указан объект отзыва. Это связано с тем, что рейтинг размещен сам по себе. Нужно разместить его внутри данной области, которая в свою очередь должна быть определена тегом разметки, как область контента (или объект отзыва). Тогда рейтинг будет принадлежать объекту, то бишь статье. Ошибки выдавать после этого не будет.

Вернемся к процессу. Сначала мы разместили сущность объекта (обернули всю главную область общим тегом), а после - размечаем ее свойства, то есть второстепенные данные: дату публикации, автора, тело статьи (сам текст), данные о публикаторе (адрес, организацию, логотип), дату последнего изменения страницы, адрес главной страницы и так далее. Все точно также - внутри каждого открывающего тега необходимого элемента указываем соответствующие параметры. Ниже предоставляю пояснения, что было до внесения правок, а что стало после.

Изначально мы копируем 2 строчки кода сразу после открывающего тега, оборачивающего всю область контента. У меня это тег article с сущностью внутри него, разместившейся ранее по тексту.

  • 1я строка отвечает за вывод строки, которая указывает на адрес страницы и говорит, что именно эта страница является главной.
  • 2я строка - дата последнего изменения страницы.

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

Если вы заметите, то в вышеприведенных кодах присутствует тег стилей display:none, который говорит, что эти данные на странице отображать не нужно, а только в исходном коде, чтобы поисковик их увидел. Собственно это мне и нужно. Данный тег находится в строках 2 и 9 и скрывает отображение логотипа и адреса. Если хотите отобразить, то уберите эти стили. В будущем я так и сделаю, когда кардинально переделаю дизайн блога, оформлю это в компактный красивый блог, который будет хорошо вписываться в дизайн и давать информацию о мне.

Касаемо логотипа, то у многих его просто нет. Я предлагаю поступить следующим образом - либо создать небольшое изображение и написать на нем название сайта с адресом (самый простой вариант логотипа) или же загрузить свою фотографию (самый ленивый вариант). У меня же логотип есть, поэтому я его и прописал.

Итак, теперь мы размечаем следующую информацию. Тут уже будет полегче. Просто нужно будет найти все остальные нужные коды, которые выводят ту или иную информацию (заголовок, категория, дата публикации, автор), и внутри их открывающих тегов, в которые они заключены, вставить необходимые теги свойств разметки schema.org.

Заголовок записи. Было:

Стало:

Дата публикации. Было:

Стало:

Автор. Было:

Стало:

Категория. Было:

Стало:

Текст статьи. Было:

Стало:

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

В предпоследнем пункте статьи я дам вам коды, которые вы сможете использовать, если у вас вдруг чего-то не хватает.

Итак, теперь мы должны проверить свою страницу в валидаторах яндекса и гугла.

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

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

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

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

Никаких ошибок быть не должно. Все четко. Каждое изображение должно быть обернуто разметкой, как и н скриншоте выше.

к содержанию ↑

Микроразметка главной страницы

Тут нужно обернуть код, выводящий список анонсов тегом сущности списка анонсов. Делается это точно также. Внутри общего тега, который оборачивает весь код в шаблоне, размещаем нужный тег (сущность списка блоговых постов - blogposting, а можно и по аналогии со страницей записи -article). Смотрите изображение (кликабельно).

Как видим, у меня список анонсов выводится тегом списка li, то есть каждый анонс в него заключен. Внутри списка практически тоже самое, что и внутри самой записи - имеются даты, имя автора, название рубрик, адрес, логотип, публикатор и так далее. Это вы можете прекрасно видеть на страницах блога. Структура аналогичная, только текст статьи не полный. В общем, разметка точно такая же, как и для страницы записи, за исключением тега сущности анонсов blogposting.

Также необходимо использовать немного другой код разметки изображений для страницы анонсов, так как там выводятся не просто картинки, а миниатюры. Микроразметка миниатюр будет осуществляться с помощью практически аналогичного кода. Если ранее их приходилось размечать руками, то сейчас в этом нет смысла. Вот код (размещаем его также в файле функций functions.php).

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

Таких записей blogposting будет столько же, сколько анонсов на данной странице. Если вместо blogposting вы использовали article, то у вас и будет несколько article в зависимости от количества анонсов.

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

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

к содержанию ↑

Микроразметка комментариев

Итак, комментарии. Упростим задачу до вставки одного кода в файл функции functions.php и модификации функции, которая выводит комментарии на страницах сайта. Сперва берем следующий код и размещаем его внутри файла functions.php в самом начале сразу перед открывающим тегом < ?php. Если будет выдавать ошибку, можно попробовать его разместить после закрывающего тега ?> в самом конце файла.

Также имеет место быть вариант размещения, когда нужно в данном коде убрать в самом начале открытие php кода (удалить < ?php) и в самом конце его закрытие (удалить ?>). Тогда нужно размещать код не перед или за открывающим (закрывающим) тегом php, а внутри этих тегов рядом со всеми другими функциями. Иногда я сталкивался с проблемой, когда именно такой вариант размещения работает.

Код работает не на всех шаблонах!

Следующим шагом мы открываем файл comments.php и ищем в нем функцию вывода комментариев. Выглядит она так:

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

Может быть ситуация, когда вместо просто варианта кода, будет немного измененный вариант с уже внесенными параметрами, например:

В таком случае мы через знак & добавляем вызов нашей функции разметки комментариев callback=schema_comment. Получится так:

В моем же примере все еще гораздо сложней. Внутри данной функции находятся параметры, как и в предыдущей строке кода. Но они выводятся немного по-другому.

Если у вас такой вариант, то внутри скобок рядом со всеми параметрами мы вводим новый. В конечном итоге получим следующий код.

Когда мы разместили код функции в файле functions.php, а также немного изменили код вывода комментариев на сайте в файле comments.php, можно проверить работу микроразметки комментариев.

Признаком правильной разметки комментариев является их вложенность в тело статьи безо всяких отступов и пробелов. Каждый комментарий должен отображаться именно внутри статьи и быть показан в валидаторе Яндекса.

Как видите, комментарии находятся внутри тела статьи. Так должно быть и у вас.

Также можно указать поисковым системам на количество комментариев к каждой записи. Для этого также имеется свой тег - itemprop="commentCount". По аналогии с ранними действиями его нужно разместить внутрь открывающего тега, который оборачивает функцию вывода количества комментариев. Данная функция называется:

Может быть полная строка вывода данной функции будет отличаться, но суть ее одна и та же. Внутри должно быть comments_number.

У меня данная функция имеет следующий полный вид вместе с оборачивающим тегом.

В зависимости от шаблона нужно найти местоположение функции. Как правило, все находится в том же файле comments.php. У меня же в шаблоне данная функция находилась в файле одиночной записи single.php перед выводом формы комментариев. Так как у меня функция оборачивалась текстовым тегом span, то внутри него я и вставляю свойство commentCount.

Обращаемся к валидатору.

Важно. Оборачивать нужно только число количества комментариев без каких-либо надписей и слов. Разметка воспринимает только числа!

Внимание: я не являюсь автором функций. Функции автоматической разметки комментариев и изображений взяты с сайта http://seo-mayak.com/. Я только немного изменил названия + где-то что-то немного откорректировал.
к содержанию ↑

Микроразметка шапки сайта (header)

Открываем файл header.php шаблона оформления и ищем открывающий тег header. Внутри него вставляем:

Далее будут 2 строки: названия сайта и описания. Они также будут обернуты тегами. Как правило, это заголовочные теги H1 и H2. В открывающих тегах прописываем свойства:

  • Заголовок - itemprop="headline"
  • Описание - itemprop="description"

Вот готовый вариант на изображении.

В валидаторе это отобразится так.

к содержанию ↑

Микроразметка сайдбара (боковой колонки)

Тут также все просто. Открываем файл, который отвечает за вывод боковой колонки, как правило, это sidebar.php. Находим блок или тег, который оборачивает все содержимое всей боковой колонки и внутр него помещаем тег сщности, соответствующей сайдбару.

Далее следует указать свойства сайдбара. В данном случае свойством выступает название каждого виджета. Для этого обращаемся в файл функций functions.php и ищем часть кода:

Интересуют последние 2 строки (before_title и after_title), которые определяют, что будет выводится перед заголовком виджета и после, соответственно. Как видим, у меня указано, что перед и после будет текстовый тег span. У вас может быть там пусто или же какие-то другие теги, например тег блока div. Если пусто, то рекомендую дописать тег span по аналогии с моим вариантом и внутри открывающего тега (строка before_title) указать свойство имени (itemprop="name"). Получится следующая конструкция:

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

В зависимости от количества виджетов будет показано соответствующее количество строк при проверке.

к содержанию ↑

Микроразметка футера (подвала)

Открываем файл footer.php и ищем общий блок, который оборачивает все содержимое подвала, включая копирайты. Внутри открывающего тега размещаем тег сущности itemscope itemtype="http://schema.org/WPFooter".

И внутри открывающего тега, в который заключена дата копирайта, размещаем тег свойства itemprop="copyrightYear".

Очень важно, чтобы внутри тега copyrightYear была только дата в виде числа. Никаких посторонних слов и символов, иначе будет выдавать ошибку.

В рабочем состоянии в валидиторе будете видеть следующее.

к содержанию ↑

Микроразметка главного навигационного меню

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

Код, который выводит меню, находится в файле шапки header.php. Заходим него и ищем следующее содержание:

Строка может немного отличаться. Главное - найти строку, включающую в себя wp_nav_menu. Она будет обернута тегами. У меня да и в большинстве других тем принцип аналогичен. Используется тег nav. Внутрь открывающего тега nav мы и вставляем тег, который показывает сущность данного элемента, а именно главного меню:

Далее стоит сделать так, чтобы к каждой ссылке в меню добавлялся атрибут itemprop="url", который будет указывать, что это ссылка. Если у вас простой сайт, где каждый пункт меню создан руками, то внедрите данный атрибут внутрь тега каждой ссылки. Если же у вас сайт на WordPress и меню формируется в файле functions.php стандартным образом, о стоит разместить следующий код в эттот же файл, который будет подставлять данный атрибут автоматически к каждому пункту меню.

После проверки любой страницы (где имеется меню) в валидаторе Яндекса, мы должны увидеть тег сущности вместе со списком всех пунктов меню.

Если функция для вашего шаблона не сработает, то ссылок в валидаторе вы не увидите, а только сущность.

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

На этом основная часть микроразметки закончена. Обычному блогу (информационному сайту) больше ничего и не требуется.

Что касается разметки различных рейтингов в виде звезд, то, как правило, в них уже внедрена разметка. Если мы берем плагины, то в них точно предусмотрена такая функция (в WP-PostRatings 100%). Поэтому, руками ничего там делать не нужно.

к содержанию ↑

Микроразметка адреса (контактных данных)

Если на своем сайте вы показываете посетителям свои контактные данные (имя организации, адрес, телефон и так далее), вы их тоже можете разметить. Делается это очень просто. Ниже я даю код, который просто нужно разместить в html режиме на нужной странице (например, контакты) и внести свои данные.

Замечу, что email на обычной почте в данном случае не уместен. Нужна почта вида имя@site.ru, то есть почта на домене.


На этой ноте практика закончена. Микроразметка на вашем WordPress должна быть внедрена и быть без единой ошибки, к в яндексе, так и в google.

Теперь, как и обещал, дам некоторые коды, которые могут вам понадобиться, если у вас в шаблоне выводится не вся информация, необходимая для разметки.

к содержанию ↑

Полезная информация

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

Также очень большое количество запросов на почту ко мне с проблемой устранения ошибок, которые возникают из-за внедренной разметки hentry в шаблоны. Ошибки звучат следующим образом:

Отсутствует: entry-title
Отсутствует: updated
Отсутствует: author

Из-за чего происходит такая ситуация? Все просто - в шаблоне автоматическим образом добавляется класс henrty, который подразумевает, что должны быть дописаны соответствующие теги (классы) к заголовку, дате и автору. Можно так и сделать - дописать эти классы. Я не вижу в этом особого смысла, так как шаблон мы уже разметили словарем schema.org и от микроформатов henrty нам не будет никакого проку. Поэтому, быстрее и проще всего будет использовать небольшую функцию, которая удалить этот класс henty из шаблона и google даже не найдет микроформаты hentry.

Функцию конечно же добавляет в файл функций functions.php. Если у вас подобные ошибки уже были или начали появляться, то постепенно по мере обхода страницы вашего сайта роботом микроразметки гугла они начнут исчезать. Если их не было, тогда они не появятся.

Имеется и другой вариант, когда можно помучиться и дописать необходимые теги к выводу заголовка, даты и автора. Тогда гугл найдет эту разметку и будет ее распознавать. Если вы решились на такие действия, тогда вам нужно найти php коды вывода заголовка (1), даты (2) и автора (3).

  1. <?php the_title(); ?>
  2. <?php the_author(); ?>
  3. <?php echo get_the_date('Y-m-d'); ?>

Готовые коды с тегами микроформатов будут следующие:

  1. <span class="entry-title"><?php the_title(); ?></span>
  2. <span class="author"><?php the_author(); ?></span>
  3. <span class="updated"><?php echo get_the_date('Y-m-d'); ?></span>

Обернув все таким образом, тоже будет нормально.


Следующий пункт будет для тех, кому слишком сложно все это делать или же кому лень.

к содержанию ↑

Сделаю все за вас

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

Стоимость данной услуги 1000 рублей.

Размечу все основные данные, а именно:

  1. Главную страницу + страницы архивов и рубрик;
  2. Страницу поста (записи);
  3. Обычную статическую страницу;
  4. Шапку сайта;
  5. Подвал;
  6. Сайдбар;
  7. Навигационное меню (если шаблон не будет конфликтовать);
  8. Хлебные крошки + рейтинг (по желанию + 200 рублей).

Подойдет данный вариант персональным блогам, а также информационным сайтам. Могу взяться, как за движок WordPress, так и за обычный html сайт. Изначально ничего делать не буду, так как сначала проанализирую ваш шаблон и отвечу, смогу ли я вообще сделать. Возможно, что придется что-то переделывать в шаблоне или доделывать. К каждому индивидуальный подход.

Принцип следующий. Вы связываетесь со мной через страницу "Написать мне" (можно обращаться и в комментариях данной статьи). Сразу кидаете мне ссылку на ваш сайт + ссылку на скачивание шаблона. Я анализирую и даю вам ответ в течении ближайшего времени (1-2 дня). Если все в моих силах, то после оплаты сразу приступаю к разметке.

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

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

До встречи в следующих материалах.

С уважением, Константин Хмелев!

40 лет Победы51937Украина, Днепропетровская обл., г. Днепродзержинск,+38 093 338 11 41
Комментариев: 183
  • Хм, разбираюсь с микроразеткой и уперся в следующий момент:
    Есть в котором содержатся все необходимые значения, вроди все ок, он находится внутри , не дочерний элемент, но один из потомков секции, но валидатор гугла всеравно ругается что мол не найден объект отзыва. Может ли такое быть из-за того, что разметка только что добавлена?

    Проверил Вашу статью нашел отличие в том, что прямо рядом с Article: написан адрес статьи, у меня же рядом с Article: ничего не написано, но вся остальная микроразметка выводится нормально.

    • Добрый день!

      Извиняюсь за столь поздний ответ. Да, напротив article у меня стоит ссылка в инструменте проверки структурированных данных от гугл. Чтобы это исправить, внутри тега, которому прописываете сущность, необходимо прописать идентификатор (id). У вас вместо ID там прописан class. Попробуйте либо изменить class на id, либо же просто дописать какой-либо id (например, id="article") и проверить, появится ли ссылка при проверке. О результате отпишитесь в комментариях, если не сложно. Спасибо.

      Если рейтинг размещен правильно, то ошибки быть не должно. Судя по всему, что он размещен вне секции article. Хотя, проверил только что ваш сайт и оказалось все рабочим.

      Ругаться валидатор может, особенно если используете кэширование на сайте. Ему просто может выдаваться старая версия страницы без разметки. Поэтому, когда делаете различные махинации с шаблоном, то перед проверкой обновляйте кэш.

  • Здравствуйте!
    Я совсем новичок. Сайт на Амиро. В админке есть шаблоны модулей и макеты страниц. Где внедрять микроразметку? Или все же лезть в файлы на хостинге? Если последнее, то наверняка они называются не так, как указаны в Вашей статье. КАк понять, какой фал к какой странице относится?

    • Здравствуйте. С другими движками я не знаком. Работаю исключительно с WordPress в виду его простоты и максимально правильной работы. В вашем случае не подскажу. Файлы конечно буду другие и коды также будут отличны от вордпресс. Тут уже изучайте структуру шаблонов на вашем движке. Файлы на хостинге ни в коем случае нельзя редактировать, т.к. допустив одну малейшую ошибку ваш сайт может лечь. Обязательно делайте резервные копии всех файлов движка на свой компьютер и резервные копии базы данных. И делайте все правки файлов именно на своем компьютере, а потом загружайте их уже на хостинг, чтобы вы всегда могли вернуть изменения в файлах в исходное состояние, если что-то будет сделано неправильно.

      • Константин, спасибо за ответы. Пыталась внедрить разметку на сайте сестры (вордпресс). Посмотрите страницу, пожалуйста. Вроде валидатор не ругается. Только что-то с полем основного контента стало (часть белая, часть серая). Что я сломала?

        • Прошу прощения, но на данный момент я не могу заходить и проверять чьи-то страницы. Попросту нет на это свободного времени. Если валидатор не ругается и показывает размеченные области, тогда все сделано верно. Если что-то съехало, значит что-то вставили не так (не в то место). Возможно убрали какой-то код, что-то задели и удалили нужную часть кода. Даже удаления скобки приводит к таким изменениям. Они не критичны и их можно вернуть на место, если делали резервные копии файлов или делали редактирование во внешнем редакторе у себя на компьютере.

  • Извиняюсь, наладилось. Новичкам везет, называется :)
    Хотя я мало что поняла из того, что сделала. Спасибо за ваш блог и понятные статьи. Буду читать :)

  • Добрый день, Константин
    Хотим обратиться к Вам с просьбой разметить наш сайт. Это интернет-магазин игрушек. Имеется подробное ТЗ. Отправлю в ответ на Ваше письмо.

    • Здравствуйте. По техническим вопросам (разметка, верстка, настройка и т.д.) я работаю только с движком WordPress. Поэтому, вынужден отказать.

  • Добрый день! Подскажите пожалуйста по-поводу микроразметки меню.
    Вот у меня в двух местах есть код wp_nav_menu

    и

    <li ><a href="">Apple в Пензе

    Что и где здесь нужно поменять чтобы сделать микроразметку?

    • Здравствуйте. Если меню выводится стандартной функцией WordPress, тогда используйте код и инструкцию, приведенные в соответствующем пункте статьи. Код в комментариях, судя по всему, обрезался.

      • В том то и дело, что код скорее всего не стандартный. Можно Вам как-то переслать код header.php чтобы Вы взглянули? А в остальном Ваша статья на высшем уровне. Весь сайт получилось разметить за исключением меню

        • В предыдущем комментарии вы указали, что имеется код wp_nav_menu. Это стандартная функция. Вы уверены, что сделали все, как в статье, чтобы разметить меню? Может быть что-то упустили, что очень даже вероятно. Кож можете скинуть через страницу "написать мне".

          • Отправил Вам код через форму. Вроде делал все так. Вставил микроразметку в файл header.php и функция в файл функцией. Может Вы меня поправите?

  • Добрый день, Константин. У меня несколько вопросов по микроразметке schema.org.
    1. На странице помощи у Вас перечислены схемы, которые поддерживает Яндекс: https://yandex.ru/support/webmaster/schema-org/what-is-schema-org.xml.
    Вопрос: стоит ли использовать на сайте для для микроразмеры другие сущности (к примеру, Article, User comments и т.д.)? Будет различать ли их как-то поисковый робот или для него это просто будет лишним кодом на странице?
    2. У схемы "Article" есть поле "description". Будет ли содержимое этого поля как-то влиять на сниппет статьи в поисковой выдаче? Или лучше не ставить микроразметку schema.org и использовать обычный мета тег "description" как инструмент влияния на выдачу в сниппете?
    3. на одной странице есть статья и под ней комментарии. Если для статьи использовать схему "article", а для комментариев "user comments", то будет ли их разделять поисковый робот? Или для него все равно комментарии будут продолжением статьи?
    Большое спасибо!!

    • Здравствуйте. 1й вопрос не понял. 2 - разметка description не влияет на выдачу. По крайней мере я этого не заметил. 3 - поисковик будет разделять комментарии и само тело статьи, т.к. последнее помечается тегом articleBody. Плюс ко всему, использование тега разметки description не обязательно внутри тела статьи, т.к. используется articleBody.

      • Константин, большое спасибо за ответ. Первый вопрос неправильно сформулировал:
        На странице помощи у Яндекса перечислены схемы (сущности) из schema.org, которые поддерживает Яндекс: https://yandex.ru/support/webmaster/schema-org/what-is-schema-org.xml. К примеру он поддерживает схемы (сущности) Movie, SoftwareApplication и т.д., а не перечисленные, я так понял, либо не поддерживает либо не формирует из них соответствующий сниппет просто. Тогда вопрос: стоит ли использовать на сайте для микроразметки другие сущности (к примеру, Article, Сomments и т.д.)? Будет различать ли их как-то поисковый робот или для него это просто будет лишним кодом на странице?
        2. Ещё один вопрос: а можно на странице со статьёй использовать для неё и микроразметку schema.org и при этом прописать мета тег "description"? Спасибо.

        • Во-первых, вы неправильно понимаете суть микроразметки. Она создана не для того, чтобы формировать и украшать сниппет. Ее целью является дать понятие поисковым системам, что это за элемент, чтобы поисковику было проще индексировать страницу. А некоторые особенности изменения сниппета - это уже, как побочный эффект, которым непременно стоит пользоваться. Лишним кодом разметка не будет, т.к. она помогает поисковому роботу. Во-вторых, что значит "и при этом прописать мета тег description", ведь мета-тег описания и так должен использоваться в обязательном порядке, т.к. из него формируется сниппет в гугле и в некоторых случаях в яндексе.

          • Давайте, чтобы было понятней я задам вопрос на примере прямо этой странички. если открыть её код, то видно, что вначале у Вас стоит мета-тег description, в котором кратко описывается о чём страница (статья): "Микроразметка - разметка страницы с помощью дополнительных тегов и их атрибутов, которые помогают понять поисковым системам суть и содержимое элементов сайта.". Далее по отношению к самой статье Вы применяете схему Article, в её блок ArticleBody Вы вставили сам текст статьи. Однако ведь внутри схемы Article можно также добавить блок "description", который также будет описывать о чём статья. Вот и возникает вопрос каким лучше путём пойти для влияния на сниппет: ставить и там и там описание, ставить описание только в мета-теге description или только как отдельный блок внутри схемы Article?

          • Все понял. Я не вижу особого смысла использовать тег разметки для description, если ваша цель как-то выделить сниппет. Вряд ли это как-то поможет. Единственный вариант, который я вижу - это выделять тегом разметки описание, которое будет размещено и в мета-теге description и в то же время будет находиться в самом тексте. Т.е. описание является частью текста и находится, как в мета-теге описания, так и выделенное тегом разметки внутри самого текста статьи. Но опять же, я не вижу смысла как-то зацикливаться над этим. Вполне достаточно обычного мета-тега.

  • Добрый день, есть сайт на движке OpenCart, нужно реализовать рейтинг для страниц категорий и производителей (для вывода звездочек в поиске ГУГЛ)
    Сколько будет стоить?

    • Здравствуйте. Работаю только с WordPress.

  • Здравствуйте Константин. Очень помогла ваша статья! Спасибо! Немного пришлось помучиться с разметкой комментариев, чтобы разметка была именно внутри статьи, но потом разобрался. Кстати, много ваших статей у меня в закладках браузера, еще раз спасибо!

    • Здравствуйте. Хорошо, что все получилось)

  • Движок Вордпресс, сделал инет-магазин. Вроде разметил как надо. Использовал сущность "Product", однако встретился с матюками со стороны яндекса и гугла на то что у меня не указат тег "name". Хотя на тегах H1 я прописываю именно "name". В чём может быть причина?

    • У вас все нормально с разметкой. Тег name указан и никакой ошибки нет.

  • Добрый день Константин! Уже не раз к Вам обращался. Делал разметку по Вашей статье для сайта apple-pnz.com. Недавно заметил большое количество ошибок в google-вебмастере. Точнее ошибка везде одна и та же. Отсутствует: author
    Отсутствует: entry-title
    Отсутствует: updated
    Не сталкивались с такой проблемой?

    • Здравствуйте. Судя по всему, эта проблема связана наличием старой разметки микроформатами hentry. Вам нужно ее удалить.

      • Как он хоть выглядит? Что искать?

        • Просто разместите следующий код в файл funcrions.php

          //удаление класса hentry start
          function wph_remove_hentry_class($classes) {
          $classes = array_diff($classes, array('hentry'));
          return $classes;
          }
          add_filter('post_class', 'wph_remove_hentry_class');
          //удаление класса hentry end

          • Спасибо Константин! Выручили

  • Здравствуйте. С vcard всё более менее понятно, а если яндекс выдает следующую информацию: microdata
    ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop , что тогда делать и как эту ошибку исправить?

    • Чаще всего такая ошибка связна с тем, что свойство объекта itemprop указано вне зоны сущности. Либо вы не обернули область необходимой сущностью (статья, рейтинг, видео и т.д.), либо допустили ошибку и разместили лишние теги itemprop. В общем, ищите ошибку в разметке. Также часто такая ошибка возникает в мета-теге desription, если у вас установлен плагин all in one seo pack и активирована настройка для включения шаблона разметки от Shema.org. Эту настройку необходимо отключать.

      • а где ее там отключить?

        • в основных настройках плагина есть пункт "разметка schema.org" или как-то по-другому. В любом случае там будет наименование словаря schema.org

  • Скажите, а второй вариант расширенного снипета как называется? хочу такой же сделать себе на ВП сайт. Но уже сломал голову в поисках того как это сделать.

    • Вы имеете ввиду вариант с контактными данными и быстрыми ссылками на другие страницы? Такой сниппет в яндексе формируется сам.

      • Да, там где "Услуги", "Контакты" и т.д. Просто сайту 3 месяца, но подобного не наблюдаю. Поэтому и подумал, что надо отдельно делать разметку какую-то специальную. Кстати и в гугле заметил, что есть подобная фишка если искать по прямой ссылке на главную страницу. Я так понял просто надо подождать пока гугл и яндекс выстроят подобную схему для сайта?

        • Да, нужно ждать, но далеко не для всех сайтов поисковые системы определяют быстрые ссылки. Более подробно лучше искать информацию по этому поводу в справке самих поисковых систем\

          • Огромное спасибо. Очень помогли и избавили от нескольких дней поиска ответа на этот вопрос) А за статью по разметке отдельное спасибо. Очень выручила и сократила времязатраты, особенно по разметке всех рисунков. Хотел уже сам писать код РНР для этого.

  • Добрый день Константин нужна разметка для сайта , отписал вам на почту..

    • Здравствуйте. Письмо заметил и уже ответил)

  • function micro_image
    У меня эта функция не вставляет тег в картинки на главной.
    Картинки выводятся через
    excerpt-thumbnail
    Как сделать, чтобы на главной тоже тег image вставлялся?

    • Необходимо добавить сам тег itemprop="image" в код вывода миниатюры.

      • Тупанул. Добавил. Все работает. Спс за статью. :) Только код исправления разметки комментариев не заработал на моем шаблоне. Все встроилось без ошибок, но ничего не поменялось. Просто снес левую разметку vcard.
        Единственно, что напрягает, так то, что яшин валидатор странно показывает разметку главной
        blogposting
        itemType = http://schema.org/BlogPosting
        headline = Установка wordpress на openserver
        headline = Последствия взлома блога и защита wordpress
        author = Денис Иванов
        author = Денис Иванов
        datepublished = 2015-12-01
        datepublished = 2015-11-24
        commentcount = 0
        commentcount = 0
        image
        href = http://dendrblog.ru/wp-content/uploads/2015/11/openserver450.jpg
        text = Установка wordpress на openserver
        image
        href = http://dendrblog.ru/wp-content/uploads/2015/11/wordpress-hack.jpg
        text = Вредоносный код на блоге и защита wordpress
        description = В предыдущих статьях вы узнали, что такое wordpress, что такое домен и хостинг. При правильном подходе к работе над блогом, wordpress сначала устанавл...
        description = Как часто вы редактируете свои старые статьи? Думаю, что очень редко. Я тоже редко это делал. А зря. Как то понадобилось мне отредактировать ссылку в ...
        articlesection = WordPress для чайников
        articlesection = Защита wordpress

        • То есть нет разделения на разделы. Идет тупо перечисление сначала все заголовки, потом все даты и так далее. Гугля разделяет нормально.

        • Такая ситуация происходит из-за того, что вся область анонса заключена в в blogposting. Необходимо отдельно каждый анонс обернуть этим тегом. Разметка комментариев работать должна. Судя по всему, вы просто не вызвали функцию в коде вызова списка комментариев/ а лишь разместили код в файл functions.php

          • Функцию вызывал. Да бог с ней.
            С главной поправлю. Должно получиться.
            P.S. Почему мне при каждом комментарии нужно имя, почту и сайт вводить? Глюк какой или так задумано?

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

  • У Вас ошибка в тексте. Пропущена буква. >> тоько

    Как видим, у меня список анонсов выводится тегом списка li, то есть каждый анонс в него заключен. Внутри списка практически тоже самое, что и внутри самой записи - имеются даты, имя автора, название рубрик и так далее. Это вы можете прекрасно видеть на страницах блога. Структура аналогичная, тоько текст статьи не полный.

    Советую поставить orphus. В таких блогах как у Вас будет очень полезно.

  • Благодарю за статью. Довольно таки хороший материал и грамотно изложено

  • Спасибо, что всё в подробностях! А то у многих, просто примеры, а, что куда вставлять не понятно. Я использую не вордпресс, но в шаблон внедрю. Ещё раз спасибо, за труды!

  • Есть сайт где можно проверить как будет выглядеть сайт на поисковик?

    • Вопрос непонятен...

  • Константин! Подскажите, пожалуйста!
    В этой статье написано, как сделать разметку миниатюр. Но только это на старый лад. Сейчас же структура itemprop="image" сложнее. Вижу она у вас правильная. Нашла функцию, которая автоматически размечает картинки по-новому. Она у меня есть. Но она, к сожалению, не преобразует у меня разметку миниатюр ( она остаётся старого вида. Подскажите, пожалуйста, как сейчас правильно размечать миниатюры?

    • Здравствуйте. Извиняюсь за столь долгий ответ. В ближайшие дни я постараюсь переделать этот материал, чтобы вы смогли настроить себе разметку.

  • Добрый день Константин! Гугл ввел новые нововведения в микроразметку. Сейчас валидатор стал выдавать целую кучу ошибок. Не смотрели еще? Что можете сказать на этот счет?

    • Здравствуйте. Смотрел и себе уже все исправил. Не обещаю, но постараюсь в ближайшее время кардинально переделать этот материал, т.к. много информации в нем уже неактуально.

      • Константин не дадите короткую инструкцию что да как. Тоже хочется переделать

        • К сожалению нет. Придется много функций писать в комментарии и объяснять. Ждите переделку статьи.

          • А стоит ли напрягаться ради только гугла. Они через пару месяцев еще что-нибудь учудят.

          • Ну микроразметка в гуле, насколько известно, скоро станет одним из факторов ранжирования, влияющим на позиции, хоть и немного. Поэтому смысл есть, но также нужно понимать, что, если с гугла трафика нет или сильно доминирует яндекс, то не стоит сильно заморачиваться. Вопрос лишь времени, когда Яндекс дойдет до новых условий гугла и приравняет свои требования к микроразметке. Гугл не просто так делает условия разметки все жестче и жестче. Если посмотрим на нынешний вариант разметки, то размечено больше элементов и больше данных указано под дополнительными тегами разметки. К тому же сейчас уже размечены и контактные данные на каждой странице в сущности schema.org/erticle. Имеется предположение, что гугл скоро будет эти данные выводит в сниппете и делать выдачу более информативной. Плюс ко всему можно самому додумать, если кто-то не может или не хочет разметить контактные данные на каждой странице сайта, то имеется вероятность, что с сайтом что-то не так, либо владельце что-то таит, либо сам сайт некачественный. Так смысл отдавать такому сайту приоритет?

          • Один блогер помнится уже допубликовался свои данные о заработке с блога. Наехали, отжали. Гугл хочет облегчить жизнь бандюганам? Хотя сомневаюсь, что адреса будут реальными. Смысл тоогда сего бестолкового внедрения.

          • Причем тут публикация доходов?) Светить или не светить реальный адрес - дело каждого. Хотите, не внедряйте ничего, хотите - внедряйте. Гугл не та корпорация, которая делает что-то просто так)

          • Понятно, что гугля диктует правила. Так и будут личные сайты с левыми данными. Неужели в корпорации это не понимают? Они же не смогут никак проверить. Или следующим шагом будет обязательное предоставление в инструментах вебмастера сканов паспорта. Спишут сие на борьбу с терроризмом. :)

          • Если уж на то пошло, то вообще не вижу смысла проверять данные. Зачем это нужно? Смысл в том, чтобы сделать выдачу более информативной. Эта задача будет выполнена, если именно эта цель и преследуется, а верные данные адреса или нет это уже дело каждого. Кому нужно и кто намерен серьезно себя продвигать, тот не боится указать свой адрес.

          • Будем дальше посмотреть. :)

  • Константин когда будет обновление статьи? Очень актуально. Не могу больше нигде найти информацию.

    • Обновление будет во вторник-среду.

      • Константин добрый вечер! Я так понимаю обновлений еще не было? Вы тогда хотя бы напишите в комментариях, когда сделаете.

        • Здравствуйте. Сегодня все будет, как и обещал, просто немного позже.

        • Статья обновлена. На первый взгляд все более менее понятно. Если что-то не так или где-то что-то некорректно отображается, то, пожалуйста, отпишите.

          • Добрый день Константин спасибо за обновление! Все сделал по Вашей статье, но почему то не выводятся изображения в микроразметке, ни яндекс ни гугл их не видят. В чем может быть проблема? Сайт apple-pnz.com

          • Здравствуйте. Проблема в том, что ваши картинки все в подписях. Для них нужен другой код. Обновил первый вариант кода в статье. Проверьте, должно работать. Себе уже исправил этот косяк.

          • Кстати, я посмотрел исходный код ваших страниц и заметил, что в разметку публикатора в каждой строке вы добавили display:none. Зачем вы это сделали, ведь общий div, который оборачивает всю разметку, имеет этот стиль и ничего видно и так не будет.

          • Это как-то на что-то влияет? Постараюсь исправить. С микроразметкой картинок есть проблема. Я Вам отправил сообщение через форму. Возможно у Вас та же проблема.

          • Яндекс на отдельных записях тоже выдает ошибку microdata
            ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop

  • Код разметки картинок не работает, если есть подписи к картинкам. Нужен улучшенный вариант. WordPress оборачивает картинку в div с текстом подписи. В итоге получается, что у картинки не появляется itemprop="image" itemscope itemtype="https://schema.org/ImageObject" и валидатор гуглы не видит разметку картинки.

    • Исправил код, теперь должно все работать.

      • Костян, уважуха. Гугля и Яндекс картинки видят и ошибок не выдают. :)
        Еще одна просьба. Яша ругается на комменты - ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
        Раньше корректно были размещены, теперь блин нет.

        • Опа, блин. Размечается только первая картинка в статье. Вторая за ней дублируется. Следующая неактивна. Да что же за нафиг.

          • Убрал подписи. Больше не двоится. Но по прежнему не все картинки размечает.

          • Посмотрел только что пару страницы вашего сайта. Картинки в текстах размечаются все. Не размечаются только миниатюры после текста в блоке записей из той же рубрики. В статье я даю код также и для миниатюр, вы его использовали?

          • Все, с полной записью разобрался. Комменты поправил.
            Осталась главная. Яша молчит. Гугля выдает ошибку картинки, хотя в код есть и все прописывается. Чего ему падле не нравится хз.
            И не находит
            publisher: отсутствует (обязательное)
            dateModified: отсутствует (рекомендуется)
            mainEntityOfPage: отсутствует (рекомендуется)

          • Анонс у вас оформлен правильно, также, как и страница записи, значит гугл должен все находить нормально. Попробуйте обновить кэш. По повду картинок, то сейчас буду разбираться что к чему. Если не получится, постараюсь найти человека, который сможет написать максимально адекватный вариант функции.

  • Добрый день, Константин. Спасибо за статью, только вот после внедрения гугл показывает, что все хорошо (зеленый), а Яндекс ругается на картинки http://joxi.ru/L210vjBh6gZQBm

    • Здравствуйте. Скажите, пожалуйста, эти ошибки разметки миниатюр? Если так, то используйте код для миниатюр, который я предоставил в статье. Имеется код отдельно для изображений, а имеется немного ниже для миниатюр в пункте про разметку главной страницы.

      • Нет, я проверял статью, соответственно это ошибки картинок в тексте. Гугл нормально воспринимает картинки http://joxi.ru/82QYD7XS1ygPE2

        • Здравствуйте. Мне бы взглянуть на сайт, что творится в коде. Если гугл нормально распознает картинки, то и с яндексом должно быть все отлично.

  • Функция микроразметки изображений( именно изображений, а не миниатюр) работает некорректно. У меня, помимо ошибок микроразметки, перестал работать плагин, который отвечает за вывод изображений. Пока удалил.

  • Почему вы выдаете чужие функции за свои!? Стыдно! Человек старался помогал другим а вы воруете чужие функции! своего ума не хватает!?

    • Никто за свое ничего не выдает. В статье я дал открытую индексируемую ссылку на источник, с которого были взяты функции. Я лишь изменил их названия, чтобы хоть как-то уникализировать.

  • Здравствуйте Константин! Подскажите пожалуйста. Как мне сделать, чтобы плагин вывода изображений работал корректно вместе с Вашей функцией микроразметки изображений? Плагин называется Shutter Reloaded Plus.

    • Добрый вечер. Сейчас по картинкам не могу ничего подсказать. Буду разбираться в ближайшее время, но ничего конкретного не подскажу. Вы можете заказать у фрилансеров, чтобы конкретно под ваш сайт написали функцию разметки изображений. Это будет самым правильным и рабочим вариантом. Будет стоить это не сильно дорого 500-1000р. Если не хотите тратиться, то ждите, пока я домучаю, но не обещаю, что результат вас порадует. Пока на этом моменте у меня затык. И еще один момент: функции не мои, взяты с другого блога. Кстати, ваш плагин для вывода изображений можно заменить более достойными аналогами, с которыми проблем не должно быть - FancyBox for WordPress, Simple Lightbox, Responsive Lightbox.

      • Если я сейчас заменю плагин не возникнет ли у меня проблема с со всеми записями блока? Мне как-то не критично какой плагин будет стоять. Скажите как правильно это сделать?

        • Как я понял, то плагин предназначен для увеличения картинок по клику? Если так, то никаких проблем быть не должно, но я все же настоятельно рекомендую сделать бэкап БД.

          • Кстати, сейчас я с человеком делаем функцию для микроразметки картинок. Возможно она вам поможет. Думаю, что в течении пары дней она будет полностью готова. Была первая версия сделана, но она немного некорректно работает. Будем дорабатывать.

  • Константин подскажите еще пожалуйста как сделать микроразметку страниц (page.php). У меня там картинки соостветственно микроразметка там присутствует. И сейчас вылетают ошибки. https://developers.google.com/structured-data/testing-tool?url=http%253A%252F%252Fapple-pnz.com%252Fapple-pnz

    • Точно также, как и для записи. Единственное, что придется добавить вывод автора и даты, если на страницах этого нет. Но это сделать проще простого. Берете коды вывода из файла записи и вставляете в файл страницы в нужные места. Если не хотите, чтобы они отображались, то добавляете скрытие через стили style="display:none"

  • Спасибо за материал. У вас действительно нашел полное руководство как и что делать. У меня есть вопрос, он думаю будет и полезным дополнением к статье.
    В материале вы предлагаете прописать вручную путь к логотипу и указать ручками название сайта. но насколько я понимаю это два стандартных объекта в WP и мне кажется идеальным был бы вариант не в ручную прописывать эти данные, а выводить вызвав соответствующую переменную. Можете подсказать как это сделать? Это просто может привести к ситуации что сменил ты лого на сайте, а держать в голове что у тебя там где то в микроразметке прямой адрес забит вряд ли получится.

    • Чтобы такое реализовать, вам нужно в вашем шаблоне найти функцию, которая выводит ваш логотип (путь к нему) и разместить ее вместо адреса в соответствующем коде разметки логотипа. Тут все достаточно просто.

      • Функцию я найду. Но честно не понимаю в синтаксисе всего этого. Как потом её правильно подставить. Буду благодарен если приведете пример.

      • У меня еще есть вопрос или даже идея для вашей будущей статьи. Тут в сети недавно google анонс дал на новую фишку "Быстро загружающиеся страницы для мобильных устройств". Как понял это тоже что то похоже на микроразметку. Будите первым в этой области и поисковой выдачи если напишите такой материл в применении к WP. А буквально вчера этот пункт появился у меня в google webmasters.

        • Спасибо за идею. Очень интересно, но как бы мне не хотелось сейчас изучить этот вопрос, имеются более приоритетные дела, которые не дадут мне приступить к изучению) Но, идею я взял на заметку. Скоро, надеюсь, все получится.

    • href="<?php echo get_template_directory_uri() .'/img/logo.jpg';
      где get_template_directory_uri() путь до шаблона
      /img/logo.jpg папка с логотипом
      но если поменяете логотип и у файла будет другое название все равно придется менять название ручками в коде

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

        • зачем на статичную страницу, которая делается 1 раз, создавать настройку и дергать базу данных - непонятно!?

          • Почему сразу идет речь о статической странице? Идет речь абсолютно о всех страницах, где размечено сущностью Article или blogposting.

  • itemprop="telephone" не является элементом itemtype="http://schema.org/PostalAddress", даже в примерах на сайте schema.org он вынесен http://schema.org/PostalAddress. Проверьте разметку валидатором

    • Проверил. Все отлично.

  • Лучше не находил описания! Было бы очень круто, если б было разобрано каждый интертоп и где его применять и разные виды применений

  • Здравствуйте, Константин! Прекрасный материал у Вас, но вопросы возникли все равно (хочу разобраться-таки с разметкой на подопечном сайте). Что внедрялось разработчиком, а что присутствует в теме, понятия не имею. Проверила в Яндексе. Ошибок не пишет, просто код в результатах. А в гугле стоят два типа: hentry 450 элементов и почти столько же ошибок, и schema (website) 1 элемент и 0 ошибок. Так понимаю, hentry удалить и заняться внедрением schema? Если найдете минутку ответить, буду очень благодарна.

    • Здравствуйте. Henty можно не удалять, а доработать. Но я сторонник именно разметки словарем schema. Это самый современный и частообновляемый словарь на данный момент. Если внедряем разметку schema, то конечно же лучше удалить hentry, но это не обязательно. Можно оставить и несколько вариантов разметки. Я же всегда оставляю только разметку от schema.org.

      • Большое спасибо! Конечно, было бы лучшим вариантом обратиться к Вам с заказом, только чуть позже. В очередь нужно записываться? Так понимаю. загружены Вы сильно. Если на конец февраля ориентировочно?

        • Без проблем. Можете обратиться. Но в письме сразу укажите ссылку на сайт. Я гляну и скажу, смогу ли сделать. Можете написать в любое время, я отвечу и возьмусь, как только смогу.

  • Я Вас услышала. Спасибо! За день успела сдаться. Ссылку пришлю, как только компания из внесезонья начнет выбираться (стройматериалы). Тема установлена Alyeska. Может, приходилось сталкиваться?

    • Нет, не сталкивался с таким шаблоном. Если сайт какой-то компании, то я вряд ли что-то смогу сделать (но ссылку хотелось бы увидеть позже, может и смогу). Я работаю только со статейными сайтами (информационниками).

      • Константин, это же вордпресс! То же самое, что и в блогах, только страниц больше, чем записей. Вообще меня волнует город больше всего. Хочется Гуглу помочь показывать его там, где нужно, а не по всему свету. По Вашему методу в режиме HTML прописала код на странице контактов, уже при переходе в визуальный редактор остались только буквы и два div. И так со всеми блоками. А в файлах темы не все просто для моего уровня. Например, есть код entry-title в такой конструкции , но Гугл его не может прочитать. Одним словом, нужен специалист. Моих знаний хватает на то, чтобы в одном месте скопировать - в другое вставить. Так надеюсь, что вернемся к разговору позже. Мне даже комментарии размечать не нужно. Их нет. :) Только самое важное.

        • Хорошо, как надумаете, пишите)

  • На своем новом шаблоне использовал ваш код по удалению hatom разметки. На страницах она вообще исчезла при проверке валидатором, а вот на записях не полностью исчезла, осталось одна строчка hatom tag: Может тэги как отдельно надо удалять или у меня такой хитрый шаблон?

    • Скорей всего нужно удалить данный тег ручками, а не с помощью кода.

  • Добрый день! А в шаблон джумлы внедряете микроразметку?

    • Добрый. НЕТ!

  • Добрый день, вы опубликовали функцию обертки для картинок:
    Скажите пожалуйста можно ли добавить еще одно мета описание под тег img?

    И возможно вызнает как сделать вывод превью таким же способом с мета описанием.
    Что бы thumbnail сразу залетал в таком виде:

    спасибо.

    • Здравствуйте. НЕ подскажу, т.к. функцию писал не я.

  • Спасибо Вам Константин за внедрение микроразметки на моём блоге. Сделано все качественно и быстро. А главное никакого обмана что приятно. Отдельное спасибо за бонусы). Буду обращается ещё если Вы не против.

    • Спасибо вам) Да, конечно обращайтесь еще)

  • Здравствуйте! Делаю себе микроразметку, все получается хорошо, кроме комментариев! В гугле показывает все замечательно, а вот яндекс ругается, выдает ошибку:
    " microdata
    ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
    itemType =
    comment
    comment
    itemType = http://schema.org/Comment
    creator = Никанорыч
    text = Спасибо за интересную статейку, есть к чему присмотреться.
    datepublished = 2016-03-03
    comment
    comment
    itemType = http://schema.org/Comment
    creator = admin Дмитрий
    text = Всегда пожалуйста!
    datepublished = 2016-03-03"

    С автоматической микроразметкой не выходит, выдает ошибку 500, белый экран!
    Прописал в ручную, вроде бы комменты отображаются в валидаторе, но с ошибкой!
    Подскажите пожалуйст, что можно сделать?
    Пробовал отключать все плагины, перемещал itemprop="comment" itemscope="itemscope" itemtype="http://schema.org/UserComments" в разные блоки, также пробовал разделять его, все равно ошибка выскакивает!

    • Здравствуйте. itemtype="http://schema.org/UserComments уже не поддерживается гуглом. Используйте новые сущности, смотрите внимательно в статье. Пока вижу одну проблему, по которой вам может выдавать такую ошибку - комментарии размещены вне сущности article. Разместите их внутри и тогда ошибка должна исчезнуть.

      • Константин, Здравствуйте! Да, правильно не "UserComments", а "Comment" это я в коменте не правильно написал.
        Константин, Спасибо вам БОЛЬШОЕ за подсказку, реально выручили, а то я уже третий день с этими комментариями и не знаю куда их деть..
        Повозившись немного с кодом, переместил комментарии в article, правда некоторые элементы поехали, но это уже пустяки, поправимо.

        • Обращайтесь еще) Чем смогу, обязательно помогу!

  • По переменным то все равно понятно откуда Вы функцию разметки картинок взяли. Некрасиво!

    • Что непонятно то? Ссылка в статье указана на ресурс, откуда взята функция.

  • Спасибо за статью

  • Константин, здравствуйте.

    Уверен, что приходилось сталкиваться с такой ситуацией:
    разметка картинки в Article;
    в img прописываем два свойства подряд ("url" и "image"), причём
    второе "персонально" для Яндекса...
    Но валидатор w3.org диагностирует ошибку: двойной атрибут.

    Кроме как проигнорировать валидатор есть ли ещё какая-нибудь
    возможность?

    Спасибо за Вашу полезную работу.

    • Здравствуйте. Я никогда не обращал внимание на валидатор верстки, тут такая же история. Разметку сделал и забыл)

      • Константин, всё-таки удалось "удовлетворить" все валидаторы.

        Вот частный случай:


        Успехов!

        • Код не отобразился. Если не сложно, пришлите мне его по почте через страницу "написать мне". Буду благодарен.

          • Константин, у меня с отправкой через "написать мне" возникла проблема.

            Код можно посмотреть здесь: expertiza21.ru
            строки 175 (div открывается) и 181 (div закрывается).

            Соль в том, что атрибуты "url" и "contentUrl" развели по разным тегам...

            Всего доброго и с Вербным воскресеньем.

  • Приветствую! Необходима микроразметка сайта отеля, 6 страниц.

  • у меня ругается на микроразметку картинок
    name:aaaa
    url:https://site/aaa.html
    datePublished:2016-04-09T13:41:43+00:00
    headline:aa
    image:https://site/aaaaa.jpg
    interactionCount:UserComments:0
    author [Thing]:
    name:aaa
    publisherотсутствует (обязательное)
    dateModifiedотсутствует (рекомендуется)
    mainEntityOfPageотсутствует (рекомендуется)

    и еще одна ошибка на страницах
    WebPage
    mainContentOfPage [CreativeWork]:
    name:ааа
    CreativeWork – недопустимый тип целевого объекта для свойства mainContentOfPage.
    А неособо понимаю, все было в шаблоне стандартно,разметка в шаблоне от shema.org
    спасибо за помощь

  • Извините, можно ничего не отвечать! Проблема решилась банальным обновлением шаблона!

  • Добрый день! необходимо удалить старую разметку и установить новую на сайте http://PomKomp.ru, шаблон HUEMAN

    • Здравствуйте. Напишите мне на почту "info@kostyakhmelev.ru"

  • function nav($content) {
    $pattern = "<a ";
    $replacement = '<a itemprop="url" ';
    $content = str_replace($pattern, $replacement, $content);
    return $content;
    }
    add_filter('wp_nav_menu', 'nav');

    А если на одной странице два wp_nav_menu, как сделать для одного только? А то так добавляется сразу к двум.

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

      • Нашел решение. Нужно к wp_nav_menu добавить например id и в function.php вставить следующее:

        function add_menu_atts( $atts, $item, $args ) {
        if( $args->menu_id == 'mymainmenu' ) {
        $atts['itemprop'] = 'url';
        }
        return $atts;
        }
        add_filter( 'nav_menu_link_attributes', 'add_menu_atts', 10, 3 );

        Атрибут itemprop будет добавлен к меню с id=mymainmenu.

        • Спасибо за предоставленное решение. Уверен, что рано или поздно оно кому-то будет полезно, как и вам)

  • Константин, я не использую на своём блоге картинок, только текст. Значит, установить рейтинг не судьба?

    • Установить - судьба) Но текст - без картинок - это древний век. Текст должен быть грамотно оформлен.

  • Снова привет :) Такой вопрос, разметку для контактов ставить можно допустим в шапке? Она на всех стр получается будет или ее только на стр контактов можно!?

    • Привет. Можете оставить ее на всех страницах. Место - куда вам угодно.

  • Добрый день Константин! Гугл перестал видеть мою микроразметку на сайте. В чем может быть проблема? Были ли какие-то изменения в последнее время?

    • Здравствуйте. Нет, ничего не менялось. У меня на блоге разметка прекрасно отображается в валидаторах. Ищите проблемы в сайте.

  • Здравствуйте. Подскажите, как поступить в такой ситуации:

    Вместо Organization, указал Person (div itemprop="publisher" itemscope itemtype="https://schema.org/Person")

    Мне не нужно указывать адрес на сайте (Сайт информационный), а яндекс выдавал много ошибок.

    Но возникла ошибка, после того как указал Person , гугл просит указать logo, но если я указываю logo (по вашему примеру) он опять выдает ошибки о том, что logo не возможно использовать у Person.

    Путаница какая-то, или нужно как то иначе указать лого для Person?

    Спасибо.

    • Здравствуйте. В этом вопросе ничего не могу подсказать. Так сайты не размечал. Вам нужно обратиться к официальному словарю schema.org и попробовать разобраться, что к чему можно лепить и как это правильно сделать. Увы, но я в этом не эксперт.

  • А микроразметку можно скрывать? например одного из itemprop="..." style="display:none"

    • Да, можно, страшного ничего нет. Проверено не на одном сайте.

  • есть предложение по внедрению микроразметки на наш сайт - на почту вы не отвечаете....

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

  • ДОбрый день. Внедрение разметки сейчас сколько стоит?

    • Добрый. 1000р

  • а как быть, если нет изображений?

    • Будет ошибка. или же написать специальную функцию, которая будет выводить размеченный код миниатюры поста.

  • Здравствуйте! Как сделать микроразметку, если используется плагин для вывода изображений?

  • Константин, добрый день.
    Хотим воспользоваться вашими услугами по разметке нашего сайта на вордпрессе. Как выйти на связь с вами?

    • Формулу менять не нужно. Достаточно изначально растянуть ее на большое количество строк, чтобы она охватила любое количество запросов. Как это автоматизировать, не знаю. Пока только ручками.

  • Здравствуйте, Константин.
    1. По поводу разметки Текста статьи Поста. У меня нет

    тут сторонний код
    ,
    а есть в Отдельной записи (а также - Отдельной странице и в Основном шаблоне) одинаковый код:

    .
    здесь где itemprop="articleBody" прописывать?

    И второй вопрос - по разметке изображений Поста.
    Код "function micro_images_captions .... 'micro_images_captions', 10, 3);" в single.php вставлять или же, как на Главной странице - в functions.php.
    С уважением. Александр.

    • Здравствуйте. Комментарий ваш не понял. Он какой-то обрезанный. Функция разметки картинок вставлять только в файл функций, больше никуда совать его не нужно.

  • Константин, добрый день.
    Вы не ответили:
    Хотим воспользоваться вашими услугами по разметке нашего сайта на вордпрессе. Как выйти на связь с вами?

    • Здравствуйте. Если речь идет о сайте в подписи, то откажу вам, т.к. я работаю только с информационными сайтами.

      • может частично поможете с крошками и чем можно с этими сайтами вообще помочь.

  • Константин, доброго дня! У меня дублируется видимо микроразметка в шаблоне. Скрины, если можно кину: _http://prntscr.com/d2xyxw . Ошибок нету, просто по идее, вся информация есть уже выше (article _http://prntscr.com/d2y03x). Вот и возник вопрос. Нужно ли чистить в классах hfeed, и следующие связки которые выйдут уже ошибками. Или можно оставить, как есть?

    • Здравствуйте. Я всегда чищу размету hfeed. Рекомендую его почистить, т.к. гугл в панели-вебмастера может ругаться, когда стоит еще и разметка от schema.

      • Хорошо. Спасибо за совет!

  • Здравствуйте. Я Вам писал на http://kostyakhmelev.ru/napisat-mne заявку на микроразметку 04.11.2016, но до сих пор нет ответа.
    С уважением. Александр.

    • Здравствуйте. На данный момент я сильно загружен, пока не могу ни за что взяться. Прошу прощения за столь долгий ответ.

  • Привет! Возник такой вопрос) Если на сайте несколько языков, то допустим микроразметку для контактов на всех языках(для /ru, /ua) надо делать или одной хватит на одном языке?

    • Привет. Не могу ответить на данный вопрос со 100% уверенностью, но думаю, что 1й разметки хватит.

  • Константин Добрый вечер! Вопрос по разметке главной страницы. Сайт apple-pnz.com. Вы писали что на главной странице посты выводятся так же с указанием времени и даты и так далее. На данном шаблоне реализовано как то по другому. Можете подсказать как здесь реализовать микроразметку?

    • Здравствуйте. Все делается точно так же. На вашем шаблоне есть дата, время публикации не обязательно.

  • Здравствуйте, Константин! Посмотрите, пожалуйста , возможно сделать микроразметку на моем сайте : http://www.azbukastilya.ru/

    • Здравствуйте. Я интернет-магазины не размечаю. Только инфосайты

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *