Skip to main content

SEO

SEO — это не “обмануть поисковик”. Нормальная SEO-архитектура нужна, чтобы поисковик мог найти страницы сайта, понять их смысл, выбрать правильную версию среди дублей и показать её пользователю в поиске. У Google это обычно описывается через crawling, indexing и serving/ranking: сначала бот находит и обходит страницы, потом решает, какие страницы добавить в индекс, а потом выбирает, какую страницу показать по конкретному запросу. (Google for Developers)

1. Что такое индексирование

Индексирование — это попадание страницы в “базу поиска”.

Если страница индексируется, она потенциально может появиться в Google/Yandex по запросу пользователя.

Например:

Пользователь ищет:

“купить холодильник samsung no frost ташкент”

Поисковик может показать страницу:

/ru/catalog/holodilniki-samsung-no-frost

Но только если:

поисковик нашёл эту страницу; страница открывается нормально; страница не запрещена к индексации; страница не выглядит дублем другой страницы; на странице есть понятный контент; страница достаточно полезна по этому запросу.

Если страница имеет:

<meta name="robots" content="noindex,follow" />

то мы говорим поисковику: “не добавляй эту страницу в индекс, но можешь переходить по ссылкам на ней”. Google прямо описывает noindex как способ запретить показ страницы в Search. (Google for Developers)

Индексация нужна не всем страницам. Например, страница “результаты фильтрации: цвет=чёрный, сортировка=по цене, страница=3” обычно не должна индексироваться. А вот заранее подготовленная страница “Холодильники Samsung No Frost” — может.

2. Что такое посадочная страница

Посадочная страница, или landing page, — это страница, на которую пользователь “приземляется” из поиска, рекламы, email-рассылки или внутренней ссылки.

В ecommerce есть особый тип: SEO landing page.

Это не просто произвольная страница с текстом. Это заранее созданная страница под конкретный поисковый спрос.

Пример обычной категории:

/ru/categories/holodilniki

Это просто все холодильники.

Пример фильтра, который пользователь накликал сам:

/ru/categories/holodilniki?brand=samsung&feature=no-frost

Это технический URL с query params.

Пример SEO landing page:

/ru/catalog/holodilniki-samsung-no-frost

Это уже осмысленная страница:

категория: холодильники; бренд: Samsung; характеристика: No Frost; свой title; свой h1; свой meta_description; свой SEO-текст; свой canonical URL; свой набор товаров.

Смысл landing page: не давать поисковику индексировать хаос из бесконечных фильтров, а вручную выбрать полезные комбинации и оформить их как нормальные страницы.

То есть:

все фильтры подряд индексировать нельзя; важные фильтрационные комбинации можно превратить в landing pages.

Когда landing page нужна:

есть реальный поисковый спрос; комбинация фильтров стабильная; страница даёт нормальный список товаров; можно написать нормальный title, h1, описание; страница не дублирует уже существующую категорию; страница полезна пользователю.

Когда landing page не нужна:

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

Для твоего проекта Catalog::Landing как раз и есть такая SEO landing page: не raw query params, а управляемая сущность с filter_set, filter_fingerprint, canonical_path, locale, SEO-полями и правилами индексации.

3. Что такое redirect

Redirect — это перенаправление с одного URL на другой.

Простой пример:

Было:

/ru/catalog/holodilniki-samsung

Стало:

/ru/catalog/holodilniki-samsung-no-frost

Если пользователь или поисковик заходит на старый URL, сайт отвечает:

“эта страница теперь находится здесь”.

Для SEO это важно, потому что старый URL мог уже быть в индексе, в ссылках, в sitemap, в чужих статьях, в Telegram, в рекламе. Если просто удалить старый URL, пользователь получит 404, а поисковик потеряет связь между старой и новой страницей.

Google описывает redirects как способ сообщить, что страница перемещена, а некоторые виды redirect используются как сигнал, какой URL считать canonical. (Google for Developers)

Когда нужен redirect:

переименовали slug; изменили структуру URL; объединили две страницы; удалили страницу, но есть хорошая замена; перевели старый legacy URL на новый.

Когда redirect не нужен:

страница временно пустая, но вернётся; нужно просто показать 404; нет релевантной замены; старый URL был мусорным и не должен жить.

В вашем проекте правильно, что при смене slug у landing создаётся redirect. Это защищает старые ссылки и поисковый индекс.

4. Что такое canonical

Canonical — это “главная версия страницы”.

Проблема: один и тот же или почти одинаковый контент может быть доступен по разным URL.

Например:

/ru/categories/holodilniki

/ru/categories/holodilniki?sort=price

/ru/categories/holodilniki?page=2

/ru/categories/holodilniki?brand=samsung

Если всё это индексировать, поисковик видит много похожих страниц и не понимает, какую считать основной. Google называет canonicalization процессом выбора главного URL из набора дублей или похожих страниц. (Google for Developers)

Для этого в HTML добавляют:

<link rel="canonical" href="https://idea.uz/ru/categories/holodilniki" />

Смысл: “если ты видишь похожие версии, основной URL вот этот”.

В вашем проекте правильное решение:

обычная категория:

/ru/categories/electronics

фильтрованная категория:

/ru/categories/electronics?brand=samsung

получает noindex и canonical на чистую категорию.

А если фильтрационная комбинация важная, для неё создаётся отдельная landing page:

/ru/catalog/samsung-electronics

И уже она может быть index,follow.

5. Что такое robots, noindex и robots.txt

Есть три разных механизма, которые часто путают.

robots.txt — файл, который говорит ботам, какие части сайта не надо обходить. Он управляет crawling, то есть обходом. Но это не защита данных и не идеальный способ управлять индексацией. Google прямо предупреждает, что robots.txt не является способом защиты информации; поведение зависит от crawler, и для приватных данных нужны другие методы. (Google for Developers)

meta robots noindex — инструкция на странице: “не индексируй эту страницу”. Это именно про indexing.

canonical — не запрет, а подсказка: “главная версия этой страницы вот такая”.

Простая логика:

хотим, чтобы страница была в поиске → index,follow; не хотим, чтобы страница была в поиске, но ссылки можно обходить → noindex,follow; страница дубль другой страницы → canonical на главную; страница переехала → redirect.

6. Что такое hreflang

hreflang нужен для мультиязычных сайтов.

Если есть:

/ru/catalog/holodilniki-samsung-no-frost

и

/uz/catalog/samsung-no-frost-muzlatkichlar

то это не конкурирующие страницы. Это языковые версии одной и той же смысловой страницы.

Через hreflang мы говорим поисковику:

“вот русская версия, вот узбекская версия”.

Google пишет, что hreflang помогает сообщить о локализованных вариантах страницы, но при этом Google не использует hreflang или HTML lang для определения языка страницы — язык определяется алгоритмически. (Google for Developers)

Поэтому ваша новая архитектура с /ru/... и /uz/... правильная. Cookie-locale для SEO плохой, потому что один URL может отдавать разные языки. А поисковику нужны стабильные URL.

Правильная модель:

/ru/... — русская страница; /uz/... — узбекская страница; canonical у каждой страницы self-referencing; hreflang связывает эквивалентные страницы; если UZ-версии нет, не надо отдавать RU-контент под /uz/....

7. Что такое sitemap

Sitemap — это карта сайта для поисковика.

Она не гарантирует индексацию, но помогает поисковику найти важные URL.

В sitemap нужно класть только те страницы, которые вы реально хотите видеть в индексе.

Для ecommerce это обычно:

главная; категории; товары; SEO landing pages; важные static pages.

Не надо класть:

фильтрованные query URL; страницы с noindex; пустые landing pages; inactive pages; fallback pages; старые URL, которые редиректят.

В вашем проекте Phase 4 с SitemapBuilder как раз делает правильную вещь: формирует список sitemap-eligible URL, а не просто выгружает всё подряд.

8. Как всё это связано в один смысл

Представь магазин как большой склад.

Категории — это отделы:

холодильники; телевизоры; кондиционеры.

Товары — это конкретные позиции.

Фильтры — это способ быстро найти нужное:

Samsung; No Frost; 55 дюймов; инверторный; до 5 млн сум.

Но если поисковику дать индексировать любую комбинацию фильтров, получится мусор:

?brand=samsung&sort=price&page=3 ?brand=samsung&page=2&sort=price ?feature=no-frost&brand=samsung ?brand=samsung&feature=no-frost

Для пользователя это удобно, но для поиска это хаос.

SEO landing page решает проблему: мы берём только важные комбинации и превращаем их в нормальные страницы.

Например:

“Холодильники Samsung No Frost” — важная страница.

А “Холодильники Samsung No Frost, сортировка по цене, страница 3” — не SEO-страница.

9. Когда что использовать

Category page использовать для широкого спроса:

“холодильники”; “телевизоры”; “смартфоны”.

Landing page использовать для стабильного уточнённого спроса:

“холодильники Samsung No Frost”; “телевизоры 55 дюймов”; “инверторные кондиционеры”; “ноутбуки Lenovo Core i5”.

Product page использовать для конкретной модели:

“Samsung RB33B610EBN”; “iPhone 15 Pro 256GB”.

Static page использовать для обычного контента:

доставка; оплата; контакты; о компании; гарантия.

Redirect использовать, когда URL изменился или страница переехала.

Canonical использовать, когда есть похожие или технические варианты одной страницы.

Noindex использовать, когда страница нужна пользователю, но не нужна в поиске.

Sitemap использовать, чтобы перечислить чистые индексируемые URL.

