SEO карточки товара и категории интернет-магазина: что должно быть на странице
SEO для интернет-магазина — не про блог и не про внешние ссылки в первую очередь. Это про карточки и категории. Если у вас 5 000 карточек и 200 категорий, то 80 % органического трафика придёт именно с этих страниц, а не с главной или из блога. Задача владельца магазина — сделать так, чтобы каждая карточка и категория была самодостаточной посадочной с чистой структурой, микроразметкой и быстрой загрузкой. В этом гайде разберём по пунктам, что должно быть на seo карточке товара и категории, как оформить микроразметку, что делать с товарами не в наличии и типовыми дублями из-за фильтров.
Почему карточки и категории — это 80 % SEO магазина
Пользователь ищет конкретный товар («смартфон xiaomi redmi note 13 pro купить») или категорию («беговые кроссовки мужские»). По первому запросу поисковик показывает карточку товара, по второму — страницу категории. Главная страница магазина обычно ранжируется только по брендовому запросу («название магазина»). Блог даёт информационный трафик, но продажи с него — единицы процентов.
Если посчитать грубо: у магазина на 5 000 товаров получается порядка 5 200 SEO-страниц (5 000 карточек + 200 категорий + фильтры + служебные). Каждая — отдельный шанс попасть в топ по конкретному запросу. И если карточки собраны копипастом с сайта производителя, а категории — с пустым H1 и без seo-текста, то весь потенциал сливается. Работать с блогом при таком положении — тушить пожар из ведра, когда протекает труба.
Правило простое: сначала приводим в порядок карточки и категории, потом всё остальное. Аудит начинается с обхода каталога — SEO Crawler покажет карточки без описаний, дубли title, отсутствие Product Schema и битые canonical.
Карточка товара: что должно быть на странице
Разберём по элементам. Каждый пункт — обязательный, а не «желательно».
Title по формуле
Единый шаблон на весь каталог. Рабочая формула для e-commerce:
{Название товара} — купить в {Город} с доставкой | {Бренд}, цена {Цена} ₽
Пример: Смартфон Xiaomi Redmi Note 13 Pro 8/256 ГБ — купить в Москве с доставкой | Xiaomi, цена 24 990 ₽
Что важно:
- Название полное, с ключевыми характеристиками (объём памяти, цвет, размер). Не «Смартфон Xiaomi», а «Смартфон Xiaomi Redmi Note 13 Pro 8/256 ГБ».
- Слово «купить» — маркер коммерческого интента, помогает попадать в коммерческую выдачу.
- Город — если магазин продаёт по всей РФ, лучше указывать основной город доставки или убрать вовсе (иначе будет каннибализация с региональными версиями).
- Бренд повторяется — усиливает бренд-запросы.
- Цена в title — увеличивает CTR на 5–15 %, но требует автоподстановки при изменении.
- Общая длина — до 70 символов на видимой части в выдаче. Если не влезает, режется хвост, ключевые слова в начало.
Про title и description подробнее — в статье мета-теги для SEO.
H1
H1 — один на страницу, точное название товара без хвостов «купить/цена/бренд». Например: «Смартфон Xiaomi Redmi Note 13 Pro 8/256 ГБ». Title и H1 не должны быть идентичными — title расширенный (для поисковика), H1 краткий (для пользователя). Правила заголовков H1–H6 — в отдельной статье.
Описание — уникальный текст 500–1500 знаков
Самая частая ошибка магазина — вставить описание от производителя. Такой текст уже есть на сотнях сайтов конкурентов и на официальном сайте бренда. Для поисковика ваша карточка становится дублем, ранжироваться она не будет.
Что делать: писать своё описание. 500–1500 знаков достаточно. Что включить:
- Для кого товар (аудитория, сценарий использования).
- Ключевые преимущества (2–4 пункта).
- На что обратить внимание при выборе.
- Комплектация, что в коробке.
- Гарантия, сроки доставки, условия возврата — если это отличает вас от конкурентов.
Написать 500 уникальных знаков на 5 000 товаров вручную — задача на команду копирайтеров и полгода. Реалистичный подход:
- Топ-100 товаров по частотности запросов — заказать копирайтеру.
- Топ-500 — сгенерировать через нейросеть по шаблону с фактами из характеристик и вычитать.
- Остальное — минимальное описание из характеристик автогенерацией.
Характеристики
Полная таблица характеристик: производитель, модель, размеры, вес, материал, страна происхождения, гарантия. Чем больше пунктов — тем полнее ответ на пользовательские запросы вида «xiaomi redmi note 13 pro размеры», «xiaomi redmi note 13 pro материал корпуса». Каждая характеристика — потенциальный микроключ.
Фото и видео
Минимум 4–6 фото с разных ракурсов, желательно видео обзора. Требования:
- Первое фото — качественное, отражает суть товара. На него будет LCP-метрика Core Web Vitals.
- Формат WebP или AVIF (весит в 2–3 раза меньше JPEG при том же качестве).
- Атрибут
alt— с названием товара, не пустой. srcsetс версиями под разные экраны.- Lazy-load для всех, кроме первого (
loading="lazy").
Подробнее — оптимизация изображений для SEO.
Отзывы
UGC-контент, который поисковик особенно любит: реальный текст от реальных людей с ключевыми словами, о которых копирайтер не подумал. Даже 5–10 отзывов на карточку — плюс к позициям и плюс к конверсии одновременно.
Технически: отзывы должны быть в HTML-коде страницы (не подгружаться JS после клика), иначе поисковик их не увидит. Средняя оценка выводится в микроразметке AggregateRating и попадает в сниппет в виде звёзд.
Блок «С этим товаром берут»
3–6 карточек похожих товаров или аксессуаров. Двойная польза: пользователь видит альтернативы (снижение отказов), поисковик получает внутреннюю перелинковку и обходит больше страниц каталога. Про внутреннюю перелинковку сайта — отдельная статья.
Хлебные крошки
Обязательно: Главная > Категория > Подкатегория > Товар. Кликабельные ссылки, обёрнутые в микроразметку BreadcrumbList. Пользователь понимает, где находится, поисковик — структуру каталога.
Микроразметка Product, Offer, AggregateRating
Product Schema — обязательный элемент карточки. Без неё в выдаче не будет расширенного сниппета (звёзды рейтинга, цена, наличие). С ней — карточка выделяется среди конкурентов и получает +10–30 % к CTR.
Минимальный рабочий пример JSON-LD для карточки товара:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Смартфон Xiaomi Redmi Note 13 Pro 8/256 ГБ",
"image": [
"https://example.ru/img/xiaomi-redmi-note-13-pro-1.webp",
"https://example.ru/img/xiaomi-redmi-note-13-pro-2.webp"
],
"description": "Смартфон с 6,67-дюймовым AMOLED-экраном, камерой 200 Мп и аккумулятором 5100 мАч.",
"sku": "XIA-RN13P-8-256",
"mpn": "2312DRA50G",
"brand": {
"@type": "Brand",
"name": "Xiaomi"
},
"offers": {
"@type": "Offer",
"url": "https://example.ru/catalog/smartfony/xiaomi-redmi-note-13-pro-8-256",
"priceCurrency": "RUB",
"price": "24990",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"name": "Название магазина"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "128"
},
"review": [
{
"@type": "Review",
"author": {"@type": "Person", "name": "Алексей"},
"datePublished": "2026-09-15",
"reviewRating": {"@type": "Rating", "ratingValue": "5"},
"reviewBody": "Отличный смартфон за свои деньги, батарея держит 2 дня."
}
]
}
</script>
Ключевые поля:
availability— критично для товаров не в наличии (об этом ниже).priceValidUntil— Google требует эту дату, иначе выдаёт warning в Search Console.aggregateRating— только если реально есть отзывы. Фейковые звёзды — риск ручного санкционирования от Google.review— 2–5 реальных отзывов внутри разметки.
Отдельно про хлебные крошки:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Главная", "item": "https://example.ru/"},
{"@type": "ListItem", "position": 2, "name": "Смартфоны", "item": "https://example.ru/catalog/smartfony"},
{"@type": "ListItem", "position": 3, "name": "Xiaomi", "item": "https://example.ru/catalog/smartfony/xiaomi"},
{"@type": "ListItem", "position": 4, "name": "Redmi Note 13 Pro"}
]
}
</script>
Проверять микроразметку — через Rich Results Test (Google) и валидатор Яндекс.Вебмастера. Полный разбор — Schema.org и JSON-LD.
Что делать с товарами «нет в наличии»
Самая болезненная тема e-commerce. Товар распродали или снят с производства — что делать с URL?
Неправильно:
- Удалять страницу и отдавать 404. Теряете позиции, накопленный вес, поведенческие.
- Ставить 301 редирект на категорию. Пользователь искал конкретный товар — попадает на общую страницу, отказ 80 %.
- Скрывать страницу с фильтром «в наличии» и оставлять её без index/follow.
Правильно (для товара, который вернётся в наличие):
- Оставить URL живым, отдаёт 200 OK.
- Не убирать
<meta name="robots" content="index,follow">. - В Product Schema указать
"availability": "https://schema.org/OutOfStock". - На странице показать: «Товара нет в наличии», предложить похожие товары или подписку на возврат в продажу.
Правильно (для товара, который навсегда снят):
- Отдать 410 Gone (лучше, чем 404 — явно говорит поисковику: страница удалена намеренно).
- Или 301 на аналог (не на общую категорию, а на конкретную замену).
Массовое исчезновение товаров без 301/410 — типичная ошибка магазинов после сезонной чистки каталога. Поисковик видит сотни 404, начинает медленнее обходить сайт, доверие снижается.
Карточка категории: что должно быть на странице
Категория — вторая ключевая посадочная. Собирает трафик по среднечастотным запросам («женские кроссовки», «смартфоны xiaomi», «беговые кроссовки»).
Title и H1
Формула title: {Категория} — купить в {Город} по цене от {минимальная цена} ₽ | {Магазин}.
Пример: Мужские беговые кроссовки — купить в Москве по цене от 2 990 ₽ | Название магазина.
H1 — короткая версия: «Мужские беговые кроссовки». Идентичен title — плохо, разные — хорошо.
SEO-текст: сверху или снизу?
Дискуссия старше десяти лет. Аргументы за оба варианта:
- Сверху (над листингом товаров): контент раньше попадает в индекс, поисковик считает страницу полезной. Минус — пользователь видит стену текста вместо товаров, отказы растут.
- Снизу (после товаров): пользователь сразу получает то, за чем пришёл. Поисковик тоже видит текст, но ниже. Минус — часть поисковых систем меньше веса даёт нижним элементам.
Оптимальное решение 2026 года: короткий вступительный абзац сверху (2–3 предложения с ключевыми словами) + развёрнутый SEO-блок (800–2000 знаков) внизу. И то, и другое — без переспама ключами, с реальной пользой: как выбрать, на что смотреть, чем отличается X от Y.
Фильтры и как их индексировать
В категории есть фильтры: бренд, цена, размер, цвет и т. д. Каждая комбинация формирует URL вида /catalog/smartfony?brand=xiaomi&price_from=20000. Что с ними делать?
Возможны три сценария:
- Мусорные комбинации (
?price_from=20001&price_to=20050, любые UTM, сессионные параметры) — закрыть вrobots.txtи/или через canonical на чистый URL категории. - Полезные однопараметрические фильтры (
?brand=xiaomi,?color=red,?size=42) — открыть индексацию, сделать «человечные» URL вида/catalog/smartfony/xiaomi/вместо GET-параметров, прописать свой title и H1 для каждого. Это seo-фильтры. - Комбинации из 2+ фильтров — закрыть от индексации, чтобы не плодить бесконечные дубли.
Правило: индексируем то, что имеет реальный поисковый спрос. «Красные кроссовки Nike» — запрос есть, страницу открываем. «Красные кроссовки Nike размер 42 в наличии» — запроса нет, закрываем.
Пагинация
С 2019 года Google официально прекратил поддержку rel="prev" и rel="next". Что использовать сейчас:
- Self-canonical на каждой странице пагинации (
/catalog/smartfony/?page=2canonical сам на себя). Каждая страница — самостоятельная посадочная с уникальным набором товаров. - Или canonical всех страниц на первую (
?page=2canonical на/catalog/smartfony/). Плюс — вес консолидируется на первой странице. Минус — товары со 2-й, 3-й страниц могут не индексироваться.
Рекомендация: self-canonical + внутренняя перелинковка через «Показать ещё» или бесконечный скролл с подгружаемыми полноценными URL. Первая страница — canonical на себя (без ?page=1).
Дубли из-за сортировки и UTM
Сортировка (?sort=price_asc), UTM (?utm_source=vk), сессионные параметры — всё это одна и та же страница, но с разными URL. Поисковик видит десятки дублей одной категории.
Решение — canonical всех вариантов на «чистый» URL:
<link rel="canonical" href="https://example.ru/catalog/smartfony/">
Дополнительно в Яндекс.Вебмастере через «Инструменты → Параметры URL» указать, какие параметры игнорировать. Про дубли страниц: как найти и убрать — отдельная статья с примерами.
Скорость карточки: LCP, WebP, lazy-load
Скорость загрузки — прямой фактор ранжирования и главный фактор конверсии. Даже 1 секунда задержки снижает конверсию на 7 %. Core Web Vitals в 2026 году — обязательное условие попадания в топ, а не приятный бонус.
Что важно для карточки товара:
- LCP (Largest Contentful Paint) до 2,5 сек. Самый крупный элемент экрана — обычно первое фото товара. Оно должно грузиться первым, без lazy-load, желательно с приоритетом
<img fetchpriority="high">. - WebP/AVIF вместо JPEG. Экономия веса — 40–70 %.
- srcset — версии под разные экраны. Не грузить 2000×2000 на мобильном.
- Lazy-load для всех остальных фото —
loading="lazy". - CLS (Cumulative Layout Shift) до 0,1. Задавать
widthиheightдля картинок, чтобы страница не «прыгала».
Для категории — то же самое, плюс:
- Первый экран (заголовок + первый ряд товаров) должен рендериться быстро.
- Каталог из 50+ товаров — подгружать по мере скролла, а не грузить все сразу.
Внутренняя перелинковка каталога
Магазин с 5 000 товаров — это огромный граф ссылок. Как связать всё правильно:
- Хлебные крошки — обязательны везде, кроме главной.
Главная > Категория > Подкатегория > Товар. - Категории и подкатегории — из главного меню + из футера. Каждая категория должна быть в 2–3 кликах от главной.
- Блок «Похожие товары» и «С этим товаром берут» — на карточке товара. 3–6 карточек, реально релевантных, а не случайных.
- SEO-теги — комбинации категория+свойство («Красные женские кроссовки», «Nike для бега»). Каждый тег — отдельная посадочная под конкретный запрос.
- Ссылки в SEO-тексте категории — на подкатегории, гайды из блога, полезные разделы.
Цель — чтобы вес с главной и трафиковых категорий перетекал в глубину каталога, и каждая карточка была в 3–4 кликах максимум.
Топ ошибок владельца магазина
Что чаще всего встречается при аудите каталога:
- Пустая карточка без описания. Только фото, цена, «Купить». Для поисковика — это тонкий контент, страница почти не ранжируется.
- Копипаст описания с сайта производителя. Дубликат, который уже есть на сотнях сайтов. Ноль пользы для SEO.
- Битый canonical на пагинации.
?page=2canonical на?page=1— Google игнорирует, но выдаёт warning. Правильно — self-canonical или canonical на первую страницу без параметра. - Отсутствие Product Schema. Карточка без микроразметки — без звёзд рейтинга и цены в сниппете. Прямой минус к CTR в выдаче.
- Товар из наличия убран без 301/410. 404 накапливаются сотнями, доверие поисковика падает.
- Одинаковый title у всех карточек внутри категории. Магазины на движках типа «1С-Битрикс» часто ставят шаблон вроде «Купить {название} в интернет-магазине» — и получают тысячи почти одинаковых title.
- Фильтры полностью открыты для индексации. Плодит десятки тысяч бесполезных страниц, съедает crawl budget.
- Медленная загрузка карточки — 5+ секунд на мобильном из-за неоптимизированных фото.
- Хлебные крошки без микроразметки — поисковик не понимает структуру, в сниппете не отображаются.
- Отсутствие AggregateRating — карточка без звёзд в выдаче, CTR ниже конкурентов на 10–20 %.
Часто задаваемые вопросы
Нужно ли писать уникальное описание для каждого товара, если их 10 000?
Полный ручной копирайтинг на 10 000 карточек нереален. Реалистичная схема: топ-200 товаров по частотности запросов — уникальный текст от копирайтера, следующие 1 000 — генерация через нейросеть по шаблону с фактами из характеристик и обязательной вычиткой, остальные — автогенерация из атрибутов. Даже минимальное уникальное описание в 300–500 знаков лучше, чем копипаст с сайта производителя, который уже есть на десятках конкурентов.
Что важнее для карточки — Product Schema или красивый дизайн?
Product Schema, с большим отрывом. Дизайн влияет на конверсию тех, кто уже пришёл на карточку. Микроразметка влияет на то, придёт ли человек вообще — она даёт звёзды рейтинга, цену и наличие в сниппете, что поднимает CTR в выдаче на 10–30 %. Начинать нужно с микроразметки, потом улучшать дизайн. Идеально — оба одновременно.
Как быть с товарами, которые временно не в наличии?
Не удалять страницу, не отдавать 404 и не ставить 301 на категорию. Оставить URL живым с ответом 200, оставить meta robots index,follow, в Product Schema поменять availability на OutOfStock, на самой странице показать «Нет в наличии» и предложить похожие товары или подписку на возврат в продажу. Если товар снят навсегда — 410 Gone или 301 на конкретный аналог.
Открывать ли фильтры категории для индексации?
Только те, которые соответствуют реальным поисковым запросам. Однопараметрические фильтры типа «Кроссовки Nike» или «Красные платья» — открывать, делать человечные URL, прописывать свой title и H1. Комбинации из 2+ фильтров — закрывать через canonical или robots.txt. Мусорные параметры (сортировка, UTM, диапазоны цены) — canonical на чистый URL категории. Правило: индексируем то, что ищут, закрываем то, что генерирует дубли.
Что делать с пагинацией в 2026 году, если rel=next и rel=prev больше не работают?
Google официально отказался от rel=prev и rel=next в 2019 году. Рабочая схема: на каждой странице пагинации — self-canonical (страница canonical сама на себя). Каждая страница становится самостоятельной посадочной. Первая страница — canonical на URL без параметра page=1. Дополнительно — качественная внутренняя перелинковка через «Показать ещё» или бесконечный скролл с подгрузкой полноценных URL, чтобы поисковик мог обойти все страницы.
Как проверить, что все карточки моего магазина оптимизированы правильно?
Ручной обход 5 000 карточек нереален. Нужен краулер, который пройдёт каталог и покажет проблемные страницы: карточки без описания, дубли title, отсутствие Product Schema, битые canonical, товары без AggregateRating, страницы с 404. SEO Crawler делает это бесплатно до 100 страниц, полный обход каталога — на платных тарифах. Начать можно с бесплатной проверки типовой категории и десятка карточек — этого достаточно, чтобы увидеть системные ошибки.