Продвижение сайтов магазинов: каталог, фиды и разметка товаров

Все статьи
Все статьи
Редакция Neurounit
26 июля 2026
Обновлено 22 августа 2026
SEO
Продвижение сайтов магазинов: каталог, фиды и разметка товаров
Практический гайд по SEO для интернет-магазина: структура каталога, семантика, карточки товаров, техничка и поведенческие. Разбираем, что двигает выдачу.

Продвижение сайтов магазинов отличается от работы над сайтом услуг не набором приёмов, а масштабом и природой контента. У сайта услуг десятки страниц, которые пишет человек. У магазина тысячи адресов, которые порождает шаблон, а ценность страницы держится на данных: цена, наличие, характеристики, отзывы. Отсюда и другой список задач: разложить каталог, решить судьбу фильтров, привести карточку в вид, который поисковик готов показать расширенным сниппетом, и отдать те же данные вторым каналом, через товарный фид. Ниже разбор по каждому пункту с требованиями и лимитами из справок Яндекса и Google.

Что в магазине устроено иначе, чем на обычном сайте

  • Адресов больше, чем страниц. Один файл Sitemap вмещает не более 50 000 URL и 50 МБ в несжатом виде. Магазин упирается в этот потолок не из-за товаров, а из-за фильтров и сортировок.
  • Текст пишет шаблон. Описание от поставщика лежит на десятках сайтов сразу, и уникальность добирается не копирайтингом на каждую карточку, а данными и пользовательским контентом.
  • Есть второй канал доставки данных. Кроме обхода роботом магазин передаёт сведения о товарах файлом: Яндекс принимает YML, Google принимает фид Merchant Center. Ограничение Яндекс Товаров: один фид до 2 ГБ, не более 1000 фидов на сайт, дата в файле не старше 10 дней.
  • У страниц есть срок жизни. Товар заканчивается, снимается с производства, меняет цену. Обычный сайт такой задачи не решает.

Поправка к привычной логике: Google прямо пишет, что не выводит иерархию сайта из структуры URL, а относительную важность страницы оценивает по внутренним ссылкам на неё. Адрес вида /catalog/noutbuki/igrovye/ удобен людям и аналитике, но сам по себе весом не наделяет.

Структура каталога: когда категория, когда подкатегория, когда тег

Решение принимается по двум условиям сразу: есть ли у формулировки самостоятельный спрос и есть ли под неё ассортимент. Одно без другого даёт либо пустую страницу, либо страницу без трафика.

  • Категория заводится под товарный класс со своим ассортиментом и своей логикой фильтров.
  • Подкатегория нужна, когда внутри категории есть группа с отдельным спросом и хотя бы несколькими десятками позиций. Под две-три позиции её заводить не надо, это работа фильтра.
  • Тег закрывает поперечный спрос, который не ложится в дерево: подборка по назначению, совместимости, поводу. Та же посадочная страница, но собранная выборкой, а не веткой каталога.

По адресам Google даёт конкретные требования. Использовать ?key=value, а не ?value: /photo-frames?page=2 правильно, /photo-frames?2 нет. Сегменты пути тоже допустимы: /t-shirt/green. Несколько значений одного параметра перечислять через запятую, ?type=candy,sweet, а не дублировать ключ ?type=candy&type=sweet, потому что одно из значений робот может проигнорировать. Не ставить во внутренние ссылки временные и относительные параметры: идентификаторы сессий, метки отслеживания, значения вида ?location=nearby или ?current-time=12:02. И не использовать фрагмент после решётки для показа разного контента.

Фасетная навигация: какие фильтры открывать под спрос, а какие закрывать

Комбинаторика растёт быстрее, чем кажется. Пять независимых фильтров по четыре значения дают пять состояний на фильтр (не выбран плюс четыре варианта), то есть 5 в пятой степени, 3125 сочетаний на одну категорию. Умножьте на четыре сортировки и двадцать страниц пагинации: 250 000 адресов там, где товаров несколько тысяч. Это арифметика, но именно она съедает обход.

