Микроразметка списка записей 2.X

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


Для начала нам нужно обозначить СПИСОК ЗАПИСЕЙ. Начинается он в файле templates/default/controllers/content/category_view.tpl.php. Его и будем править в первую очередь.

Находим код (в 2.10 это 101 строка)
Код PHP:
  1. <?php if (!empty($list_styles)){ ?>
и перед ним добавляем строку
Код PHP:
  1. <div itemscope itemtype="https://schema.org/ItemList">
Теперь, пока не забыли, нужно добавить закрывающий тег div. Для этого открываем второй файл - templates/default/content/default_list.tpl.php, в конце файла находим
Код PHP:
  1. <?php if ($perpage < $total) { ?>
и перед ним вставляем строку
Код PHP:
  1. <?php if ($page_header && !$request->isInternal() && !$is_frontpage){ ?></div><?php } ?>
Размечаем ЗАГОЛОВОК СПИСКА ЗАПИСЕЙ. В файле templates/default/controllers/content/category_view.tpl.php находим тег h1 (110 строка в 2.10), и меняем на это:
Код PHP:
  1. <h1 itemprop="name">
И еще ОПИСАНИЕ СПИСКА. Находим
Код PHP:
  1. <div class="category_description">
и меняем на
Код PHP:
  1. <div class="category_description" itemprop="description">
Но если Вы используете компонент InSEO, тогда лучше описание разметить немного иначе - после закрывающего тега h1 (</h1>) добавляем строку
Код PHP:
  1. <meta itemprop="description" content="<?php echo cmsTemplate::getInstance()->metadesc; ?>" />
Больше в этом файле правок не будет.

Переходим к разметке элементов списка. Возвращаемся к файлу templates/default/content/default_list.tpl.php.

Находим
Код PHP:
  1. <div class="content_list_item <?php echo $ctype['name']; ?>_list_item<?php if (!empty($item['is_vip'])){ ?> is_vip<?php } ?>">
и меняем на
Код PHP:
  1. <div class="content_list_item <?php echo $ctype['name']; ?>_list_item<?php if (!empty($item['is_vip'])){ ?> is_vip<?php } ?>" itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem">
Это мы определили один ЭЛЕМЕНТ СПИСКА. Теперь расскажем о нем подробнее.

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

После строки, которую мы правили последней, добавляем строку
Код PHP:
  1. <meta itemprop="position" content="<?php echo $item['id']; ?>" />
Это ПОЗИЦИЯ ЗАПИСИ. Считать лень, поэтому выводим id записи.

Дальше указываем URL ЗАПИСИ - находим
Код PHP:
  1. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">
и меняем на
Код PHP:
  1. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>" itemprop="url">
Едем дальше - добавляем ЗАГОЛОВОК ЗАПИСИ
Код PHP:
  1. <meta itemprop="name" content="<?php echo $item['seo_title']; ?>" />
Я в качестве заголовка использую сео-тайтл. Вы можете использовать заголовок записи, тогда вместо seo_title напишите title.

Дальше - ОПИСАНИЕ ЗАПИСИ
Код PHP:
  1. <meta itemprop="description" content="<?php echo $item['seo_desc']; ?>" />
Аналогично с заголовком. Если нужно вывести текст записи, то вместо seo_desc напишите content. Я использую для генерации мета-описания сео-поле, поэтому мне удобнее здесь использовать его. Но если Вы хотите использовать поле content, тогда нужно еще очистить текст от тегов, поэтому эта строка должна иметь немного другой вид
Код PHP:
  1. <meta itemprop="description" content="<?php echo strip_tags($item['content']); ?>" />
И последнее, что мы укажем - это ИЗОБРАЖЕНИЕ ЗАПИСИ. Добавляем такой код
Код PHP:
  1. <meta itemprop="image" content="https://site.ru<?php echo html_image_src($item['photo'], $fields['photo']['options']['size_teaser'], $item['title']); ?>" />
Здесь, как видите, указан домен. Нам нужен полный адрес изображения вместе с доменом. Вывести его каким-то универсальным кодом у меня не получилось, сначала пытался, а потом забил. Поэтому в content обязательно дописываем https://site.ru - это Ваш сайт.

Вот такая небольшая инструкция. Может быть кому-то пригодится.

Проверить результат можно в валидаторе Гугла или Яндекса.

Всем спасибо.
Добавляем картинку в поле навигации | Микроразметка главного меню
Комментарии (30)
WebMan 16 июня 2018 в 14:46 0
small user social cms
Спасибо, шэльдэ бердэ бельдэ!
Осталось понять, какова реальная практическая польза от микроразметки в списках?
letsgo 16 июня 2018 в 17:18 0
small user social cms
Никакой. https://yandex.ru/blog/search/ispolzovanie-mikrorazmetki-itemlist Вопрос схем в целом практически умер. Слишком там перемудрили имхо разработчики масло масляное делать.
letsgo 16 июня 2018 в 19:09 0
small user social cms
Шэльдэ, неужто нет контраргументов? Пробуйте, минусовать молча ведь скучно)

Сам это проходил года три назад, перекапывал схемы, добавлял, подводил чтобы оба поисковика правильно принимали, но в итоге это была куча моей лишней работы. Схемы работают на товарах, на рецептах, социальные профили, еще кое где, но в целом мизер из всего что там написали все схема разработчики. Даже когда то острова привязывались к itemlist но в итоге ушло в никуда.
шэльдэ бердэ бельдэ 16 июня 2018 в 19:17 +1
small user social cms
Да нет, просто с Вами бесполезно о чем-то спорить. Как в том мультике, "Баба-Яга против". Не щнаю, что Вы там деоали, но микроразметка, в том числе списков, улучшила пощиции одного из моих сайтов существенно, вплоть до ТОП-1. А другой сайт обошел почти всез конкурентов по запросу "продвижение сайта" в нужном мне городе с населением 500к человек, второе место в яндексе и гугле. А до этого сайт был дальше второй страницы. И всё, что я сделал - это добавил микроразметку. В том числе, микроразметку списков. Думаю, информации достаточно, что больше не отвечать.
шэльдэ бердэ бельдэ 16 июня 2018 в 19:17 0
small user social cms
Простите за ошибки, с телефона пишу.
letsgo 16 июня 2018 в 21:19 0
small user social cms
Вот всех обошли по продвижению сайтов а на днях писали, что стало мало клиентов. shock

Я написал ответ Яндекса, не более. Плюс есть свои наблюдения, что схема орг нужна лишь в ограниченных случаях. Поэтому для товаров я делаю, для социальных и рейтингов делаю, а вот списки нет. Ваш труд не преуменьшаю, сделали и хорошо.
шэльдэ бердэ бельдэ 16 июня 2018 в 21:48 0
small user social cms
 обошли по продвижению сайтов а на днях писал
Одно другому не мешает. Я от своих слов не отказываюсь. Так и есть.
шэльдэ бердэ бельдэ 16 июня 2018 в 21:48 0
small user social cms
 обошли по продвижению сайтов а на днях писал
Одно другому не мешает. Я от своих слов не отказываюсь. Так и есть.
шэльдэ бердэ бельдэ 16 июня 2018 в 19:45 0
small user social cms
В любом случае, каждый решит для себя сам, нужно это ему или нет. Я никого не вынуждаю что-то делать, а то, что предложил - это из самых добрых побуждений. Чтобы это это сделать никому не нужно ничего платить, времени займет не больше двух минут. Поэтому каждый пусть сам решит. А Вы може рассказать, как это вредно и почему лучше этого не делать.
WebMan 16 июня 2018 в 20:20 0
small user social cms
Спасибо за обсуждение полезности. Жаль, что у вас не сложилось взаимопонимание, но это личное дело только вас двоих...
Из приведённой letsgo ссылки для себя сделал вывод, что в данный момент мне достаточно микроразметки для записей - она как раз и может дать поднятие в поиске. Если кто-то проводил эксперимент с разметкой списков (отдельно от записей) и получил позитивные результаты, готов изменить своё мнение.
В любом случае, Вы, шэльдэ бердэ бельдэ, показали людям, как её можно легко внедрить в свой шаблон. И кому-то это действительно может оказаться полезно. Поэтому с моей стороны однозначный плюс за проделанную работу. v
шэльдэ бердэ бельдэ 16 июня 2018 в 21:13 0
small user social cms
 в данный момент мне достаточно микроразметки для записей
Еще есть гугл. Letsgo дал ссылку на блог Яндекса. Но и по этой ссылке данные уже просрочены.

Я не навязываю. Просто предложил. Как поступить решайте сами.
WebMan 17 июня 2018 в 01:34 +1
small user social cms
шэльдэ бердэ бельдэ:
Letsgo дал ссылку на блог Яндекса. Но и по этой ссылке данные уже просрочены.

Да, вроде, статья актуальная. Ответ на вопрос был дан в конце 2016-го года, и заново подтверждён в апреле 2018-го.
ivanish 16 июня 2018 в 20:21 +1
small user social cms
Для незнающих. В системе есть Компоненты: Микроформат Open Graph - это другое? Если нет, они между собой совместимы?
WebMan 16 июня 2018 в 23:04 0
small user social cms
"Микроформат Open Graph" позволяет добавить микроразметку для записей.
А в данном посте шэльдэ бердэ бельдэ предложил способ, как добавить такую разметку и в списки записей.
WebMan 16 июня 2018 в 23:05 0
small user social cms
И да, они совместимы, так как работают в разных местах.
шэльдэ бердэ бельдэ 16 июня 2018 в 23:24 0
small user social cms
WebMan 17 июня 2018 в 01:44 0
small user social cms
Простите, я не понял, что Вы спрашиваете о двух разных типах разметки, а не просто о программной совместимости.
В любом случае, компонент "Микроформат Open Graph" и данный способ внедрения Schema.org совместимы, тем более, что предназначены для использования в разных местах, как я и написал выше.

Однако, чтобы сайт легче продвигался не только в Гугле, но и в Яндексе, компонент "Микроформат Open Graph" стоит немного доработать и внедрить в него Schema.org. Например, есть решение Добавляем schema.org к Open graph от Evanescence. Правда, оно для предыдущих версий Двойки, а подойдёт ли на 2.10 - нужно уточнять у автора.
Endroid 17 июня 2018 в 12:56 0
small user social cms
Всё работает. Там ведь нету кардинальных изменений.
Алексей Тимофеев 17 июня 2018 в 14:33 +1
small user social cms
Спасибо, очень полезно+
шэльдэ бердэ бельдэ 18 июня 2018 в 00:50 +2
small user social cms
Вот немного времени появилось на ночь глядя.

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

Итак, начнем сначала. Для чего микроразметка? Для того, чтобы поисковики правильно индексировали сайт и выводили в результатах поиска правильные сниппеты. Это если коротко. Без микроразметки в выдаче часто всякая хрень - куски текста из сайдбаров или последнего абзаца и прочая муть. И даже description не всегда спасает - роботы индексируют так, как им этого хочется. Микроразметка позволяет настроить правильные сниппеты, такие, какие задумал вебмастер. Т.е., размечая данные на сайте мы указываем поисковикам, что индексировать и как показывать в поисковой выдаче.

Для чего разметка списков? Всё правильно - для того, чтобы разметить какие-то "коллекции" записей, наборы, то, что в одной коробке. Например, отфильтрованный материал, или что-то еще. Вариантом миллион, все не перечислить. Так вот, что в снипппете в поисковой выдаче, если микроразметки нет? Правильно, хрень какая-то. Поисковики выдергивают по слову из каждого предложения, формируя бредотекст. Только дебил перейдет по такой ссылке. Хотя да, иногда переходят. Микроразметка списка дает возможность указать поисковику, что выводить в сниппете для конкретной страницы. В итоге, CTR увеличивается в разы. Потому что нормальный человек скорее перейдет по ссылке, где в сниппете красивый текст, а не бред сивой кобылы.

Разные специалисты могут начать приводить в пример компоненты от разных хороших разработчиков. Но и они (специалисты) когда-нибудь поймут (возможно, а может и нет, скорее нет, чем да), что ничего хорошего не может быть среди универсального. Всё, что универсальное - это отстой. Каждая сущность должна размечаться по своему. Если все страницы разметить как WebPage, то это значит сказать поисковикам, что вы вообще не в курсе о чем ваш сайт. Идет ребенок. Мальчик или девочка? Пофиг, это универсальный ребенок. Так делают только те, кто даже не пытался разобраться. А потом начинают ныть, что им микроразметка не помогла и вообще все козлы и жизнь дерьмо.

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

Чтобы было понятнее. Еще раз (какой по счету сами посчитайте) повторяю. Я никого не вынуждаю что-то делать. Мне вообще откровенно наплевать, вот честно. Если вы сомневаетесь - последуйте совету letsgo и прекратите заниматься разными такими вещами. Какое нахрен сео? Какая микроразметка? Обращайтесь к нему, он сам всё сделает. Не ломайте свои сайты правкой кода. Зачем вам это вообще нужно?

Да, еще. Open Graph и Schema.Org - это разные вещи. Ссылку давал, там можно подробнее поичать. Open Graf придуман в фейсбуке, чтобы когда кто-то делится ссылкой, красиво ее оформить. Schema.org - это разработка поисковиков. Внедрить одно в другое нельзя. Пеноблок нельзя внедрить в кирпич. Это два отдельных формата, они работают каждый сам по себе. Они друг другу не мешают и не помогают. Каждый сам по себе и для разных задач.

Всем спасибо и удачи!
letsgo 18 июня 2018 в 09:21 0
small user social cms
Шэльдэ вы заблуждаетесь.

1. Я не давал советов, а привёл живой и свежий пруф Яндекса насчёт списков.
2. Вы сказали что за 2018 год ответ Яндекса неактуален, и дали ссылку от 2014 года. rofl
3. Для вывода хорошего снипета списков - создаётся хорошее мета описание и желательно описание категории, если она важна как ЦС.
4. Почитайте что такое релевантный снипет.
5. Schema org не разработка поисковиков, они взяли что им надо было: товары, рецепты, отзывы, рейтинги, еще кое что и всё. Дальше там дебри у схемы, которые даже поисковики не видят смысла разбирать.

Вы переиначили смысл моих сообщений в теме. Вас задело, что спискам не нужна разметка? Это вопрос не ко мне, а к поисковикам всё таки, так что обижаться незачем. Благодаря мне, вам не придётся в будущем делать лишнюю бесполезную работу. Наоборот бы спасибо сказали)
шэльдэ бердэ бельдэ 18 июня 2018 в 09:34 +2
small user social cms
Каждое Ваше сообщение бредовее предыдущего. И поэтому я решил Вам больше не отвечать, чтобы Вас не занесло совсем.

