7 лет практики в SEO 30+ сайтов в работе Беларусь · Россия · Казахстан Google + Яндекс Обсудить проект
Главная → Блог → E-commerce → SEO карточек товара

SEO карточек товара: 9 правил чтоб страница не сдохла в 3 клика

E-commerce
22 сентября 2026 11 минут на чтение E-commerce
Коротко

Карточка товара — самая частая точка входа в интернет-магазин из органики, и самая частая точка провала. Типовые беды: одинаковые title у 500 SKU из фида, пустая description, дубли под варианты («красный / синий / зелёный» — три URL с одним контентом), отсутствие Product-разметки, отзывы стоят через iframe стороннего виджета (Google их не видит), 2-мегабайтные картинки. Разбираем 9 конкретных правил под .by/.ru/.kz e-commerce: уникальный title/description на SKU, H1, Product schema с offers+aggregateRating, каннибализация вариантов, canonical по правилу «один товар — один URL», хлебные крошки, скорость, внутрянка «похожие / с этим покупают», HTML-фид отзывов. Плюс — что делать с товарами out-of-stock, чтобы не терять трафик.

Магазин на 500 SKU. Категорийные страницы худо-бедно в топ-20. А карточки товара — вообще нигде. Знакомо? Это классика e-commerce SEO — тысячи страниц-клонов, потому что 90% магазинов заливают их из фида поставщика без правки. Google в шоке от однотипных title, Яндекс не может выбрать между 4 вариантами одного дивана — итог: обе платформы показывают вместо тебя маркетплейсы, у которых внутрянка и авторитет тупо сильнее.

Разбираем 9 правил, которые превращают карточку из «страница-мусор в индексе» в рабочую точку входа с органики. Порядок — по приоритету: сначала то, что даёт максимум эффекта за минимум работы.

Правило 1. Уникальный title на каждую карточку

Самая частая беда — title генерится по шаблону {название товара} — {название магазина}. Итог — 500 title вида «Диван — MyShop», «Стол — MyShop», «Стул — MyShop». Google начинает переписывать их сам, часто криво, и весь топ съедают конкуренты с человеческими title.

Правильный шаблон под e-commerce:

{Название} {ключевые характеристики} — {цена|наличие|бренд} | {категория} в {городе/регионе}

Пример: «Диван прямой Grace 210см, серый велюр — 1290 BYN | Мягкая мебель в Минске». Длина 78 символов, помещается в SERP-выдачу без обрезки.

Ключевые правила:

Автоматизация: не пиши руками для каждого SKU. Один шаблон в CMS с подстановками — работает. Просто убедись, что подстановки честные: если размера в фиде нет, не пиши «0см». Пусть шаблон в этом случае пропускает поле.

Подробнее про title-правила — гайд по title/description для SEO в 2026.

Правило 2. Description как маркетинговый текст, а не «купить X в Y»

Description Google переписывает в 60-70% случаев на карточках товара — потому что дефолтный из CMS обычно «Купить X по низкой цене с доставкой». Это спам-паттерн, Google берёт из body что-то более уникальное.

Что должен содержать нормальный description:

Длина — 140-160 символов. Больше не рендерится в SERP. Меньше — потратил место впустую.

Пример: «Прямой диван Grace 210см из серого велюра с механизмом еврокнижка. Гарантия 2 года, бесплатная доставка по Минску. Купить в Мостли-мебель.» — 145 символов, всё влезает.

Правило 3. H1 = название товара, без магазинных лозунгов

H1 карточки товара — это чистое название. «Диван Grace 210см серый велюр». Всё. Без «Купить», без «в Минске», без «→ доставка бесплатно». Эти вещи — в атрибуты страницы (цена, город, условия доставки), не в H1.

Причина простая — Google/Яндекс используют H1 как основной сигнал «о чём страница». Когда H1 = «Купить диван в Минске с бесплатной доставкой», у поисковика впечатление: «страница про купить с доставкой», а не «страница про диван Grace». Ранжируется по коммерческим шаблонам, а не по товарным.

