Canonical — один URL на контент
Представьте: у вас есть страница товара, которая открывается по трём разным URL:
example.ru/product/example.ru/productwww.example.ru/product/
Это один и тот же контент, но для поисковика — три разные страницы. Поисковик не знает, какую из них показывать в выдаче, и может проиндексировать все три как дубли. Результат: размытый ссылочный вес, каннибализация, падение позиций.
Rel=canonical — это тег, который говорит поисковику: «Вот канонический (предпочтительный) URL для этого контента. Все остальные варианты — дубли».
Как выглядит canonical
<link rel="canonical" href="https://example.ru/product/" />
Тег размещается в <head> каждой страницы. Атрибут href содержит URL, который является каноническим.
Self-referencing canonical — каноникл на саму себя
Self-referencing canonical — это когда canonical указывает на сам URL страницы. Это правильный подход для каждой уникальной страницы.
<!-- На странице https://example.ru/blog/seo-check/ -->
<link rel="canonical" href="https://example.ru/blog/seo-check/" />
Правило: каждая страница должна иметь self-referencing canonical. Если canonical отсутствует — поисковик сам определяет канонический URL, и может ошибиться.
Canonical для paginated страниц (пагинация)
При пагинации (/page/2, /page/3) canonical требует особого подхода:
| URL | Canonical |
|---|---|
| /page/1 | /page/1 (self) |
| /page/2 | /page/2 (self) |
| /page/3 | /page/3 (self) |
Каждая страница пагинации должна иметь self-referencing canonical. Не указывайте canonical на /page/1 со всех страниц пагинации — это ошибка, которая приводит к тому, что /page/2, /page/3 и т.д. не индексируются.
Canonical для параметров в URL
Страницы с параметрами (?sort=price, ?color=red, ?session=abc) часто дублируют основную страницу. Canonical решает эту проблему:
<!-- На странице /product/?sort=price -->
<link rel="canonical" href="https://example.ru/product/" />
Но! Не канонизируйте страницы с фильтрами на основную категорию, если фильтры создают уникальный контент. Если /product/?color=red показывает уникальные товары — у него должен быть свой self-referencing canonical.
Cross-domain canonical — каноникл на другой домен
Иногда canonical указывает на другой домен. Это допустимо, если:
- У вас есть два домена с одинаковым контентом (например, example.ru и example.com)
- Вы хотите передать вес одного домена на другой
<!-- На example.com -->
<link rel="canonical" href="https://example.ru/" />
Но! Если cross-domain canonical — это ошибка (например, CMS настроена на другой домен), это критическая проблема. Поисковик проигнорирует ваш домен и будет индексировать чужой.
Canonical и 301 редирект — в чём разница
| Canonical | 301 редирект |
|---|---|
| Оба URL доступны | Только канонический URL доступен |
| Поисковик знает о дубле | Поисковик видит только один URL |
| Вес передаётся частично | Вес передаётся полностью |
| Пользователь видит оба URL | Пользователь перенаправляется |
Когда использовать canonical: когда оба URL должны быть доступны (например, /product/ и /product?sort=price).
Когда использовать 301: когда один URL нужно полностью заменить другим (www → non-www, http → https).
Частые ошибки с canonical
1. Canonical отсутствует
Без canonical поисковик сам определяет канонический URL. Это может привести к индексации дублей и размытию ссылочного веса.
Решение: добавьте self-referencing canonical на каждую страницу.
2. Canonical указывает на 404-страницу
Если canonical ведёт на URL, который отдаёт 404 — это ошибка. Поисковик не может обработать canonical, и дубли остаются.
Решение: проверьте, что canonical всегда указывает на рабочую страницу (HTTP 200).
3. Canonical указывает на 301-редирект
Если canonical ведёт на URL, который 301 редиректит на другой URL — это двойная путаница. Поисковик предпочтёт финальный URL.
Решение: canonical должен указывать напрямую на страницу с HTTP 200.
4. Canonical на другую страницу того же домена
Если canonical главной страницы указывает на страницу контактов — это ошибка. Поисковик проигнорирует главную и проиндексирует контакты вместо неё.
Решение: каждая страница должна иметь self-referencing canonical.
5. Canonical в robots: noindex
Если страница имеет noindex и canonical — это нормально. Поисковик проигнорирует noindex, но учтёт canonical для передачи веса.
Как проверить canonical
1. Через curl
curl -sL 'https://example.ru/page/' | grep -oP 'rel="canonical"[^>]+href="\K[^"]+'
2. Проверка цели canonical
# Извлечь canonical URL
canon=$(curl -sL 'https://example.ru/page/' | grep -oP 'rel="canonical"[^>]+href="\K[^"]+')
# Проверить, что canonical отдаёт 200
curl -sI "$canon" | head -1
3. Через инструменты
- seoquest.ru — бесплатный аудит покажет canonical для каждой страницы
- Google Search Console — раздел «Поведение в поиске» покажет, какие URL проиндексированы
Canonical и Health Score
В Health Score seoquest.ru canonical — один из ключевых параметров. Ошибки canonical снижают общий балл:
- Отсутствие canonical — важный параметр
- Canonical на 404 — критичный параметр
- Canonical на 301 — важный параметр
- Canonical на другую страницу — критичный параметр
- Cross-domain canonical — критичный параметр
Чеклист canonical
- [ ] Self-referencing canonical на каждой странице
- [ ] Canonical указывает на URL с HTTP 200
- [ ] Canonical не указывает на 301-редирект
- [ ] Paginated страницы имеют self-referencing canonical
- [ ] Параметры в URL канонизированы на базовый URL
- [ ] Нет cross-domain canonical (если не planned)
- [ ] Canonical не конфликтует с hreflang (если есть мультиязычность)
Итог
Rel=canonical — это простой, но мощный инструмент. Он говорит поисковику, какой URL является каноническим для дублирующегося контента. Self-referencing canonical на каждой странице — это базовый стандарт, который должен быть на каждом сайте. Проверяйте canonical регулярно — и ваш сайт будет индексироваться чисто, без дублей и каннибализации.
Проверить сайт по техническим и контентным пунктам можно в бесплатной проверке.
Вопросы и ответы
Canonical — это редирект?
Нет. Canonical — это рекомендация для поисковика, а не инструкция для браузера. При canonical оба URL доступны для пользователя. При 301 редиректе пользователь перенаправляется на другой URL.
Нужно ли ставить canonical, если у меня нет дублей?
Да. Self-referencing canonical — это стандарт для каждой страницы. Даже если у вас нет известных дублей, поисковик может найти их сам (www/non-www, http/https, trailing slash). Canonical предотвращает эту проблему.
Что будет, если canonical отсутствует?
Поисковик сам определит канонический URL. В большинстве случаев он справляется хорошо, но иногда ошибается — индексирует дубли или выбирает не тот URL. Canonical даёт вам контроль.
Canonical и noindex — можно вместе?
Да, можно. Страница с noindex и canonical — нормальная конфигурация. Поисковик проигнорирует noindex, но учтёт canonical для передачи ссылочного веса.
Canonical на /page/1 со всех страниц пагинации — правильно?
Нет, это ошибка. Каждая страница пагинации должна иметь self-referencing canonical. Иначе /page/2, /page/3 и т.д. не будут индексироваться.