И напоследок - лишняя бесполезная работа - это диалог с Вами. Вот уж действительно, благодаря Вам мне больше не придется ее делать.
letsgo 18 июня 2018 в 13:20 0
small user social cms
Вы знаете, мои знания обычно приносят деньги. Мне за выполненную работу, клиентам в виде работающих эффективных сайтов, продаж, конверсии. И я поэтому веду свою тему здесь, что знаю точно: я лучше не буду браться, чем сделаю то, что клиенту невыгодно или не сработает.

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

Вы пролетели со своими эмоциональными постами - да. Могу я в чём то пролететь - да, тоже не всегда всё гладко может быть. Но давайте оставаться коллегами обсуждающими вопросы, а не пытаться задеть друг друга. Вы здравый человек, прекрасно понимаете и ловите многие моменты, вот поэтому не уходите на уровень Андрея, который за правильно данный ему совет, уже 4 года бегает под моими постами пишет пакости.
шэльдэ бердэ бельдэ 18 июня 2018 в 13:50 +1
small user social cms
стараясь дать фактические данные
У меня есть свои данные, свой опыт. Мой опыт полностью перечеркивает Ваши "фактические данные". Вы везде зачем-то пытаетесь доказать, что всё не имеет смысла. Имеет! И я тоже зарабатываю своими знаниями. И когда говорю, что мало клиентов, то речь идет о новых клиентах. Уже почти год я живу за счет того, что мои старые клиенты заказывают у меня всё новые и новые услуги.

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

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

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

