Микроразметка данных schema.org (вносим изменения в шаблоны)

Тема в разделе "Инструкции и FAQ", создана пользователем Zlata Jesen, 12 ноя 2015.

  1. mario512

    mario512 Новичок

    Сообщения:
    10
    Симпатии:
    0
    Пока решил так:
    <meta itemprop="price" content="<?php echo $product['price']; ?>" />
     
  2. grey0207

    grey0207 Активный пользователь

    Сообщения:
    126
    Симпатии:
    33
    С точкой мне помогло так:
    <meta itemprop="price" content="<?php echo preg_replace("/[^\d.]/","",rtrim($product['special'] ? $product['special'] : $product['price'], " \t.")); ?>" />
    Вот это считаю не правильным.
     
    Последнее редактирование: 12 апр 2017
  3. mario512

    mario512 Новичок

    Сообщения:
    10
    Симпатии:
    0
    С ценой все гуд.
    Гугл не видит разметку в Google Search Console. И при проверки разметки у всех присутствует блок с названием "Тип не указан"?
     
  4. grey0207

    grey0207 Активный пользователь

    Сообщения:
    126
    Симпатии:
    33
    Надо "обвернуть" в соответствующий тип, например. Product или Organization.
    Посмотрите на моем примере:
    https://search.google.com/structure...g.ua/steklo/arcoroc/arc-36341-kuvshin-500-ml/
     
    mario512 нравится это.
  5. mario512

    mario512 Новичок

    Сообщения:
    10
    Симпатии:
    0
    Какая версия opencart у вас?
    вот мой пример:
    https://search.google.com/structure....caseroom.in.ua/tempered-glass/glass-mi5.html
    Подскажите, что там не так?
     
  6. grey0207

    grey0207 Активный пользователь

    Сообщения:
    126
    Симпатии:
    33
    У меня 2.1.0.1 rs.
    Вроде все ок у вас кроме того, что не указан тип.

    Я пока решил главной заняться и заморочился аж вот так:
    https://search.google.com/structured-data/testing-tool#url=a-g.ua
    Еще вопрос как с филиалами поступать. Пока верного решения не нашел...
    Кстати, разметку товаров в категории надо убрать тем, у кого она есть (у меня тоже:). Могут быть вопросы от ПС (инфу можно найти в инете).
     
    Последнее редактирование: 20 апр 2017
    mario512 нравится это.
  7. mario512

    mario512 Новичок

    Сообщения:
    10
    Симпатии:
    0
    Калосальная работа))))
     
  8. solanj

    solanj Пользователь

    Сообщения:
    63
    Симпатии:
    1
    подскажите для отзывов и рейтинга в шаблоне прописано так:
    <span itemprop="review" class="hidden" itemscope itemtype="http://schema.org/Review-aggregate">
    <span itemprop="itemreviewed"><?php echo $heading_title; ?></span>
    <span itemprop="rating"><?php echo $rating; ?></span>
    <span itemprop="votes"><?php preg_match_all('/\(([0-9]+)\)/', $tab_review, $wyniki);
    if(isset($wyniki[1][0])) { echo $wyniki[1][0]; } else { echo 0; } ?></span>
    </span>
    но валидатор пишет: Неизвестный тип Review-aggregate.
    Какой тип лучше вместо него поставить? Видимо этого типа уже нет
     
  9. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    solanj нравится это.
  10. solanj

    solanj Пользователь

    Сообщения:
    63
    Симпатии:
    1
    спасибо, получилось так:
    <span itemprop="review" class="hidden" itemscope itemtype="http://schema.org/AggregateRating">
    <span itemprop="itemReviewed"><?php echo $heading_title; ?></span>
    <span itemprop="ratingCount"><?php echo $rating; ?></span>
    <span itemprop="ratingValue"><?php preg_match_all('/\(([0-9]+)\)/', $tab_review, $wyniki);
    валидация успешная
     
  11. solanj

    solanj Пользователь

    Сообщения:
    63
    Симпатии:
    1
    еще вопрос. AggregateRating должен располагаться внутри Product, или это самостоятельное свойство?
    У гугла вопросов нет, а Яндекс пишет:
    невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop

    и еще подскажите,чтодолжно быть на странице категории, кроме LocalBusiness и BreadcrumbList
     
    Последнее редактирование: 26 апр 2017
  12. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Еще раз всем напоминаю, купите модуль http://shop.opencart-russia.ru/microdata-applicationldjson-pro
    Тем самым вы убережете себя от ошибок в разметке, а сайт тем самым не попадет под фильтр.
    Вообще есть термин переоптимизация и иногда, даже при правильной разметке ваш сайт отправится в бан (в яндексе и гугле) Это реальный случай, когда приходилось убирать разметку по просьбе гугла.
     
  13. solanj

    solanj Пользователь

    Сообщения:
    63
    Симпатии:
    1
    модулей сотни, все не купишь. К тому же старая версия этого модуля у меня почему-то не работает. Да и смысл - разобраться, а не купить готовое решение. У меня стоит OCEXT SEO URL GENERATOR, часть разметки делает, часть хочу сделать вручную
     
  14. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
  15. AdrenalinCrank

    AdrenalinCrank Новичок

    Сообщения:
    5
    Симпатии:
    0
    Добрый день. Насчет разметки рейтинга: сделал всё, как написано тут -

    Прочитал всю тему, так и не понял как решить проблему с рейтингом: гугл ругается
    reviewCount
    0 (Значение параметра reviewCount должно быть положительным.)

    в catalog\controller\product\product.php после
    PHP:
      $data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']);  
    идет строка
    $data['rating'] = (int)$product_info['rating'];
    я добавил
    PHP:
     $data['review_count'] = (int)$product_info['reviews'];  
    до этой строки

    Подскажите как решить этот момент
     
  16. AdrenalinCrank

    AdrenalinCrank Новичок

    Сообщения:
    5
    Симпатии:
    0
    Или так и должно быть?)
    Остальная разметка читается нормально...
    а это предупреждение исчезнет как только на странице товара появится отзыв?
     
  17. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.519
    Симпатии:
    241
    или так ))
    PHP:
    $data['review_count'] = ($product_info['reviews']) ? (int)$product_info['reviews'] : ;
     
  18. AdrenalinCrank

    AdrenalinCrank Новичок

    Сообщения:
    5
    Симпатии:
    0
    Все 3 строки у меня выглядят сейчас так:

    PHP:
               $data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']);
                
    $data['review_count'] = ($product_info['reviews']) ? (int)$product_info['reviews'] : ;
                
    $data['rating'] = (int)$product_info['rating'];
    Но все-равно гугл пишет то же самое(
    кеш чистил перед проверкой)
     
  19. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.519
    Симпатии:
    241
    Покажите сайт. А на всякий случай почитайте http://ruschema.org/AggregateRating
     
  20. AdrenalinCrank

    AdrenalinCrank Новичок

    Сообщения:
    5
    Симпатии:
    0
    сайт www.dreamart.com.ua
    О разметке я уже читал и вроде как разобрался, в данной проблеме вопрос в другом - мне кажется что нужно для разметки прописать условие, что при отсутствии комментария в товаре он все-таки есть...) для валидатора создать видимость, чтоб он не ругался на отсутствие комментария)
    или может это неверный подход?)