
В исходном описании указаны многочисленные дубли и URL с параметром выбора предложения. Это подтверждает повод проверить генератор, но не доказывает, что любой адрес с параметром является дублем. Ниже используется учебный каталог с моделью А и вариантами Б/В. Реальных товаров, артикулов и данных клиента в примере нет.
Разделить модель, предложение и страницу
Товарная модель описывает общий объект, предложение задаёт продаваемый вариант, а страница определяет публичный материал. Эти сущности могут совпадать по адресу или иметь разные URL. Прежде чем чистить карту, запишите выбранную модель. Если каталог использует одну карточку с переключателем, дополнительный параметр может быть состоянием интерфейса. Если варианты имеют собственные описания и назначения, решение сложнее.
Посмотрите, что меняется при выборе: только доступная комплектация, фотография и цена либо весь смысл материала. Не определяйте самостоятельность по факту наличия отдельного ключа в базе. Технический идентификатор предложения не обязывает создавать самостоятельную индексируемую страницу. И наоборот, параметрический URL не делает содержание автоматически лишним.
Документация Google по структуре адресов интернет-магазина рекомендует проектировать URL и основные версии последовательно. Она помогает сформулировать правила, но не выбирает за владельца каталога конкретную коммерческую структуру. В этом разборе задача уже ограничена вариантами, которые решено не перечислять отдельно в Sitemap. Их доступность для посетителя сохраняется.
Снять образец фактической карты
Сохраните ограниченную выборку строк XML и сгруппируйте их по модели. Посчитайте точные URL и основные адреса после применения согласованного правила. Не называйте любое повторение названия дублем: разные страницы могут иметь одинаковые подписи. Для сравнения нужен устойчивый ключ материала и нормализованный адрес, а не только текст товара.
Проверьте несколько строк непосредственно в браузере: основную карточку, вариант с параметром и несуществующее значение варианта. Сравните статус, содержимое и canonical. Если неизвестный вариант показывает случайный товар, это отдельный дефект маршрутизации. Удаление строки из карты не исправляет поведение страницы и не делает его безопасным автоматически.
Сохраните условия получения карты: публичный URL, время и способ генерации. Старый файл на диске и текущий ответ сервера могут отличаться. В многосайтовой системе проверьте, что выборка относится к нужной витрине. Публичная иллюстрация должна показывать условные адреса, а не реальные внутренние параметры и структуру клиента.
| Адрес учебного каталога | Роль | Решение карты |
|---|---|---|
| Основная карточка модели А | Публичный основной материал | Включить по правилам публикации |
| Та же карточка с выбором Б | Состояние предложения | Не перечислять отдельно по выбранной политике |
| Самостоятельная страница иной модели | Другое содержание | Не удалять из-за похожего имени |
| Несуществующий вариант | Ошибочный запрос | Проверить обработку, не включать |
Найти, откуда генератор получает варианты
Карта может строиться из списка страниц, товарных записей, предложений или обхода готовых ссылок. Эти источники дают разный результат. Если генератор проходит все предложения и использует их текущие URL, параметрические варианты попадут в XML закономерно. Исправление должно изменить правило отбора или построения основного адреса, а не просто вырезать строки после выгрузки.
Проверьте отдельные ветви генерации. Основные товары и торговые предложения могут добавляться разными обработчиками. Один путь уже использует правильный URL, а второй создаёт варианты. Поиск только по слову sitemap иногда не показывает общий помощник формирования ссылки. Для реализации найдите связи и потребителей, сохранив минимальную область изменения.
Если карта получается обходом ссылок страницы, устраните распространение технического параметра там, где он не нужен. Но не ломайте сам переключатель варианта. Ссылка для выбора и ссылка основного материала имеют разные назначения. Их не следует принудительно делать одинаковыми только ради красивой карты, если интерфейс должен открывать выбранную комплектацию по прямому переходу.
Отбирать сущности, затем строить URL
Более понятный конвейер сначала выбирает публичные материалы, затем для каждого получает основной адрес. На следующем шаге выполняются нормализация и дедупликация. Если начать с произвольных URL и удалять знакомые параметры, легко потерять связь с сущностью. Структурный подход позволяет проверить, почему конкретная модель включена, а конкретный вариант исключён.
Правило включения должно учитывать доступность материала по политике сайта: публикацию, скрытие, удаление и срок. Нельзя исправить варианты и одновременно вернуть в карту черновики из старой выборки. Общие условия должны совпадать со списком публичных карточек. Если основной адрес недоступен, его не стоит объявлять правильным только потому, что он выглядит короче.
Для каждой модели ожидается один выбранный адрес, если такова политика каталога. Дедупликация нужна как дополнительная защита от повторного попадания через разные разделы, но не как замена модели данных. Если один материал получает два разных основных URL, нужно выяснить источник расхождения. Простое удаление точных одинаковых строк не устранит такие смысловые дубли.
Не удалять все параметры одинаково
В запросе могут находиться выбор варианта, пагинация, сортировка и рекламные маркеры. Они не равнозначны. Используйте явную классификацию и штатный разбор URL. Строковая операция «обрезать всё после вопросительного знака» может свести вторую страницу каталога к первой или разрушить самостоятельную посадочную страницу, если её структура так устроена.
Учебная проверка включает основную карточку с параметром предложения и дополнительным безопасным маркером. Ожидаемый основной адрес задаётся заранее. Затем проверяют другой тип страницы с собственным значимым параметром. Это показывает, что правило действует в нужной области. Общая функция нормализации должна получать контекст, если политика различается между каталогом и карточкой.
Не используйте поиск подстроки в любом месте адреса как критерий исключения. Похожая последовательность может встретиться в законном slug или значении другого параметра. Парсер должен различать имя ключа и его содержимое. Проверьте повторяющиеся параметры и пустые значения, чтобы после нормализации не возникали повреждённые разделители.
Согласовать canonical и прямой переход к варианту
Если параметрический вариант остаётся доступным как состояние той же карточки, canonical должен соответствовать выбранной основной версии по правилам проекта. При этом интерфейс обязан показать правильную комплектацию по прямой ссылке. Нельзя потерять выбор только потому, что адрес не перечисляется в Sitemap. Поисковый сигнал и пользовательский переход проверяются отдельно.
Не добавляйте перенаправление на основной адрес автоматически, если оно стирает необходимое состояние. Возможно, проект действительно хочет редирект, но тогда нужно определить способ сохранения выбранного варианта. Решение должно учитывать назначение ссылки из рекламы, письма или каталога партнёра. Один тег canonical не заменяет согласование этих сценариев.
Проверьте единственность канонической ссылки и соответствие текущему сайту. Если SEO-модуль добавляет свой тег, а шаблон другой, исключение вариантов из XML оставит противоречие. Основной адрес должен строиться из доверенной конфигурации и сущности, без случайного переноса хоста или параметров текущего запроса.
Проверить внутренние ссылки
Карточки списка, хлебные крошки и похожие товары должны использовать подходящий тип ссылки. Общий переход к модели обычно не нуждается в случайно выбранном параметре предыдущего посетителя. Специальная ссылка на вариант может его содержать намеренно. Важно различать эти назначения и не распространять техническое состояние по всему сайту через общий помощник.
Проверьте копирование URL после выбора и открытие в новой вкладке. Посетитель должен получить ожидаемый товар и понятную комплектацию. Если интерфейс меняет историю браузера, проверьте возврат назад. Доработка Sitemap не должна побочно ломать эти действия, поэтому регрессия включает фактическое использование переключателя, а не только чтение XML.
Если внешний фид использует вариантные адреса, это отдельный контракт. Не подменяйте их основными автоматически в рамках чистки карты, пока не проверены требования получателя и назначение. Один каталог может иметь разные представления для поиска, рекламы и обмена. Их согласуют по смыслу, а не стремятся сделать все строки одинаковыми любой ценой.
Проверить повторную генерацию и кэш
После исправления запустите штатный способ обновления карты и получите публичный ответ. Затем повторите запуск без дополнительных правок. Вариантные URL не должны возвращаться из другой ветви или старого сохранённого набора. Ручной локальный файл с правильными строками не доказывает работу регулярной задачи и публичной доставки XML.
Проверьте индекс карт, если используется несколько файлов. Старый дочерний файл с вариантами может оставаться доступным и перечисленным, даже когда новый основной файл уже исправлен. Не удаляйте всё содержимое каталога без разбора. Найдите актуальную цепочку индекса и правила обновления, сохранив рабочие файлы других разделов.
Если генерация зависит от кэша товаров, проверьте создание новой модели и изменение варианта. Основная карточка должна появиться по штатному правилу, а технический вариант не должен добавляться отдельно. Это проверяет будущую автоматизацию, а не только очистку уже накопленного XML. Доработка без такого теста легко превращается в разовую уборку.
Сравнить количество адресов осмысленно
До и после полезно считать точные URL, основные материалы и исключённые варианты по согласованной категории. Но уменьшение общего числа строк не является самоцелью. Оно может означать как устранение дублей, так и потерю карточек. Для каждой разницы нужна объяснимая группа: технические варианты, скрытые записи или точные повторения.
Сопоставьте множество основных моделей до изменения с итоговой картой. Каждая разрешённая модель должна сохранить свой основной адрес. Затем проверьте небольшую выборку конечных ответов. Это сильнее, чем сравнение одной суммы строк, в которой пропуск и лишний элемент могут компенсировать друг друга.
| Проверка | Ожидаемый результат |
|---|---|
| Основные публичные модели | Сохранили адреса |
| Варианты по выбранной политике | Не перечисляются отдельно |
| Новая модель после обновления | Попадает автоматически |
| Новый вариант существующей модели | Не размножает карту |
| Повторная генерация | Даёт тот же состав без возврата дублей |
| Прямая ссылка на вариант | Открывает правильное состояние |
Отделить исправление сайта от состояния поиска
Удаление URL из карты не означает его мгновенное исчезновение из поисковой базы. Поисковик может знать адрес из других источников. Поведение самого варианта, canonical и внутренняя ссылочная структура остаются существенными. Не обещайте срок «очистки индекса» по одному успешному пересозданию XML.
Если доступ к кабинетам вебмастера есть, наблюдайте обработку обновлённой карты и выбранные примеры. Если его нет, отметьте конкретную недостающую проверку и продолжайте локальную приёмку. Статья может содержать полноценный учебный протокол без снимков реального кабинета. Вымышленный отчёт об индексации не нужен для объяснения правила.
Оставьте в рабочей заметке модель URL, условия включения и набор регрессионных примеров. Такой контракт позволит добавлять предложения и разделы без возврата прежней ошибки. Задача завершена, когда карта автоматически перечисляет нужные основные материалы, а выбор комплектаций продолжает работать по прямым ссылкам и внутри каталога.
Документация и источники
- Google: структура URL интернет-магазина: Планирование URL товаров, вариантов и согласованных основных адресов