Что касается микроразметки списков. Это однозначно не навредит. Но в совокупности даст результат. Яндекс, по-Вашему, эту разметку не признает? Хорошо, тогда бы он ее вообще игнорировал. Но валидатор ищет ошибки. Зачем искать их в той части сайта, которая не имеет значения?

В совокупности с другими данными микроразметка списка дает хороший эффект. Например, на сайте размечены товары (Product), и список товаров (ItemList). Роботы это понимают, они видят, какие элементы в списке, а также знают, что это за элементы. Владелец сайта получает отличный результат. Как в плане роста позиций, так и в плане CTR - сайт выше в поиске, переходов на сайт больше. Вы можете продолжать стоять на своем, я буду на своем. Потому что это проверено не чтением сплетен, а опытным путем в течение нескольких лет.
letsgo 18 июня 2018 в 14:25 0
small user social cms
Шэльде, даже если у меня другое мнение, это всего лишь мнение. Каждый сделает исходя из своего. Ничего в этом страшного нет. Нормальный процесс когда есть 2-3 мнения, главное что они есть. Состязательность здравая лишь улучшает подход.
Андрей 18 июня 2018 в 13:51 +1
small user social cms
Никто не бегает за вами, вы сами в каждой бочке присутствуете crazy . Если вы правду пакостями называете, то это ваши проблемы.
Прежде чем другие сайты хаять идите и свой https://cmsinstant.ru/ настройте правильно. А то я - супер оптимизатор, @опой ёжиков давлю, seoшник от Бога, а про тег H1 наверно и не слышали. Языком мести умеете и только, уж в мозолях весь наверно и пальцы от клавиатуры rofl





