Главная Статьи SEO

Как организовать варианты товара без дублей и путаницы

Структура вариантов товара по цвету, размеру и комплектации для SEO

Одна модель кроссовок бывает в шести цветах и десяти размерах, ноутбук — с разной памятью, а диван — в десятках тканей. Для покупателя это варианты одного выбора, но в каталоге каждый доступный артикул имеет собственные цену, остаток, изображение и идентификатор. SEO-задача состоит не в том, чтобы открыть для индексации все комбинации, а в том, чтобы дать устойчивый URL тем состояниям, которые решают отдельную поисковую задачу, и сохранить точность данных во всех каналах.

Типовая ошибка — считать вариант только параметром интерфейса. Тогда ссылка из фида открывает цвет по умолчанию, цена не совпадает, а недоступный размер выглядит покупаемым. Обратная ошибка — создавать отдельную индексируемую страницу для каждого сочетания цвета, размера и продавца, хотя у страниц отличаются две подписи. Каталог быстро заполняется дублями, canonical противоречит Sitemap, а робот выбирает версии сам.

Нужна единая модель сущностей: группа представляет общую модель, вариант — конкретный покупаемый товар, предложение — условия покупки. В структурированных данных ProductGroup помогает связать варианты, но не заменяет Product. Каждый покупаемый вариант по-прежнему описывается как Product и получает подходящий Offer. Разметка, фиды и URL должны отражать ту же модель, а не три независимые схемы.

Группа, вариант и предложение — три разных уровня

Группа объединяет товары общей моделью: например, футболку определённого фасона. Вариант задаёт комбинацию значимых признаков — синяя футболка размера M. Предложение описывает цену, наличие, продавца и условия доставки этого варианта. Не каждый каталог нуждается в отдельной технической таблице для всех трёх уровней, но смысл должен сохраняться. Иначе общая характеристика случайно попадает в SKU, а остаток одного размера приписывается всей модели.

Начните с перечня атрибутов, по которым покупатель действительно выбирает. Цвет, размер, материал, объём памяти, напряжение или конфигурация могут образовывать варианты. Состояние упаковки, склад, рекламная метка и порядок сортировки вариантами не являются. Один и тот же атрибут зависит от категории: цвет кабеля может быть малозначимым, а оттенок краски — самостоятельным объектом спроса и точного подбора.

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

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

Справочник значений также является частью модели. «Тёмно-синий», «navy» и код поставщика должны приводиться к одному пользовательскому значению, но исходный код сохраняют для обмена. Размеры нормализуют с учётом системы и аудитории: российский 48 нельзя без таблицы объявлять европейским 48. Любое автоматическое сопоставление проходит проверку, потому что красивое объединение с неверным смыслом хуже нескольких честно разделённых позиций.

Проверочный вопрос: можно ли отдельно купить выбранную комбинацию? Если да, это вариант Product, даже если он не получает отдельную индексируемую страницу. ProductGroup лишь связывает такие товары.

Каким вариантам нужен самостоятельный URL

URL нужен каждому состоянию, на которое должны надёжно вести фид, реклама, письмо, избранное или кнопка «поделиться». Это не означает, что каждый такой адрес надо индексировать. Адрес может содержать параметр выбранного варианта и быть канонизирован на общую страницу, если содержание почти одинаково. Отдельную индексируемую страницу создают, когда вариант имеет самостоятельный спрос и достаточно отличается: например, «смартфон 256 ГБ» от версии 128 ГБ или конкретный цвет коллекционной модели.

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

Не превращайте решение в жёсткое правило для всего магазина. Составьте матрицу категорий: ось варианта, формат URL, режим индексации, шаблон Title и минимальный контент. Архитектуру согласуйте с общей структурой сайта. Важный вариант должен иметь входящие ссылки и место в каталоге, а не существовать только в XML-фиде.

Адрес должен воспроизводить выбор. Если пользователь открыл ссылку на зелёный размер L, интерфейс не имеет права молча показывать чёрный M. Значения в URL нормализуют: один порядок параметров, один регистр, один формат кодирования. Внутренний идентификатор надёжнее названия, но читаемая часть полезна человеку. При переименовании оттенка не меняйте URL без необходимости.

Зафиксируйте поведение при невозможной комбинации. Если SKU никогда не существовал, адрес не должен возвращать пустую карточку с 200. Сервер может перенаправить только на действительно эквивалентное состояние; иначе покажите корректную ошибку и доступные варианты. Если SKU существовал, но временно закончился, сохраните его выбор и статус. Различие требует истории каталога, а не одного текущего списка остатков.

