Schema.org

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

Так можно вообще никакие не заполнять, теоретически то. :roll_eyes:
А брэнд, урл и имэйдж - разве не основные?

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

У нас есть модуль, который заполняет все, кроме priceValidUntil

https://www.ecom-labs.ru/cs-cart-multi-vendor-moduli/cs-cart-modul-json-ld-rasshirennye-snippety.html

Добрый день! У вас в планах есть доработка вашего модуля по данному priceValidUntil параметру? Так как тоже возникли данные проблемы.

В CS-Cart нет аналогичного параметра. Поэтому добавлять не планируем. Учтите, что замечания от Google не являются ошибками и эти параметры можно не заполнять

Прикрутил кое-что. Выглядит это примерно так. В файле /design/themes/ТЕМА/templates/addons/seo/hooks/products/view_main_info.pre.tpl у меня такое содержимое:

	<div itemscope itemtype="http://schema.org/Product">
    <meta itemprop="sku" content="{$product.seo_snippet.sku}" />

    <meta itemprop="brand" content="{$product.header_features.64.variant}"/>
    <meta itemprop="image" content="{$product.main_pair.detailed.https_image_path}"/>
    <meta itemprop="gtin13" content="FALSE"/> 

    {assign var=rParts value="&nbsp;&nbsp;"|explode:$product.seo_snippet.description}
    <meta itemprop="name" content="{$rParts.0}" />
    <meta itemprop="description" content="{$product.seo_snippet.description|replace:{$rParts.0}:""}" /></pre>



    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <link itemprop="availability" href="http://schema.org/{$product.seo_snippet.availability}" />
        {if $product.seo_snippet.show_price}
            <meta itemprop="priceCurrency" content="{$product.seo_snippet.price_currency}"/>
            <meta itemprop="price" content="{$product.seo_snippet.price}"/>

            <meta itemprop="priceValidUntil" content="{"+7 days"|date_format:"%Y-%m-%d"}"/>
            <meta itemprop="url" content="{$seo_canonical.current}"/>
            <meta itemprop="image" content="{$product.main_pair.detailed.https_image_path}"/>           
        {/if}
    </div>

    {hook name="products:seo_snippet_attributes"}
    {/hook}

</div>

Несколько моментов поясню:

У меня полное название товара лежит первой строкой в description/ В одном из последних обновлений, как я понял, формирование description изменили, убрали возвраты каретки. Поэтому придется теперь в конце наименования ставить два неразрывных пробела и делить description на две части: name и собственно description/

brand я вытаскиваю из характеристики. У меня это характеристика с id=64

priceValidUntil формирую довольно примитивно: к текущей дате добавляю неделю.

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

5 лайков

Вдруг обнаружил, что есть возвраты каретки в description и работает вот такой код

{assign var=rParts value="\n"|explode:$product.seo_snippet.description}

вместо

{assign var=rParts value="&nbsp;&nbsp;"|explode:$product.seo_snippet.description}

Можно не запариваться с двумя неразрывными пробелами :slight_smile:

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

а рейтинги где отредактировать можно? проверить, чем вызвана ошибка

http://schema.org/Review
ПРЕДУПРЕЖДЕНИЕ: поле itemReviewed отсутствует или пусто

У товара есть реальный отзыв? Можно посмотреть на этот товар?

Когда отзывов нет, яндекс не нервничает … но гугл ставит ошибки. когда прописываешь отзывы гугул доволен, а яндекс выдает эту ошибку. как я понимаю это сущность к которой относится этот отзыв … по сути это название товараImage%201333333

до этого яша ругался на бренд

itemprop=“brand” itemscope itemtype=“http://schema.org/**Thing**”

жирное нужно поменять на Brand

думаю, там тоже какая то небрежность …
а где найти “products:seo_snippet_attributes” ?

Предупреждение — не ошибка. Ну нет отзыва и что? :slight_smile: У нас куча товаров пока без отзыва и рейтинга.

А зачем искать products:seo_snippet_attributes? Это имя хука :slight_smile:

1 лайк

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

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

а где найти “products:seo_snippet_attributes” ?

В responsive/templates/addons/seo/hooks/products/view_main_info.pre.tpl.

Расположение хуков можно искать через базу хуков: https://helpdesk.cs-cart.com/api

1 лайк

нашел откуда вставляет

там не пусто а просто отсутствует. как я понял тему, т к это карточка товара то обьект отзыва не указывается … был бы например обьектом отзыва ресторан, другое дело.

к тому же как я понял, яндекс это дело игнорирует … а у гугла все хорошо

у нас мало товара … хочу сделать так чтобы было идеально вообще без ошибок :slight_smile:

1 лайк

У меня получается такая картина

https://search.google.com/structured-data/testing-tool?hl=ru#url=https%3A%2F%2Flillyshop.pro%2Fvytyazhki-pylesosy%2Fvityazhka-dlya-mankyuru-nail-dust-collector-80-w%2F

Как можно исправить ту одну ошибку?

мож он хочет формат урла не как у каталога?

@id должно быть ссылкой на страницу