Флуд и троллинг letsgo вот это вы умеете, а в web и seo - вы пока ребёнок. joke
letsgo 18 июня 2018 в 14:21 0
small user social cms
Андрей вы привели показатели SEO да? rofl Вы супер аналитик. Вот вы приоткрыли еще одну сторону своего "таланта".

Я то думал что сайт должен работать по SEO так чтобы и спустя 2-3 года после того, как с ним перестали работать держать ключи, как так например: https://yadi.sk/i/gDIdvMN93Y4jP5 но оказалось что нет. Андрей вывел всех на чистую воду! Только попсовый тест для детишек и только такие показатели как: сжатие изображений, ссылка с 404 страницы, кеш браузера - вот они основные факторы SEO. Это я бы сказал открытие)

Ну вот и как после этого Андрея не пожалеть. Он же не просто так делает 4 года непосещаемый сайт - он вставляет туда ссылки с 404 страницы, сжимает изображения, убрал с верхней части JS и CSS. Только вот одна проблема - всё равно ему не везёт, нет никого на сайте, он уже и с цветом поигрался и картинки прямоугольные делает, но невезуха.
Андрей 18 июня 2018 в 14:40 -2
small user social cms
letsgo:
Андрей вы привели показатели SEO да?

я привёл пример вашего "профессионализма" - только и всего, вы прекрасно всё поняли и другие поймут.
SpideR-KOSS 18 июня 2018 в 14:47 0
small user social cms
Другие это кто? Будучи далеким от СЕО и так понятно что эти показатели "никак" не влияют, за исключением H1.
@kami 18 июня 2018 в 21:50 0
small user social cms
пока самое юморное объяснение и возможность их сравнения про типы разметок stuk

шэльдэ бердэ бельдэ:
Да, еще. Open Graph и Schema.Org - это разные вещи. Ссылку давал, там можно подробнее поичать. Open Graf придуман в фейсбуке, чтобы когда кто-то делится ссылкой, красиво ее оформить. Schema.org - это разработка поисковиков. Внедрить одно в другое нельзя. Пеноблок нельзя внедрить в кирпич. Это два отдельных формата, они работают каждый сам по себе. Они друг другу не мешают и не помогают. Каждый сам по себе и для разных задач.
rofl