SEOProvision
Один товар открывается по адресу категории, из результатов фильтра и по ссылке с рекламной меткой. Для человека это одна карточка. Для сервера — три разных URL, которые могут попасть во внутренние ссылки и начать конкурировать как дубли. Исправлять такую структуру нужно не косметикой ЧПУ, а правилом: какой объект существует на сайте и какой единственный адрес его представляет.
Сначала перечислите типы самостоятельных страниц: услуга, категория, товар, статья, автор, фильтр с отдельным спросом. Затем назначьте каждому типу постоянный шаблон. Вложенность оставляйте там, где иерархия не меняется при перестройке меню. Параметры делите на создающие новый документ и описывающие временное состояние.
URL фиксирует объект, а не историю меню
Адрес страницы часто проектируют от текущей навигации: главная → каталог → раздел → подраздел → карточка. Пока меню не меняется, схема выглядит логично. Затем товар переносят в другую категорию, услугу выводят в отдельное направление, а статья получает новую рубрику. Если URL механически повторяет каждый уровень, редакционная правка превращается в миграцию адреса.
Начните с объекта. Карточка товара остаётся той же карточкой независимо от того, откуда пользователь к ней пришёл. Статья тоже не становится новым документом после смены рубрики.
Для таких сущностей полезен собственный постоянный идентификатор в адресе. Категория, напротив, описывает подборку и может иметь осмысленную иерархию.
| Тип объекта | Постоянная часть | Что не должно менять адрес |
|---|---|---|
| Услуга | Короткое имя услуги | Перестановка блока в меню |
| Карточка товара | Slug или стабильный ID товара | Добавление во вторую категорию |
| Категория | Название устойчивого раздела | Сортировка и вид списка |
| Статья | Slug материала | Смена рубрики или автора |
| Фильтр | Только подтверждённая посадочная комбинация | Порядок выбранных значений |
Проверьте каждый шаблон простым вопросом: два URL обозначают два разных ответа на запрос или лишь два способа открыть одно и то же? Если ответ и назначение совпадают, системе нужен один основной адрес. Остальные варианты перенаправляются, канонизируются или исключаются как незначащие параметры — выбор зависит от причины появления.
Такое моделирование снижает каннибализацию ещё до настройки canonical. Внутренние ссылки начинают вести на один адрес, sitemap не содержит альтернатив, аналитика собирает данные по единому документу. Технические сигналы не спорят с архитектурой, потому что сама архитектура уже однозначна.
ЧПУ помогает прочитать адрес без расшифровки
Человек должен примерно понимать адрес без таблицы соответствий. /services/seo-audit яснее, чем /page.php?id=184&cat=7. Но читаемость не требует превращать URL в длинный пересказ H1. Чем больше слов зашито в slug, тем выше цена переименования и риск разных вариантов транслитерации.
Хороший ЧПУ короткий, постоянный и отличает объект от соседних. Уберите служебные глаголы, даты без необходимости, повтор домена и слова, которые уже выражены устойчивым каталогом. Если товару нужен ID для уникальности, его можно сохранить рядом с понятным названием. Само присутствие числа не делает адрес плохим.
| Слабый вариант | Рабочий вариант | Почему |
|---|---|---|
| /catalog.php?id=481 | /catalog/kofemolka-m7-481 | Объект читается, ID сохраняет уникальность |
| /uslugi/seo/uslugi-seo-audit-sayta-nedorogo | /services/seo-audit | Нет повтора и рекламных слов |
| /blog/2026/07/27/kak-vybrat-url | /blog/kak-vybrat-url | Дата не привязывает вечнозелёный материал к выпуску |
| /Catalog/SEO-Audit | /catalog/seo-audit | Один регистр исключает технические варианты |
Заранее установите конвенцию: строчные буквы, дефис как разделитель, один вариант завершающего слеша, единый способ транслитерации. Эти решения почти не влияют на смысл страницы по отдельности, но предотвращают появление разных адресов из-за CMS, ручного ввода и ссылок разработчиков.
Не меняйте старый индексируемый URL только ради более красивого написания. Переезд оправдан, когда текущая схема создаёт системные дубли, мешает поддержке или готовится крупная перестройка. Косметическая правка требует 301, обновления внутренних ссылок, sitemap, canonical и контроля обхода; выгода должна покрывать эту работу.
Вложенность не обязана повторять каждый уровень
Глубина адреса и кликовая глубина — не одно и то же. Страница /products/item-77 может находиться в пяти кликах от главной, а длинный адрес /catalog/electronics/kitchen/grinders/item-77 — открываться из меню сразу. Поисковый робот проходит по ссылкам, поэтому сокращение строки само по себе не исправляет плохую связность.
Вложенность полезна, когда показывает устойчивое отношение. Страница подкатегории действительно принадлежит разделу и, вероятно, сохранит эту роль. Но карточка, доступная в нескольких подборках, не обязана наследовать одну из них. Иначе смена основной категории потянет адрес за собой.
- оставляйте уровень, если он выражает постоянный тип или раздел;
- не добавляйте уровни ради каждого пункта меню и хлебных крошек;
- не кодируйте в адресе временную маркетинговую подборку;
- для нескольких иерархий выбирайте один постоянный URL объекта;
- проверяйте глубину обхода внутренними ссылками, а не числом слешей.
Отдельно разберите локальные страницы. Если город меняет само предложение, цены, контакты или зону обслуживания, он может быть частью самостоятельного адреса. Если меняется только заголовок по IP, создавать десятки URL без отдельной ценности опасно. Решение принимает содержимое и спрос, а не желание добавить географию в ЧПУ.
Нарисуйте дерево типов страниц, а рядом — реальные ссылки между ними. Так видно, где URL выражает иерархию, а где навигация живёт отдельно. Если новая структура меню требует сменить половину адресов, в шаблон зашито слишком много организационной истории.
Параметры отделяют состояние от новой страницы
GET-параметр может означать что угодно: сортировку, страницу пагинации, фильтр, источник рекламы, язык или идентификатор товара. Поэтому правило «закрыть всё после знака вопроса» слишком грубое. Для каждого параметра нужно определить, меняет ли он основной ответ документа и должен ли существовать отдельный поисковый URL.
| Параметр | Что меняется | Обычное решение |
|---|---|---|
| utm_source, from | Только источник перехода | Тот же документ; параметр незначащий |
| sort, view | Порядок или внешний вид | Не создавать отдельную индексируемую страницу |
| page | Состав элементов списка | Сохранить доступный адрес последовательности |
| filter=brand-x | Состав категории | Отдельная посадочная только при самостоятельном спросе и ценности |
| lang | Язык всего документа | Лучше устойчивые отдельные URL с корректной языковой связью |
Яндекс описывает Clean-param как способ сообщить роботу, какие GET-параметры не меняют содержание. Директива подходит для меток и технических хвостов, но не заменяет внутреннюю дисциплину: ссылки на сайте всё равно должны вести на чистый основной URL, иначе система продолжит размножать варианты для пользователей, аналитики и других роботов.
Canonical сообщает предпочтительный адрес среди одинаковых или близких страниц, однако является рекомендацией. Если все внутренние ссылки ведут на параметр, sitemap содержит параметр, а canonical указывает на чистый URL, сигналы противоречат друг другу. Сначала исправьте генерацию ссылок и шаблон, затем используйте canonical как подтверждение.
Фильтры требуют отдельной карты. Комбинация «бренд + тип товара» может отвечать самостоятельному спросу и иметь уникальный текст, заголовки и ассортимент. Случайная комбинация «цвет + цена + сортировка» чаще остаётся состоянием интерфейса. Не индексируйте миллионы сочетаний только потому, что CMS умеет выдавать для них 200.
Для каждой группы параметров зафиксируйте: кто её создаёт, меняется ли содержимое, есть ли чистый адрес, куда ведут внутренние ссылки, что стоит в canonical и должна ли комбинация попадать в sitemap. После этого техническое правило становится проверяемым, а не зависит от догадки следующего разработчика.
Вопросы и ответы
Влияет ли завершающий слеш на SEO сам по себе?
Нет, важен единый вариант. Если /page и /page/ отвечают кодом 200 как разные адреса, выберите один, настройте перенаправление и используйте его во внутренних ссылках, canonical и sitemap.
Можно ли использовать кириллицу в URL?
Технически можно, но адрес будет кодироваться при копировании и сложнее обрабатываться некоторыми системами. Для нового русскоязычного проекта обычно удобнее единая транслитерация; важнее не алфавит, а постоянство правила.
Нужно ли переводить все старые адреса на ЧПУ?
Не ради внешнего вида. Если старые URL стабильны, индексируются и не создают дублей, массовая смена добавит риск без понятной пользы. Переезд имеет смысл при системной проблеме структуры и проводится с точной картой 301.
Паспорт URL-шаблона удерживает миграцию от хаоса
Одна страница паспорта полезнее длинного списка пожеланий. Она описывает не отдельный URL, а правило для всего типа: какой объект создаётся, как выглядит основной адрес, какие параметры допустимы, что возвращает сервер и как система ведёт себя при смене slug.
Паспорт URL-шаблона: шесть обязательных полей
| Поле | Пример для карточки товара |
|---|---|
| Объект | Одна товарная позиция с постоянным ID |
| Основной шаблон | /product/{slug}-{id} |
| Альтернативы | Старый адрес и варианты с категорией отвечают 301 |
| Параметры | UTM сохраняются для аналитики, но не меняют canonical |
| Внутренние ссылки | Всегда ведут на основной адрес без меток |
| Контроль | 200 на основном URL, один переход 301 со старого, отсутствие цепочки |
Перед миграцией выгрузите старые адреса из sitemap, аналитики, внутренних ссылок и серверных логов. Сопоставьте каждый ценный URL с точной новой страницей. Если замены нет, не перенаправляйте всё на главную: такой переход не отвечает прежнему намерению. Для удалённого без замены документа честный статус может быть правильнее.
Карта редиректов должна быть однозначной: один старый адрес → один новый. Проверьте отсутствие цепочек, циклов и переходов через промежуточный HTTP. Затем замените внутренние ссылки, canonical и sitemap. Редирект сохраняется для старых внешних переходов, а не используется как постоянный костыль внутри сайта.
После запуска возьмите по три адреса каждого шаблона: основной, старый и параметрический. Проверьте код, конечный URL, canonical и наличие в sitemap. Затем посмотрите статистику обхода Яндекса: старые варианты должны постепенно уступать место новым, а количество случайных параметров — не расти.
Техническая проверка не заканчивается на одном успешном переходе. Для индексации важна согласованность всех сигналов: новые внутренние ссылки, карта сайта и canonical называют один URL, а редиректы со старых адресов не образуют цепочек. Правило вложенности также сверяют на нескольких шаблонах, чтобы исключение одной карточки не маскировало системный дефект.
SEOProvision включает такую архитектуру и контроль миграции в комплексное SEO-продвижение сайта, когда адреса связаны с семантикой, внутренними ссылками и техническими шаблонами. Само переписывание slug без этой связки лишь меняет внешний вид проблемы.
Паспорт готов, если новый разработчик может по нему создать страницу и получить тот же адрес, что действующая система. В этот момент URL-структура перестаёт быть набором исключений. У команды появляется правило, по которому можно проверить новую категорию, фильтр или миграцию до того, как дубли попадут в обход.