Когда все варианты живут на одной странице

Одностраничная модель удобна, если различия небольшие и покупателю важно быстро переключаться. Основной URL описывает группу, а выбор хранится в состоянии интерфейса или параметре. Для фида параметризованная ссылка должна сразу активировать нужный вариант. Сервер или первоначальный HTML передаёт правильные название, цену, наличие, изображение и разметку; не полагайтесь на поздний скрипт, который заменит данные после загрузки.

На странице показывают все доступные значения и реальные комбинации. Нельзя позволять выбрать сочетание, которого не существует, а затем сообщать об ошибке в корзине. Недоступные значения можно оставить видимыми с подписью, если это помогает понять ассортимент и подписаться на поступление. При изменении цвета обновляются галерея и alt, при изменении памяти — характеристики и цена, при изменении размера — наличие. Изменения должны быть объявлены вспомогательным технологиям и не сбрасывать фокус.

Для индексирования обычно выбирают стабильный основной URL. Вариантные параметры с почти одинаковым документом не включают в Sitemap и не размножают во внутренних ссылках. При этом они остаются доступными для фида и пользователя. Настройку параметров и чистых адресов полезно сверить с руководством по URL-параметрам и статьёй о человекопонятных адресах.

Одностраничная модель не означает одну общую цену и наличие. В данных всё равно существуют отдельные Products или SKU; интерфейс просто показывает их в одном документе. Это различие особенно важно для структурированной разметки и товарной выгрузки. Если система хранит только минимальную цену группы и общий флаг наличия, она не сможет честно открыть конкретный вариант из внешнего канала.

Когда варианты получают отдельные страницы

Отдельные страницы оправданы для устойчивых вариантов с разным спросом, характеристиками и медиа. Кроссовки разных цветов могут иметь собственные фотографии и названия коллекции; ноутбуки с разной памятью — разные спецификации; диваны разных конструкций — разные размеры. Страница должна открываться без обязательного переключения, иметь самодостаточный H1, цену, остаток, изображения и ссылку на соседние варианты.

Не используйте отдельную страницу только ради подстановки слова «красный». Если все абзацы, отзывы и изображения одинаковы, поисковая система увидит набор близких дублей. Уникальность здесь не про механический процент текста, а про полезное различие. Покажите реальные фотографии выбранного цвета, точный код оттенка, доступные размеры, характеристики конфигурации, совместимость и условия поставки.

Каждый индексируемый вариант получает устойчивый URL и самоссылочный canonical. Группа может быть отдельной обзорной страницей либо логическим уровнем без публичного URL — зависит от каталога. Внутренние переключатели используют обычные ссылки на варианты, чтобы переход работал без JavaScript. Хлебные крошки ведут в категорию, а не создают искусственный уровень из десятков цветов.

Удаление варианта рассматривайте отдельно от всей группы. Временно отсутствующий SKU сохраняет 200 и честный статус, если ожидается возврат. Окончательно снятый вариант может получить точный 301 на преемника, полезный архив или 404/410. Не перенаправляйте его на доступный цвет только потому, что тот остался на складе: для пользователя это другой выбор. Подробная логика раскрыта в материале о товарах не в наличии.

Canonical, параметры и контроль дублей

Canonical следует архитектуре, а не исправляет её задним числом. Если варианты намеренно индексируются как самостоятельные страницы, каждый указывает на себя. Если параметризованные адреса лишь воспроизводят выбор на общей странице и не дают самостоятельной ценности, их можно канонизировать на основной URL. Смешанный сценарий допустим по категориям, но правило должно быть детерминированным.

Не направляйте индексируемые варианты на родителя и одновременно не включайте их в Sitemap, хлебные крошки и заголовки как самостоятельные страницы. Эти сигналы спорят друг с другом. Canonical является указанием, а не безусловной командой; поисковая система может выбрать другую версию. Основные способы устранения дублей разобраны в статье о canonical.

Сортировки, UTM-метки, идентификаторы сессии и порядок параметров не должны создавать новые версии товара. Нормализуйте ссылки на уровне шаблона, редиректите очевидные альтернативные формы там, где это безопасно, и не публикуйте лишние адреса. Фасетные комбинации отделяйте от вариантов: фильтр «красные» — страница выборки, красный SKU — конкретный товар. Стратегия для фильтров описана в руководстве по фасетной навигации.

После миграции сохраняйте таблицу старых и новых URL. Перенаправление должно вести сразу на эквивалентный вариант, а не через группу и новую карточку. Измените Sitemap, внутренние ссылки, фид и canonical одновременно. Иначе робот продолжит обходить старые формы, а покупатель из объявления попадёт на конфигурацию по умолчанию.

Контент должен соответствовать выбранному варианту

Первый экран обязан подтверждать выбор из ссылки: точное название, активные значения, главное изображение, цена и наличие. Если URL обещает 256 ГБ, нельзя показывать цену версии 128 ГБ мелкой подписью «от». Если пользователь выбрал белый цвет, первая фотография должна быть белой. Это одновременно вопрос доверия, конверсии и соответствия товарному фиду.

Разделите данные на общие и вариантные. Описание технологии, бренд и инструкция могут быть общими. SKU, GTIN, цвет, размер, комплект, изображение, цена и остаток меняются. Таблица характеристик показывает точные значения выбранного варианта и при необходимости сравнение. Не копируйте ошибочную общую характеристику во все SKU; задайте обязательность и источник каждого поля.

Title и H1 должны оставаться читаемыми. Для индексируемого варианта добавьте отличающий признак: «Ноутбук Model A, 16/512 ГБ, серебристый». Для неиндексируемого параметра основной Title можно не менять, но экран всё равно обновляет видимое состояние. Избегайте цепочки всех атрибутов в заголовке, если она превращается в машинную строку. Основы метаданных есть в статье о Title и Description.

Отзывы связывайте осмысленно. Отзыв о качестве общей модели может отображаться в группе, а замечание о цвете или посадке конкретного размера требует подписи. Не складывайте рейтинги разных товаров только ради большей цифры. Разметка отзыва должна соответствовать видимому объекту; ограничения и типовые ошибки разобраны в материале о рейтингах в Schema.org.

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

Для отдельных страниц используйте реальные ссылки <a href>. JavaScript может ускорять переход и обновлять часть документа, но ссылка остаётся доступной роботу, истории браузера и открытию в новой вкладке. После выбора обновляйте URL через корректную навигацию, а кнопка «назад» должна возвращать прежний вариант. Не храните критичный выбор только в памяти приложения.

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

В категории карточка группы может показывать диапазон цены и число цветов, но кликабельное изображение должно вести на предсказуемую версию. Если в листинге выбран цвет фильтром, ссылка открывает его же. Доступность в списке рассчитывается по видимому состоянию: группа «в наличии», если есть покупаемый вариант, но рядом полезно указать, какие размеры остались.

ProductGroup работает только вместе с Product

Google документирует разметку вариантов через ProductGroup, свойства variesBy, hasVariant и productGroupID. Группа сообщает, по каким признакам различаются товары и какие Product входят в семейство. Каждый вариант остаётся отдельным Product, связанным с группой через isVariantOf или inProductGroupWithID согласно выбранному шаблону. У Product размещают его SKU, GTIN, цвет, размер, изображения и Offer.

ProductGroup не заменяет Product. Нельзя положить общую цену, один остаток и все цвета только в группу и считать варианты описанными. Покупаемая сущность должна иметь конкретное предложение. На одной странице JSON-LD может содержать группу и массив вариантов. В многостраничной модели разметка каждой страницы должна быть самодостаточной и описывать находящиеся на ней сущности. Следуйте официальным поддерживаемым свойствам, а не произвольной красивой модели.

Связь ProductGroup, вариантов Product и предложений Offer ProductGroup с общим идентификатором и признаками цвета и размера связан с тремя вариантами Product; у каждого Product своё предложение Offer с ценой и наличием. ProductGroup: модель AvariesBy: цвет, размерproductGroupID: GROUP-A Product A-BLK-Mчёрный, Mсобственный SKU Product A-BLK-Lчёрный, Lсобственный SKU Product A-BLU-Mсиний, Mсобственный SKU Offer4 990 ₽ · InStock Offer4 990 ₽ · OutOfStock Offer5 290 ₽ · InStock
Группа связывает семейство, но цена и наличие принадлежат конкретному варианту Product через Offer.

Каждый размеченный Product и Offer обязан совпадать со своим видимым вариантом. Страница, открывающая чёрный M, может перечислять в ProductGroup и синий L как соседний вариант, но нельзя выдавать данные синего L за активный товар или его предложение. Проверяйте все шаблоны и несколько комбинаций, а не только вариант по умолчанию. Общие основы и валидаторы собраны в статье о Schema.org.

В многостраничной модели у ProductGroup не задают свойство url с единым общим адресом: равноценные варианты распределены по разным страницам. На каждой странице нужна полная самодостаточная ProductGroup для описанных там сущностей; на соседние варианты можно сослаться их URL. В одностраничной модели, напротив, у всей группы должен быть один канонический URL без выбранного варианта. Не смешивайте эти два шаблона.

Не путайте свойство ProductGroup.url с HTML-сигналом rel="canonical". Отсутствие единого URL группы в многостраничной схеме не отменяет canonical у самих страниц. Если цветовые варианты признаны самостоятельными и равноценными, каждая такая страница подтверждает собственный адрес; объединять их canonical на одну модель вопреки архитектуре не нужно.

На одностраничном сайте полная разметка ProductGroup со всеми вариантами может оставаться неизменной при переключении: у каждого Product уже есть собственный Offer, URL, цена и наличие. Если реализация размечает только активный Product, тогда JSON-LD обновляют вместе с интерфейсом и не оставляют предложение по умолчанию. Google рекомендует передавать Product в исходном HTML, особенно для быстро меняющихся цены и наличия.

Поддерживаемая структурированная разметка лишь делает данные понятнее и создаёт возможность для отдельных поисковых функций. Она не гарантирует rich result, рейтинг, показ цены или позицию. Поисковая система может выбрать обычный сниппет даже при безошибочном JSON-LD.

Товарный фид, item_group_id и точные остатки

В Google Merchant Center каждый вариант передаётся отдельной позицией с уникальным id, а варианты одной модели получают одинаковый item_group_id. Актуальная спецификация также связывает группу через item_group_title и variant_option; стандартные цвет, размер и другие применимые атрибуты по-прежнему передают у конкретных товаров. Идентификатор группы делают стабильным: не меняют при обновлении названия и не переиспользуют для другого семейства.

Ссылка каждого элемента фида открывает именно заявленный вариант. Цена, валюта, наличие, изображение и атрибуты совпадают с посадочной и checkout. Если размер закончился, меняется его предложение, а не вся группа. Синхронизацию строят из единого источника и контролируют по времени; значение в фиде не должно жить отдельной ручной жизнью.

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

Отчёт о фиде проверяет дубликаты ID, варианты без группы, группы с несовместимыми базовыми названиями, ссылки без предвыбора, расхождения цены и статуса, отсутствующие изображения. Случайная выборка дополняет автоматику: оператор открывает ссылку как новый посетитель и убеждается, что экран подтверждает все переданные признаки.

Числовой пример: от 18 000 комбинаций к 1 380 страницам

У магазина одежды 300 моделей. У каждой теоретически есть 6 цветов и 10 размеров: 300 × 6 × 10 = 18 000 комбинаций. Старая система создавала URL для всех, включая отсутствующие сочетания. Аудит показал только 9 720 реально существующих SKU; значит, 18 000 − 9 720 = 8 280 адресов описывали несуществующий выбор.

Команда решила индексировать модель и только цвета с самостоятельными фотографиями и спросом, но не размеры. У 120 моделей все цвета показывались на общей странице: это 120 URL. У остальных 180 моделей в среднем было 7 устойчивых цветовых страниц: 180 × 7 = 1 260. Итоговый набор равен 120 + 1 260 = 1 380 индексируемым страницам. Сокращение относительно 18 000 составило (18 000 − 1 380) / 18 000 × 100 ≈ 92,3%.

Фид при этом не уменьшили до 1 380 строк: в нём осталось 9 720 покупаемых SKU, каждый со своим ID, размером, цветом, ценой, наличием и ссылкой с предвыбором. Все SKU распределили по 300 стабильным item_group_id. Проверка суммы групп: 120 одностраничных моделей плюс 180 многостраничных равны 300.

До переработки 486 ссылок из фида открывали вариант по умолчанию. Доля ошибки была 486 / 9 720 × 100 = 5%. После исправления осталось 27 проблемных ссылок: 27 / 9 720 × 100 ≈ 0,28%. Число ошибок уменьшилось на 486 − 27 = 459, или 459 / 486 × 100 ≈ 94,4%. Это результат контроля соответствия, а не гарантия роста органического трафика.

В Sitemap оставили 1 380 канонических URL. Параметры размеров туда не включали, но они продолжали воспроизводить выбор для фида, корзины и избранного. Для 1 260 цветовых страниц добавили самоссылочный canonical и обычные ссылки между цветами. Команда сравнивала индексирование, клики, добавления в корзину и ошибки товара, не делая вывод по одной неделе.

Тестирование архитектуры и постоянный мониторинг

До запуска составьте набор эталонных сценариев: доступный и отсутствующий размер, цвет с отдельной страницей, параметризованный вариант, товар с несколькими продавцами, удалённый SKU и изменившаяся цена. Для каждого запишите ожидаемый URL, HTTP-код, canonical, Title, активные элементы, Product, Offer и строку фида. Автотест сравнивает значения, ручная проверка оценивает понятность.