Хороший пример: H1 = «Диван Grace 210см, серый велюр». Дальше в теле: цена, наличие, характеристики, кнопки «В корзину / Купить в кредит / Быстрая покупка», отзывы, похожие. Всё коммерческое — уже как элементы UX, не как заголовки.

Правило 4. Микроразметка Product с offers и aggregateRating

Обязательный минимум JSON-LD на карточке товара — в 2026-м уже стандарт, без разметки Google в 40% случаев не показывает rich snippet в SERP. Что нужно:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Диван Grace 210см, серый велюр",
  "image": ["https://myshop.by/img/grace-1.jpg", "https://myshop.by/img/grace-2.jpg"],
  "description": "Прямой диван с механизмом еврокнижка. Обивка — серый велюр.",
  "sku": "GRC-210-GRY",
  "brand": {"@type": "Brand", "name": "Grace"},
  "offers": {
    "@type": "Offer",
    "url": "https://myshop.by/divany/grace-210-gray/",
    "priceCurrency": "BYN",
    "price": "1290",
    "availability": "https://schema.org/InStock",
    "seller": {"@type": "Organization", "name": "MyShop"}
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "23"
  }
}
</script>

Про aggregateRating отдельно: только реальные отзывы. Google с 2023-го активно банит за фейковую разметку рейтинга — теряется весь rich snippet сайта на несколько месяцев. Если отзывов нет — не втыкай aggregateRating, просто убери блок.

Про availability: обновляй в реальном времени. Если товара нет, схема должна отдавать OutOfStock. Иначе Google показывает в SERP «В наличии» + твоя цена → пользователь кликает → на карточке «Нет в наличии» → CTR портится, а Google запоминает и понижает.

Полный гайд по разметке — Schema.org в JSON-LD с примерами.

Правило 5. Один товар — один URL. Не плодить дубли по вариантам

Диван Grace бывает серый, синий, зелёный. Разные картинки, разный SKU, одинаковое описание. Что делает 80% магазинов? Создаёт три URL: /grace-gray/, /grace-blue/, /grace-green/. Google видит три страницы с одним title-шаблоном, одним контентом, разным цветом на фото. Классическая каннибализация — все три висят в топ-15-25.

Как правильно — три сценария:

  1. Один URL с переключателем цвета в UI. Идеальный вариант. Пользователь кликает «Синий» — меняются картинки и SKU через JS, URL остаётся /grace/. У Google одна страница, у пользователя нормальный UX.
  2. Разные URL, но canonical на «основной». Если по каким-то причинам нужны отдельные URL (гео-таргет через URL, история индексации), ставим <link rel="canonical" href="/grace/"> на страницах вариантов. Google склеивает сигналы.
  3. Разные URL с реальными различиями в контенте. Работает, если у каждого варианта своя история использования, свои отзывы, реально разные тексты. На практике 95% магазинов не пишут уникально — вариант 1 или 2 честнее.

Опасный антипаттерн: генерить URL по всем возможным комбинациям фильтров + вариантов. /divany/?color=gray&size=210&material=velur — если такие URL в индексе, ты сам себе создал сотни тысяч дублей.

Про каннибализацию в целом — отдельный разбор с механикой правки.

Правило 6. Хлебные крошки видимо + микроразметка

Breadcrumbs решают две задачи:

  1. UX — пользователь понимает, где он: Главная → Мебель → Диваны → Диван Grace.
  2. SEO — Google/Яндекс через BreadcrumbList разметку заменяют в SERP скучный URL красивой цепочкой. CTR по бенчмаркам +5-10%.

Разметка:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Главная", "item": "https://myshop.by/"},
    {"@type": "ListItem", "position": 2, "name": "Мебель", "item": "https://myshop.by/mebel/"},
    {"@type": "ListItem", "position": 3, "name": "Диваны", "item": "https://myshop.by/mebel/divany/"},
    {"@type": "ListItem", "position": 4, "name": "Диван Grace", "item": "https://myshop.by/mebel/divany/grace/"}
  ]
}
</script>