Google перечисляет способы управления фасетами и прямо расставляет их по силе.

  1. Запрет обхода в robots.txt, если индексировать фасеты не нужно. Пример из документации: disallow: /*?*products=, disallow: /*?*color=. Это рекомендованный вариант.
  2. Фильтрация через фрагмент URL вместо параметра: #products=fish вместо ?products=fish. На обход не влияет вообще, тоже рекомендованный вариант.
  3. rel=canonical на основную версию. Работает слабее и, по формулировке Google, лишь со временем может снизить объём обхода.
  4. rel=nofollow на ссылках фильтров. Чтобы это дало эффект, атрибут обязан стоять на каждой без исключения ссылке, ведущей на этот адрес. На практике условие почти невыполнимо.

Если фасет решено открыть, у страницы должны быть собственный заголовок, описание и товары в наличии. Отдельное требование Google, о котором забывают: комбинация фильтров без результатов обязана отвечать кодом 404, а не перенаправлять на общую страницу ошибки.

Как считается краулинговый бюджет и куда он утекает при таких адресах, разобрано в материале про технический аудит сайта и устройство обхода. Здесь важно одно: открывать стоит только сочетания, под которые есть и запросы, и товары.

Проверьте свой каталог за пять минут

1. Сколько адресов отдаёт категория с включёнными фильтрами и сортировками? 2. Что отвечает сервер на комбинацию фильтров без товаров? 3. Есть ли у открытых фасетов свой заголовок? 4. Ссылки пагинации сделаны тегом a href или кнопкой на JavaScript? Если ответа нет хотя бы на один вопрос, начинать нужно с этого, а не с текстов.

Обсудить задачу

Пагинация листингов и подгрузка товаров

Разметка rel=»next» и rel=»prev» Google больше не используется, о чём в документации сказано прямым текстом (другие поисковики эти ссылки ещё могут учитывать). Актуальные требования такие.

  • У каждой страницы последовательности собственный уникальный адрес, например параметр ?page=n. Google рассматривает их как отдельные страницы.
  • Канонический адрес у каждой страницы свой, а не первая страница листинга. Схлопывание всей пагинации на первую страницу прячет от индексации товары со второй и дальше.
  • Ссылки на следующую страницу оформляются тегом <a href>. Робот не нажимает кнопки и не запускает функции JavaScript, требующие действия пользователя, поэтому бесконечный скролл и кнопка «показать ещё» для него просто не существуют.
  • Страховка для товаров, до которых робот не долистает: Sitemap или фид Merchant Center. Google называет оба варианта прямо.

SEO-оптимизация карточек: чем заменить описание от поставщика

Прайс-лист поставщика получают все его партнёры, поэтому описание оттуда уникальным не бывает по определению. Заменить его можно четырьмя источниками, и ни один не требует копирайтера на каждую позицию.

  • Характеристики таблицей. Заполненные атрибуты закрывают уточняющие запросы и одновременно питают фид: размер, цвет, материал, совместимость.
  • Отзывы. Единственный источник текста, которого нет ни у кого другого. Правила Google при разметке: нельзя агрегировать отзывы и оценки с других сайтов, нельзя размещать поддельные и нельзя скрывать вознаграждение за отзыв. Сам отзыв должен быть виден на странице, а не только в разметке.
  • Вопросы и ответы покупателей. Дают живые формулировки, по которым товар ищут.
  • Собственные фотографии. Отличают карточку от сотни одинаковых.

Ограничение Яндекса, которое ломает разметку у самодельных шаблонов: на размечаемой странице должно быть одно предложение конкретного товара или несколько предложений одного товара. Если страница содержит разные товары, структурированный сниппет не формируется вообще. Для агрегированного рейтинга Google требует ratingValue и хотя бы одно из двух: ratingCount или reviewCount. Запрет на отзывы о самом себе распространяется на типы LocalBusiness и Organization, товарных карточек он не касается.

SEO-оптимизация товаров в разметке: Product, Offer и вариации

Требования двух поисковиков к одной и той же схеме заметно расходятся, и это главная причина, по которой разметка проходит валидатор Google и не даёт сниппета в Яндексе.

Свойство Яндекс Google (merchant listing)
Product.name обязательно обязательно
Product.description обязательно рекомендуется
Product.brand обязательно, как текст рекомендуется
Product.image обязательно, ссылкой, не объектом ImageObject обязательно; рекомендованный минимум 50 000 пикселей по площади
Offer.price обязательно, допустим lowPrice обязательно, значение больше нуля
Offer.priceCurrency обязательно, RUB по ISO 4217 обязательно, трёхбуквенный код ISO 4217
Offer.availability обязательно рекомендуется
Разметка листинга OfferCatalog, один список без вложенных отдельной схемы нет

Два следствия. Если цена плавает от объёма или размера, Яндекс разрешает передать lowPrice, и в сниппете появится «от N руб». И при значении availability, означающем отсутствие товара, цена в сниппете Яндекса не показывается.

Вариации размечаются типом ProductGroup. Обязательное свойство у него одно, name. Связку задают productGroupID (родительский артикул), variesBy и hasVariant. В variesBy Google поддерживает шесть значений: color, size, material, pattern, suggestedAge, suggestedGender. У каждой вариации должен быть собственный идентификатор (sku или gtin), собственный адрес и полный набор данных Product с наличием и ценой.

Продвижение сайта товаров через фиды: YML и Merchant Center

Фид это второй способ рассказать поисковику о товарах, не зависящий от того, как быстро робот обходит сайт. Именно из фида берутся данные для товарного сниппета и для блока поиска по товарам.

YML для Яндекса. Корневой элемент yml_catalog с атрибутом date. Внутри shop обязательны name, company, url, currencies, categories, offers. У предложения в упрощённом типе обязательны id, url, price, currencyId, categoryId, name, picture и description; в типе vendor.model вместо name идут typePrefix, vendor и model. Идентификатор до 80 знаков, после добавления товара его нельзя менять; адрес страницы до 512 символов. Название оптимально 50-60 символов, максимум 150. Описание оптимально 400-600 символов, максимум 3000, без слов «скидка», «хит», «бесплатно», без контактов и ссылок. Картинки JPEG, PNG или WEBP не меньше 300 × 400 пикселей и до 10 МБ, первая становится основной. Кодировка UTF-8 или windows-1251, спецсимволы заменяются XML-сущностями.

Загружается фид в личном кабинете Яндекс Товаров, в разделе с источниками данных, либо через API, при загрузке указываются регионы продажи. Дальше два срока по пять рабочих дней: столько проверяется исправленный фид и столько же информацию о сайте и предложениях проверяет служба контроля качества. Отдельно: программа «Товары и цены» в Вебмастере закрыта и не поддерживается, инструкции с её упоминанием устарели.

Фид Google Merchant Center. Здесь лимиты полей заданы в символах, и товар с превышением просто отклоняется.

Атрибут Требование
id обязателен, до 50 символов, уникален
title обязателен, до 150 символов, без промо-текста
description обязателен, до 5000 символов, совпадает с посадочной страницей
availability обязателен: in_stock, out_of_stock, preorder, backorder
price обязателен, валюта по ISO 4217
brand обязателен для новых товаров, кроме фильмов, книг и музыки
gtin / mpn gtin до 50 символов, каждое значение до 14 знаков; mpn до 70 символов, нужен при отсутствии gtin
condition обязателен для б/у и восстановленных: new, refurbished, used
image_link обязателен; минимум 500 x 500 пикселей с 31 января 2027 года

Бесплатные карточки Google денег не стоят и рекламы не требуют: товары могут появляться в Поиске, Картинках, Lens, на Картах и в YouTube. Условия входа: соблюдение правил размещения бесплатных предложений, добавленные правила возврата и заданные настройки доставки либо стоимость доставки в атрибуте shipping.

Фид, который обновляется сам

Ручная выгрузка ломается на первом же изменении остатков: цена в поиске расходится с ценой на сайте, и фид уходит на перепроверку. Настраиваем генерацию YML и фида Merchant Center из вашей базы, автообновление по расписанию и контроль ошибок, чтобы данные в поиске совпадали с сайтом без вашего участия.

Обсудить задачу

Требования Яндекс Товаров к самому магазину

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

  • Сайт работает и не перенаправляет покупателя на сторонний ресурс при оформлении заказа.
  • Корзина доступна пользователям без авторизации, цены на большинство товаров видны без регистрации.
  • Юридические данные на сайте: для юрлица полное наименование, юридический адрес и ОГРН; для ИП фамилия, имя, отчество и ОГРНИП; для самозанятого фамилия, имя, отчество и ИНН.
  • По указанному на сайте телефону с магазином удаётся связаться в течение трёх часов рабочего времени (если график не указан, проверяют с 10:00 до 18:00 по местному времени). Заказ, оформленный на сайте, подтверждается в течение 24 часов.
  • Магазин отключают при отсутствии достоверных юридических данных, неактуальных ценах и условиях, а также если магазин отключался два и более раза за 30 дней.
  • Не принимаются оружие, наркотики, услуги, электронные товары вроде промокодов и ключей, готовая еда на заказ, билеты, недвижимость, живые животные и товары без оригинальной упаковки.
  • Оптовым считается магазин с минимальной суммой заказа от 3000 рублей (для строительных и отделочных материалов порог до 15 000 рублей включительно) или торгующий крупными партиями. Его товары показываются только в органической выдаче.

Товар закончился или снят с продажи

Временно нет в наличии. Страницу оставляем, меняем только статус: out_of_stock в фиде и соответствующее значение availability в разметке. Google прямо допускает запуск магазина с товарами в статусе «нет в наличии», чтобы страницы индексировались, пока покупку сделать нельзя.

Снят навсегда. Адрес должен отвечать кодом 404 или 410. Для Google разницы нет: обработка одинаковая, страница выпадает из индекса, частота обращений снижается. Редирект 301 уместен только при действительно близкой замене конкретного товара. Сгонять сотни снятых карточек на категорию или главную нельзя.

Опустевшая категория. Если раздел автоматически исчез из внутреннего поиска и навигации, Google советует отдавать по его адресу 404.

Чего делать нельзя ни в каком варианте, так это отвечать кодом 200 со страницей «товар не найден». Это soft 404, и Search Console показывает такие адреса как проблему именно потому, что успешный код вводит в заблуждение.

Дубли от сортировок, UTM и пагинации

Дубли в магазине растут сами: слэш на конце адреса и без него, www и без www, http и https, метки кампаний, один товар в двух разделах. Яндекс объединяет страницы с совпадающим текстом в группу дублей и сам выбирает, какую показывать, причём выбор время от времени меняет. Целевая страница может оказаться исключённой.

Для параметров, не меняющих содержимое, Яндекс рекомендует не Disallow, а директиву Clean-param, потому что она позволяет передать основному адресу часть накопленных показателей. Директива межсекционная и может стоять в любом месте файла, но есть ловушка: если в robots.txt заведена секция для робота Яндекса, строка User-agent: * будет проигнорирована, и все правила придётся продублировать внутри секции. Google той же цели достигает запретом обхода по маске параметра в robots.txt.

Где смотреть фактическую картину: в Яндекс Вебмастере раздел «Индексирование», страница «Страницы в поиске», вкладка «Исключённые страницы», колонка «Статус», фильтр «Дубль». Дубли, появившиеся из-за ссылок с GET-параметрами, ищутся через «Оптимизация сайта», далее «Диагностика сайта», информация появляется в блоке критичных проблем.

Что смотреть, чтобы понять результат

Позиции по десятку запросов при тысячах карточек ни о чём не говорят. Смотреть имеет смысл долевые показатели и статусы.

  • Доля карточек в поиске от числа товаров в наличии. Первичный показатель здоровья каталога.
  • Статус фида и вкладка «Ошибки и рекомендации» в кабинете Яндекс Товаров. Отклонённый фид означает, что данных в поиске нет, сколько бы страниц ни было проиндексировано.
  • Страница «Представление в поиске» в Вебмастере: видно, какие расширения сниппета сайт уже получает.
  • Данные о конверсиях. Яндекс рекомендует установить Метрику, поскольку это позволяет учитывать конверсии при ранжировании предложений внутри товарных ответов.

Логику оценки на стороне поиска Яндекс описывает через две метрики: Проксима, качество страниц по оценкам асессоров и дополнительным сигналам, и Профицит, полезность выдачи по взаимодействиям пользователей. Про фиды в справке сказано напрямую: данные обогащают органический результат тогда, когда это увеличивает профицит выдачи. Терминология из статей 2021 года и раньше здесь уже неприменима.

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

Нужен ли фид, если магазин небольшой

Да: без фида данные о товарах поисковик собирает только обходом. Генерацию YML поддерживают модули основных CMS, бесплатные карточки Google денег не стоят. Заложите до пяти рабочих дней на проверку фида и столько же на проверку сайта службой контроля качества Яндекса.

Открывать ли фильтры для индексации

Только те комбинации, под которые есть и запросы, и товары в наличии, с собственным заголовком и описанием. Остальное Google советует закрывать от обхода в robots.txt по маске параметра или переводить на фрагмент URL. Комбинация фильтров без результатов обязана отдавать 404, а не редирект на страницу ошибки.

Что делать с товаром, который кончился

Временно нет в наличии: страницу оставить, сменить availability на out_of_stock. Снят навсегда: 404 или 410, для Google это одно и то же. Редирект 301 ставить только на близкую замену. Опустевшую категорию Google советует отдавать с кодом 404.

Чем разметка для Яндекса отличается от разметки для Google

Яндекс считает обязательными name, description, brand и image у Product плюс availability, price и priceCurrency у Offer. Google для merchant listing требует только name, image и offers с ценой больше нуля и валютой, остальное рекомендует. Разметка, достаточная для Google, у Яндекса сниппета не даст.

Сколько товаров помещается в один фид

Яндекс Товары ограничивают один фид размером 2 ГБ, общее число фидов на сайт не более 1000, а дата в файле не должна быть старше 10 дней. Для Sitemap отдельный лимит: 50 000 URL или 50 МБ в несжатом виде на файл, дальше нужен индексный файл.

Поделиться:
X
Редакция Neurounit

Разборы инструментов, гайды и новости про нейросети, AI-маркетинг и автоматизацию. Материалы готовит редакция агентства Neurounit.

Факты и цифры проверяет редакция агентства Neurounit. Вопросы и уточнения: Telegram.

Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга