rel=canonical: зачем и как настроить

Canonical — один URL на контент

Представьте: у вас есть страница товара, которая открывается по трём разным URL:

  • example.ru/product/
  • example.ru/product
  • www.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 и т.д. не будут индексироваться.