Контроль одного варианта

  • Ссылка воспроизводит нужные цвет, размер или конфигурацию.
  • Название, фото, характеристики, цена и остаток относятся к выбранному SKU.
  • Canonical соответствует решению об индексировании, URL не дублируется.
  • ProductGroup связывает семейство, а отдельный Product описывает вариант.
  • Offer, фид и checkout показывают одинаковые цену и наличие.
  • Переключатель работает клавиатурой, ссылками и кнопкой браузера «назад».

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

Назначьте владельца словаря атрибутов. «Серый», «графит» и «graphite» не должны бесконтрольно образовывать три группы значений. Единицы измерения, порядок размеров и допустимые комбинации валидируются до публикации. История изменений помогает понять, почему SKU перешёл в другую группу, и предотвращает тихое переиспользование идентификатора.

Мониторинг должен замечать не только технические ошибки, но и аномалии. Резкий рост числа вариантов в одной группе может означать неверное правило импорта; исчезновение всех изображений определённого цвета — сбой сопоставления; одинаковая минимальная цена у тысяч групп — подстановку значения по умолчанию. Порог сравнивают с обычной динамикой категории, а ответственный видит конкретные примеры, не только общий процент.

После обновления поставщика прогоняйте регрессионную выборку до публикации. В неё входят группы с максимальным числом вариантов, разными системами размеров, предзаказом, несколькими продавцами и снятым SKU. Сравнение старого и нового снимка показывает перемещения между группами, смену ID и потерю атрибутов. Массовое изменение без объяснимой причины останавливают до выгрузки во внешние каналы.

Метрики разделяйте по архитектурному типу: общие страницы, индексируемые варианты и параметризованные состояния. Смотрите органические посадки, переходы между вариантами, выбор доступного SKU, добавления в корзину и возвраты из-за несоответствия. Изменение видимости оценивайте вместе с ассортиментом и сезонностью. Корректная модель устраняет путаницу, но не обещает конкретных позиций.

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

Официальные источники

Главный вывод

Начинайте с сущностей и задач пользователя: группа объединяет модель, Product представляет покупаемый вариант, Offer — его условия. Давайте самостоятельные индексируемые URL только устойчивым и содержательно отличающимся вариантам; остальные адреса могут воспроизводить выбор без размножения страниц. ProductGroup связывает Products, но не заменяет их. Согласуйте canonical, интерфейс, разметку, фид и checkout, проверяйте арифметику каталога и не обещайте rich result или позиции за одну лишь корректную схему.

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

Нужна ли отдельная SEO-страница каждому размеру?
Обычно нет. Размер часто меняет наличие, но не создаёт самостоятельного содержания и устойчивого спроса. Ссылка должна воспроизводить выбранный размер для пользователя и фида, однако индексируемой можно оставить общую модель или страницу цвета. Решение принимают по категории и данным.
Заменяет ли ProductGroup разметку Product?
Нет. ProductGroup связывает семейство и указывает признаки различий, но каждый покупаемый вариант остаётся Product со своими идентификаторами, атрибутами и Offer. Общая группа не должна содержать вымышленную единую цену или наличие вместо конкретных предложений.
Какой canonical ставить на страницы вариантов?
Самостоятельный полезный и индексируемый вариант обычно имеет самоссылочный canonical. Параметризованный адрес, который только воспроизводит выбор на общей странице, может указывать на основной URL. Canonical должен совпадать с Sitemap, внутренними ссылками и общей архитектурой.
Что передавать в item_group_id?
Варианты одной модели получают одинаковый стабильный item_group_id, а каждый конкретный SKU — уникальный id. В актуальной спецификации вместе с группой используются item_group_title и variant_option, а стандартные атрибуты варианта передаются отдельно. Ссылка каждой строки должна открывать именно заявленную комбинацию.
Можно ли оставить варианты только на JavaScript?
Интерфейс может использовать JavaScript, но ссылка должна надёжно воспроизводить выбор, а важные данные желательно отдавать в первоначальном документе. Для отдельных страниц переключатели делают обычными ссылками. Цена, наличие и разметка не должны кратковременно относиться к варианту по умолчанию.
Гарантирует ли ProductGroup расширенный результат?
Нет. Поддерживаемая и корректная разметка помогает поисковой системе понять товары и может дать право на отдельные функции, но не гарантирует их показ, индексацию или позиции. Нужны точные видимые данные, качественные страницы и соблюдение всех правил площадки.