Плюс визуально на странице должны быть настоящие крошки — кликабельные, наверху карточки. Не только в JSON. Google проверяет соответствие.

Правило 7. Отзывы через свой HTML, не через iframe виджета

Магазины часто ставят Yotpo / Trustpilot / отзыв-виджет от Яндекса — через JavaScript iframe. Пользователь видит красивый блок отзывов, Google при индексации — пустое место. Отзывы не считаются как контент страницы, aggregateRating в микроразметке технически стоит, но контент под ним не подтверждается — Google начинает игнорировать разметку.

Правильный подход:

Побочный бонус: живые отзывы — это уникальный контент для карточки, часто с ключевыми словами по естественной речи («хорошо разложился», «доставили без косяков», «размер как в описании»). Google это ценит.

Правило 8. Скорость. Не «оптимизация», а конкретные лимиты

Карточки товара — топ по количеству картинок на странице. 5-10 фото, 360-обзор, видео. Если это всё грузится «как есть», у тебя LCP 6-8 секунд и Google понижает страницу в SERP.

Три обязательных фикса (не «best practice», а вопрос жизни и смерти):

  1. Первое фото — WebP или AVIF, не JPG. WebP экономит 25-40% веса, AVIF ещё больше. Все браузеры с 2020-го поддерживают.
  2. Первое фото — fetchpriority="high". Заставляет браузер грузить его вне очереди. LCP на карточке = это фото, если оно на первом экране.
  3. Остальные фото — loading="lazy". Не грузятся, пока пользователь не доскроллил. Экономия десятков килобайт на первый экран.

Целевые метрики Core Web Vitals: LCP < 2.5s, INP < 200ms, CLS < 0.1. Проверять через PageSpeed Insights или Chrome DevTools → Lighthouse. Всё, что выше — теряешь позиции.

Полный разбор Core Web Vitals — вот здесь.

Правило 9. Внутрянка: «похожие товары» и «с этим покупают»

Карточка товара — это тупик в структуре сайта, если из неё некуда идти. Пользователь либо кладёт в корзину, либо уходит. Внутренняя перелинковка через блоки «Похожие» и «С этим покупают» решает две задачи:

Как правильно формировать блоки:

Плюс — категорийные ссылки в теле карточки: «Смотрите также все прямые диваны», «Больше мебели Grace в каталоге». Ссылка вверх по иерархии — усиливает и категорию, и карточку.

Подробнее про перелинковку — гайд по внутренней перелинковке.

Что делать с товарами Out-of-Stock

Отдельная боль e-commerce SEO. Товар кончился, что делать со страницей? Три сценария:

Ситуация Что делать Почему
Товар вернётся в наличие через 1-4 недели Оставить страницу, availability = OutOfStock, кнопка «Уведомить о поступлении» Не теряем позицию, собираем клиентские данные
Товар снят с продажи навсегда, но есть аналог 301-редирект на страницу аналога или на категорию Передаём вес живой странице, не даём 404 в индексе
Товар снят, аналога нет, страница получает трафик Оставить как «архив» с указанием «снято с продажи», ссылки на связанные категории Трафик реальный — не разбрасываемся
Товар снят, аналога нет, страница пустая 410 Gone (не 404) 410 говорит Google «страницы не будет» — удаляется из индекса быстрее

Массовое удаление страниц out-of-stock через 404 — типовой косяк, из-за которого магазины теряют 20-30% органики за квартал. Каждый 404 — это потерянный вес и негативный сигнал для Google.

Пара наблюдений с работы

Интернет-магазин мебели, каталог 800 SKU. Проблема — карточки товара давали < 5% органики (при 90% страниц). Аудит: одинаковые title («Название — MyShop»), Product-разметки нет, отзывы через сторонний виджет, 3 URL на каждый диван (разные цвета) — итого ~2400 дубль-страниц. За 2 месяца: переписали title через шаблон с характеристиками, добавили Product+aggregateRating (с настоящими отзывами, серверный рендеринг), склеили варианты цветов в один URL с переключателем. Через 8 недель — карточки товара стали давать 41% органики, средняя позиция коммерческих запросов «купить [товар] [город]» подтянулась с 18 до 9.

Магазин косметики, 300 SKU. Ситуация другая — title/description были в порядке, но карточки не выдавали rich snippet в SERP. Оказалось: aggregateRating стоял через iframe стороннего сервиса, Google не подтверждал разметку, снял rich snippet со всех страниц. Заменили виджет на серверный рендеринг отзывов, оставили только форму нового отзыва через iframe. Через 3-4 недели Google начал показывать звёздочки в SERP — CTR коммерческих запросов вырос на 18% при тех же позициях.

Оба случая — не «SEO-магия». Просто убрали технические грабли, которые магазин сам себе создал.

Частые вопросы

А что с описаниями от поставщика? У меня 500 SKU с одинаковым HTML

Классика. Google/Яндекс не любят дубли текста в карточках между магазинами (все берут из одного фида). Что делать — не переписывать все 500 карточек руками, а сделать шаблон-обёртку: под описанием поставщика добавь свой блок с 3-5 предложениями от магазина (условия доставки, комментарий продавца, «наш опыт»). Уникальность на уровне 30-40% — уже достаточно, чтобы Google не считал страницу полным клоном чужого фида.

Как быть с фильтрами каталога? Они создают тысячи URL

Правило: под каждый популярный фильтр (по которому реально ищут — «красные диваны», «диваны до 2000 BYN») — своя посадочная страница с уникальным H1, description, микроразметкой. Под остальные (комбинации 3-4 фильтров, редкие сочетания) — noindex в robots meta + canonical на категорию. Иначе индекс раздувает, каннибализация, всё падает.

Нужно ли писать статьи в блог под каждый товар?

Нет. Статьи в блоге под товары — обычно каннибализируют коммерческие ключи с самими карточками. Гораздо полезнее — статьи под инфо-запросы («как выбрать диван», «чем отличаются механизмы раскладки») и оттуда ссылки на карточки. Разделение интентов, а не удвоение конкурентов внутри сайта.

А что с ценой в micro-data — писать точную или диапазон?

Точную и текущую. Разница даже в 5% между микроразметкой и HTML страницы = ошибка в GSC → снятие rich snippet. Если у товара варианты с разной ценой — используй AggregateOffer с lowPrice/highPrice, а не Offer.

Стоит ли завести фид на Merchant Center и Яндекс.Маркет?

Однозначно — да. Merchant Center открывает Google Shopping (даже без платной рекламы органический показ товаров идёт), Яндекс.Маркет даёт трафик на карточки через агрегатор. Правильная YML-выгрузка + фид Google — тема для отдельной статьи, но факт: магазин без этих двух каналов оставляет на столе 20-40% возможного трафика.

SEO карточек товара — не про «волшебные ключи» и «правильные шаблоны от гуру». Это про базовую техничку, которую 90% магазинов игнорируют. Уникальный title, живая микроразметка, серверный рендеринг отзывов, правильная работа с вариантами товара и out-of-stock. Ничего секретного. Просто это долгая работа по 500-2000 страниц, и ленивые магазины сдаются на первой сотне. Кто не сдаётся — забирает у ленивых их долю в органике.

Нужен аудит карточек магазина по этому чек-листу — mostlycorp@gmail.com или форма ниже. Смотрю выборку из 20 карточек по всем 9 правилам, даю таблицу приоритетов правки для всего каталога.

Проверю карточки товара по 9 правилам и дам приоритеты

Смотрю выборку 20 карточек в магазине — title, description, H1, Product+aggregateRating, каноникалы, скорость, отзывы, внутрянка, out-of-stock. Даю таблицу правок в приоритете, чтобы фиксить сначала то, что даст рост быстрее.