Микроразметка Schema.org для InstantCms 2

Внедряем микроразметку на сайт

#1 25 августа 2016 в 08:06
Коллеги, предлагаю поделиться своими наработками, в плане внедрения микроразметки Schema.org для InstantCms 2.x. Обо всех преимуществах данной микроразметки рассказывать не буду (тема поднималась не один раз), лишь отмечу, что Яндекс и Google рекомендует её к использованию для улучшения представление вашего сайта в результатах поиска.

Решил поделиться с сообществом своим файлом с микроразметкой для типа контента "Новости" (так как они у меня в приоритете). Несколько пояснений:
1. В папке templates/default/content находим файл default_item.tpl.php, копируем его и переименовываем в news_item.tpl.php — тем самым делаем свой шаблон для типа материала "Новости"
2. В новом файле добавляем информацию об издателе: Название сайта, логотип, адрес, телефон (рекомендация Гугла).
3. Размечаем по стандарту поля author, articleBody, headline name — здесь все просто.
4. Для description и image придется "выдернуть" поля из основного содержимого.
5. Для правильного указания datePublished и dateModified, согласно инструкции делаем свой helper.php. В нем редактируем функцию function html_date и добавляем свою для dateModified:
  1.  
  2. function html_date($date=false, $is_time=false){
  3. $timestamp = $date ? strtotime($date) : time();
  4. $date = '<time itemprop="datePublished" datetime="'.date('c', $timestamp).'">'.htmlspecialchars(date(cmsConfig::get('date_format'), $timestamp)).'</time>';
  5. if ($is_time){ $date .= ' <span class="time">' . date('H:i', $timestamp). '</span>'; }
  6. return $date;
  7. }
  8.  
  9. function modif_date($date=false, $is_time=false){
  10. $timestamp = $date ? strtotime($date) : time();
  11. $date = '<time itemprop="dateModified" datetime="'.date('c', $timestamp).'">'.htmlspecialchars(date(cmsConfig::get('date_format'), $timestamp)).'</time>';
  12. if ($is_time){ $date .= ' <span class="time">' . date('H:i', $timestamp). '</span>'; }
  13. return $date;
  14. }
  15.  
Поле dateModified в шаблоне ставлю display=none. Возможно этого пункта есть более простой способ.

У меня остался не решенным вопрос с указанием itemprop="width" и itemprop="height". Подразумеваю, что нужно сделать через getimagesize — но у меня не получилось.

Возможно, рано или поздно данная микроразметка наряду с Open Graph появится по-умолчанию в InstantCms 2 (моя запись на GitHub), но а пока предлагаю поделиться своими наработками.

UPD: Найдено универсальное решение от Evanescence: http://instantcms.ru/blogs/moi-razrabotki/dobavljaem-schema-org-k-open-graph.html
Прикрепленный файл
newsitemtpl_2gg4d.zip 3 Кб
#2 25 августа 2016 в 08:19

В папке templates/default/content находим файл default_item.tpl.php, копируем его и переименовываем в news_item.tpl.php — тем самым делаем свой шаблон для типа материала "Новости"

MakArtSoft

Покажите скрин из яндекса и гугла с проверкой страницы, что вы сделали.
#3 25 августа 2016 в 08:50

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

letsgo
Гугл можно сразу посмотреть по
  1. https://search.google.com/structured-data/testing-tool#url=http%3A%2F%2Furengoy.pro%2Fnews%2F1956-novyi-urengoi-otmetit-den-goroda-3-i-4-sentjabrja.html
.
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
#4 25 августа 2016 в 10:00

Возможно, рано или поздно данная микроразметка наряду с Open Graph появится по-умолчанию в InstantCms 2 (

Сложно другое!
Для разметки schema, реально нужно создавать курсы молодого разметчика.
Если сейчас схемы представляют собой набор из 583 типов, каждый из которых связан с набором 846 свойств. А типы организованы в виде иерархии.
И Да! В случае со схемой, инстант это не только новости, это множество типов контента, к каждому типу контента нужно найти правильный тип схемы.
#5 25 августа 2016 в 10:36
3 ошибки, не считая отсутствия ряда тегов. Вообще схема эта все так себе. Она удобна только для ряда информации — товары, рецепты. Для новостей толку мало.
#6 25 августа 2016 в 10:55
На данный момент складывается мнение, что разметка отходит на второй план( все не как не может выйти 3 версия разметки) и на первый выходит AMP. Сейчас гугл ее очень активно продвигает и каждую неделю выходят новые плюшки для тех кто ее уже использует, а это многие тысячи сайтов.
Теперь и в основной выдаче приоритет, показ ошибок разметки прямо в индексе веб мастеру, новые фишки в отчете, ожидается поддержка яндексом в панеле(заявлено). Поддержка всеми соц сетями и уже открыта для всех, не только новостники, как и выдача в гугле. Сканит и яндекс теперь эти страницы.
В общем ускоренные страницы в приоритете, оно и понятно, грузятся за секунду и тд и тп.
Но если захотите по обсуждать, вот темка в которой поднимался вопрос для инстанта, instantcms.ru/forum/thread23311-1.html
#7 25 августа 2016 в 11:47

3 ошибки, не считая отсутствия ряда тегов

letsgo
Сейчас ошибок в Гугле нет. Breadcrumb "лечится элементарно". Вопрос остался только с itemprop="width" и itemprop="height".
Пока сделал костыль — указал просто стандартные значения
#8 6 февраля 2017 в 21:22
на этом тема кончилась? поверить не могу!
#9 6 февраля 2017 в 21:36

на этом тема кончилась? поверить не могу!

TOPg
Через пару дней поделюсь решением. Работает на любом шаблоне без необходимости правки.
Сайт времени нет из за выхода 2.7
#10 6 февраля 2017 в 21:49
Evanescence
огромное спасибо буду очень ждать? это будет в каталоге или в ЛС отправите?
#11 8 февраля 2017 в 15:32
Evanescence
не выкладывали ещё?
#12 8 февраля 2017 в 16:13

Через пару дней поделюсь решением. Работает на любом шаблоне без необходимости правки.
Сайт времени нет из за выхода 2.7

Evanescence
Было бы очень интересно!
#13 8 февраля 2017 в 17:01
Навряд ли будет универсальное решение. Микроразметку трудно подогнать под стандарты обоих поисковиков.
#15 17 сентября 2022 в 16:37

Уважаемые а это поле как заполнить?

Изображение

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