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

#
Микроразметка в HOSTCMS
Ничего нет про микроразметку в HOSTCMS

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

Что скажите?

Микроазметка товаров в HostCMS
В последнее время условия конкурентной выдачи поисковых систем чрезвычайно ужесточились.
Многие думают, как улучшить показатели своих сайтов.
Один из вариантов — семантическая разметка данных на сайте.
Что такое семантическая разметка, можно прочитать хотя бы в том же Яндексе — help.yandex.ru/webmaster/?id=1122752

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

1) в админ центре сайта, в разделе Макеты сайта – ищем «Шаблон для Интернет-магазина».
У вас шаблон может называться по-другому, но это тот шаблон, который выводит сам интернет магазин, его каталог, категории и товары.

2) запоминаем его номер, и через FTP или иной удобный для вас способ, переносим файл шаблона к себе на рабочее место.

3) открываем его, чем вам удобно, я например Notepad ++, и в конец файла добавляем информацию:

<?php
/* этот код показывается только на страницах товаров */

if (isset($GLOBALS['shop_item_path']['item']) && $GLOBALS['shop_item_path']['item'] > 0)
{
$shop = new shop();
$site = new site();
$shop_items_catalog_item_id = to_int($GLOBALS['shop_item_path']['item']);
$row = $shop->GetItem($shop_items_catalog_item_id);
$current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$url = 'http://' . $site->GetCurrentAlias(CURRENT_SITE) . $_SERVER['REQUEST_URI'];
$img = '/' . $shop->GetItemDir($shop_items_catalog_item_id) . $row['shop_items_catalog_small_image'];
$bhost = 'http://'.$_SERVER['HTTP_HOST'];
?>
    <div itemscope itemtype="http://schema.org/Product" style="display:none">
            <img src="<?php  echo $bhost; ?><?php echo $img; ?>" />
            <span itemprop="name"><?php Core_Page::instance()->showTitle()?></span>
            <span itemprop="description"><?php Core_Page::instance()->showDescription() ?></span>
            <span itemprop="productID"><?php echo $row['shop_items_catalog_item_id']; ?></span>
            
        <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
             <a itemprop="url" href="<?php echo $current_url ?>" /><?php Core_Page::instance()->showTitle()?></a>
             <span itemprop="price"><?php echo $row['shop_items_catalog_price']; ?></span>
             <span itemprop="availability" href="http://schema.org/OnlineOnly" />в интенет магазине</span>
        </div>         
</div>
<?php
    }
?>


Хочу заметить, что возможно конструкция не идеальная, но учтите что версия HostCMS переходная, поверх последней 5 версии, было установлено обновление 6.
А 5 версия и 6, это совсем разные продукты.

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

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

<div itemscope itemtype="http://schema.org/ImageObject"  style="display:none">
      <h2 itemprop="name"><?php Core_Page::instance()->showTitle()?></h2>
      <img src="<?php echo $row['shop_items_catalog_small_image']; ?>" itemprop="contentUrl" />
     <span itemprop="description"><?php Core_Page::instance()->showDescription() ?></span>
  </div>

<?php
    }
?>


Поменяв или добавив в шаблон этот код, вы сможете увидеть результат в коде странице любого товара.
Конструкция проверена и работает ( версия HostCMS: 5.9.36 была обновлена до 6.0.3)

Буду рад, если кому пригодится.
#
Re: Микроразметка в HOSTCMS
selltis писал(а):
возможно конструкция не идеальная
я бы сказал, что конструкция - говно.
Это надо делать в XSL а не в php!
Независимо от версии системы.
Заказов не беру. Консультирую редко.
#
Re: Микроразметка в HOSTCMS
тоже сегодня попробовала это решение, не получилось - валидатор Яндекса при проверке выдает ошибку. Ни у кого нет грамотной реализации микроразметки на сайтах HostCMS?
Модератор
#
Re: Микроразметка в HOSTCMS
Wariag,
текстом ошибки Вы с нами поделитесь?
#
Re: Микроразметка в HOSTCMS
Wariag,
тут дело то не в системах, реализовывал разметку и на 5 и на 6 версии, правильно Kotoff говорит что делается это в XSL-шаблонах, а не на php
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Микроразметка в HOSTCMS
вот полностью ответ Яндекса:
product
itemType = http://schema.org/Product
name = Fatal error: Class 'Core_Page' not found in /home/ladytula/domains/lady-tula.ru/public_html/hostcmsfiles/data_templates/2.htm on line 76

Скриншотик: http://joxi.ru/0URVU_3JTJDLaLGmAcY
#
Re: Микроразметка в HOSTCMS
Wariag,
дак у вас 5 версия, а вы код от 6 вставляете
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Микроразметка в HOSTCMS
вот я и спрашиваю, нет ли у кого правильного
Авторизация