Hreflang использовать, когда есть настоящие языковые версии одной страницы.

10. Flow SEO-оптимизации ecommerce-сайта

Шаг 1. Понять спрос

Сначала выясняют, что люди ищут.

Например:

“купить холодильник”; “холодильник samsung”; “холодильник no frost”; “холодильник samsung no frost”; “телевизор 55 дюймов”; “инверторный кондиционер”.

Это называется семантика или keyword research.

Смысл: мы не создаём страницы “потому что можем”. Мы создаём страницы под реальные пользовательские запросы.

Шаг 2. Разложить спрос по типам страниц

Широкие запросы → категории.

“холодильники” → category page.

Уточнённые коммерческие запросы → landing pages.

“холодильники Samsung No Frost” → catalog landing.

Конкретные модели → product pages.

“Samsung RB33B610EBN” → product page.

Информационные запросы → статьи/гайды, если они нужны.

“как выбрать холодильник” → blog/guide page, если такой раздел есть.

Шаг 3. Спроектировать URL

URL должен быть стабильным, коротким и понятным.

Плохо:

/ru/categories/1?brand_id=44&attribute_option_ids[]=55&attribute_option_ids[]=77

Хорошо:

/ru/catalog/holodilniki-samsung-no-frost

Для мультиязычности:

/ru/catalog/holodilniki-samsung-no-frost

/uz/catalog/samsung-no-frost-muzlatkichlar

Шаг 4. Решить, что индексируем

Индексируем:

активные категории; активные товары; активные landing pages с товарами; важные static pages.

Не индексируем:

фильтрованные category query URLs; пустые landing pages; fallback pages; inactive pages; результаты поиска; пагинацию, если она не нужна в индексе; сортировки.

Шаг 5. Сделать техническую основу

На этом этапе нужны:

правильный routing; canonical; robots meta; redirects; sitemap; hreflang; 404 для отсутствующих локалей; строгие locale URLs; отсутствие дублей; корректная генерация URL.

Это ровно тот слой, который вы сейчас проработали.

Шаг 6. Наполнить страницы содержанием

Для landing page нужны:

title; h1; meta_description; короткий SEO-текст; правильные товары; breadcrumbs; внутренние ссылки; возможно FAQ или небольшой блок объяснения.

Важно: SEO-текст не должен быть бессмысленной водой. Он должен помогать пользователю понять, что это за подборка.

Шаг 7. Внутренняя перелинковка

Поисковик находит страницы через ссылки.

Поэтому landing pages должны быть не только в sitemap, но и внутри сайта:

из категорий; из фильтров; из меню/блоков “популярные подборки”; из похожих landing pages; из карточек категорий.

Если landing есть только в sitemap, она технически существует, но может быть слабой для продвижения.

Шаг 8. Проверить качество результата

Для каждой важной страницы проверяют:

открывается ли URL; правильный ли статус 200; нет ли случайного redirect; правильный ли canonical; правильный ли robots; есть ли hreflang; есть ли товары; нет ли дублей; есть ли страница в sitemap; нет ли 404; нет ли N+1 и медленных запросов; нормально ли выглядит на frontend.

Шаг 9. Отправить в индекс и наблюдать

После запуска смотрят:

Google Search Console; Yandex Webmaster; какие страницы проиндексированы; какие исключены; какие canonical выбрал поисковик; есть ли ошибки sitemap; есть ли 404; какие запросы дают показы; какие страницы получают клики.

Шаг 10. Улучшать

SEO — это не “сделали один раз”. Потом постоянно улучшают:

добавляют landing pages под новые запросы; удаляют слабые страницы; объединяют дубли; улучшают title/h1/meta; добавляют товары; улучшают скорость; улучшают внутренние ссылки; исправляют 404 и redirects; следят за тем, что реально индексируется.

11. Как оценивать ваши текущие решения

То, что вы сделали, выглядит логично:

URL-level locale — правильно; /ru/... и /uz/... — правильно; нет fallback RU под UZ URL — правильно; canonical с locale — правильно; hreflang только для реальных пар — правильно; filtered category pages → noindex + canonical на чистую category — правильно; landing pages через filter_set и filter_fingerprint — правильно; sitemap только для eligible URLs — правильно; redirects на locale-prefixed paths — правильно; product lookup strict by locale — правильно.

Главное, что нужно держать в голове:

SEO landing page — это не “ещё одна страница”. Это управляемая индексируемая версия полезной фильтрационной комбинации.

Фильтры — для пользователя.

Landing pages — для пользователя и поисковика.

Canonical — чтобы не было дублей.

Noindex — чтобы мусор не попадал в поиск.

Redirect — чтобы старые URL не умирали.

Sitemap — чтобы поисковик видел важные страницы.

Hreflang — чтобы RU и UZ версии не конкурировали, а считались языковыми вариантами одной смысловой страницы.