Logo
Canonical: коли ставити канонічну адресу і які помилки коштують трафіку

Canonical: коли ставити канонічну адресу і які помилки коштують трафіку

Canonical: це тег <link rel="canonical"> у коді сторінки, яким ви кажете Google, яка з кількох схожих адрес головна і має ранжуватись. Ставити його треба тоді, коли один і той самий контент відкривається за різними URL: фільтри й сортування в магазині, http і https, www і без, UTM-мітки, версії для друку. Помилки з canonical ззовні непомітні, сайт працює як працював, а трафік тим часом тихо розповзається по дублях або зникає разом із головною сторінкою, яку ви випадково «віддали» іншій. Нижче розбираємо, коли тег потрібен, як його перевірити і які вісім помилок ми найчастіше знаходимо на аудитах.

SEO-спеціаліст перевіряє тег canonical у вихідному коді сторінки на моніторі

Що таке rel="canonical" і навіщо він Google

Google не любить дублі сторінок. Коли він знаходить п'ять адрес з однаковим текстом, йому треба вибрати одну для видачі, а решту вважати копіями. Вибирає він сам, за своїми ознаками, і не завжди так, як хотіли б ви. Тег canonical дає підказку: «з цих п'яти ось ця основна». Виглядає він так, у розділі <head>:

<link rel="canonical" href="https://site.ua/catalog/krisla/">

Важливо розуміти два моменти. Перший: це підказка, а не наказ. Google може її проігнорувати, якщо вважає, що ви помилилися, наприклад, вказали canonical на сторінку з іншим змістом. Другий: canonical не закриває сторінку від відвідувачів і не перенаправляє їх. Людина відкриє будь-яку з адрес і побачить контент, змінюється лише те, яка адреса потрапить у пошук і куди Google складе всі сигнали, зокрема посилання на дублі. Офіційний опис механізму є в документації Google про консолідацію дублікатів URL.

Canonical, 301 чи noindex: що обрати

Три інструменти вирішують схожу задачу («сховати зайве»), але поводяться по-різному. Плутанина між ними коштує найдорожче.

ІнструментЩо робитьВага посиланьКоли доречний
rel="canonical"Вказує основну версіюПереходить на канонічнуФільтри, UTM, сортування
301-редиректПеренаправляє всіхПереходить на нову адресуПереїзд, злиття сторінок
noindexХоває з пошукуНе передаєтьсяКошик, кабінет, пошук по сайту
  • Сторінку з rel="canonical" користувач бачить, усі адреси відкриваються.
  • Після 301 стара адреса одразу відкриває нову, для людей і роботів.
  • Сторінка з noindex відкривається, але з видачі випадає.

Просте правило: якщо сторінка потрібна людям, а Google ні, і в неї є «старша сестра» з тим самим змістом, це canonical. Якщо сторінка нікому не потрібна, це 301. Якщо сторінка потрібна людям, але аналога в неї немає і в пошуку їй нічого робити, це noindex.

Коли canonical потрібен: сім типових ситуацій

  1. Фільтри й параметри в інтернет-магазині. Адреса /krisla/?color=black&sort=price показує ту саму категорію, що й /krisla/. Без canonical Google бачить сотні варіантів однієї сторінки. Виняток: фільтри, під які ви свідомо робите окремі посадкові сторінки з власним текстом і попитом («чорні офісні крісла»); їм потрібен canonical на самих себе.
  2. Пагінація. Сторінки /blog/?page=2 не є дублями першої, у них інший список. Canonical із другої сторінки на першу ховає від Google усі статті, які лежать глибше. Кожна сторінка пагінації має посилатись сама на себе.
  3. http і https, www і без www. Чотири версії домену мають зводитись 301-редиректом до однієї, а canonical на кожній сторінці страхує, якщо десь редирект не спрацював.
  4. UTM-мітки й параметри реклами. ?utm_source=facebook, ?gclid=..., ?fbclid=...: адреса з міткою має canonical на чисту адресу. Це найчастіша причина, чому в індекс потрапляють десятки «рекламних» копій головної.
  5. Версії для друку й мобільні дублі. /article/print/ або m.site.ua посилаються на повну версію.
  6. Один товар у кількох категоріях. Якщо крісло відкривається і як /office/kreslo-x/, і як /sale/kreslo-x/, оберіть основний шлях і поставте його в canonical на обох.
  7. Крос-домен. Той самий текст на двох ваших сайтах або стаття, яку передрукував партнер: на копії ставиться canonical на оригінал. Google підтримує це між доменами, але з тією самою умовою: сторінки мають бути справді ідентичні.
Розробник налаштовує канонічні адреси для сторінок фільтрів інтернет-магазину за ноутбуком

Як перевірити, який canonical бачить Google

Те, що написано в коді, і те, що вибрав Google, це дві різні речі. У Search Console є інструмент «Перевірка URL»: вставте адресу в рядок угорі, і в блоці «Індексація» побачите два поля: «Канонічна URL-адреса, вказана користувачем» і «Канонічна за версією Google». Якщо вони збігаються, усе добре. Якщо ні, Google із чимось не погодився, і треба з'ясувати, з чим саме: найчастіше сторінки не ідентичні, або на «канонічну» веде редирект, або вона закрита від індексації.

Для масової перевірки підійде будь-який краулер на кшталт Screaming Frog: він показує canonical кожної сторінки і позначає ті, що посилаються не на себе. Швидка ручна перевірка: відкрити код сторінки (Ctrl+U) і пошукати rel="canonical". Якщо тегів два, це вже помилка. Ще одне місце, де може ховатися canonical, це HTTP-заголовок Link:, його видно в інструментах розробника на вкладці Network або через перевірку заголовків онлайн.

Залиште заявку

Вкажіть ваше ім'я та email, наші менеджери зв'яжуться з Вами найближчим часом
Надсилаючи форму, ви погоджуєтесь з політикою конфіденційності.

Вісім помилок із canonical, які коштують трафіку

За нашим досвідом аудитів, canonical у тому чи іншому вигляді зламаний десь на кожному третьому сайті, який до нас приходить. Ось що зустрічається найчастіше.

  1. Canonical на сторінку з noindex. Ви кажете Google «головна версія ось ця», а на ній стоїть заборона індексації. Сигнали суперечать один одному, і в результаті з пошуку зникають обидві сторінки.
  2. Ланцюжки і кільця. Сторінка А посилається на Б, Б на В, або А на Б, а Б назад на А. Google обробляє лише один крок і зрештою вибирає щось своє. Canonical має завжди вести на кінцеву сторінку, яка посилається сама на себе.
  3. Відносні адреси. href="/catalog/krisla/" замість повного https://site.ua/catalog/krisla/ формально працює, але при будь-якій помилці в базовому шляху перетворюється на щось на кшталт https://site.ua/catalog/catalog/krisla/. Тільки абсолютні URL.
  4. Canonical з усіх сторінок на головну. Класика шаблонів, де адресу прописали один раз у шапці. Результат: у пошуку залишається лише головна, а категорії й товари вважаються її копіями. Ми бачили магазини, які так втрачали майже весь пошуковий трафік за пару місяців.
  5. Різний canonical у HTML і в HTTP-заголовку. CMS ставить один, плагін кешування чи CDN додає інший. Google отримує дві підказки і ігнорує обидві. Лишіть одне джерело.
  6. Canonical на сторінку, що віддає редирект або 404. Після зміни структури URL старий canonical у шаблонах залишається, і всі сторінки вказують на адресу, якої вже немає.
  7. Canonical між різними мовними версіями. UK-сторінка з canonical на RU-версію (або навпаки) прибирає з пошуку одну з мов. Мовні версії зв'язують через hreflang, а canonical у кожної свій.
  8. Canonical на пагінації на першу сторінку. Описано вище: товари з другої й далі сторінок для Google перестають існувати, якщо на них немає інших шляхів.

Окремо про приховану помилку: canonical, який змінюється залежно від параметра. Сторінка /krisla/?page=3 має canonical /krisla/?page=3, а /krisla/?page=3&sort=price вже /krisla/. Логіка «зрізати лише частину параметрів» має бути прописана явно, інакше програміст зробить, як простіше. Усі ці речі стандартно входять до детального SEO-аудиту, і саме там їх варто ловити, а не після просідання позицій.

Команда обговорює звіт аудиту з дублями сторінок і помилками canonical на екрані в переговорній

Як впровадити canonical на популярних CMS

ПлатформаЯк ставитьсяНа що звернути увагу
WordPressYoast SEO або Rank MathДубль тега від теми, архіви
OpenCartЄ для товарів і категорійФільтри з route= і path=
ShopifyАвтоматичноНе переписувати тег у темі
MagentoОпція в конфігураціїLayered Navigation окремо
Власна розробкаУ шаблоні з чистого URLДозволені параметри в ТЗ
  • WordPress: у картці сторінки є поле «Канонічна URL» для ручного значення; перевірити сторінки тегів і архівів авторів.
  • OpenCart: для фільтрів потрібне доопрацювання або SEO-модуль.
  • Shopify: товар у колекції /collections/x/products/y сам посилається на /products/y.
  • Magento / Adobe Commerce: увімкнути «Use Canonical Link Meta Tag» для товарів і категорій.
  • Laravel, Next.js та ін.: тег генерується без query-параметрів, крім дозволених (наприклад page), покрити тестами.

На будь-якій платформі після впровадження варто пройтися краулером і перевірити три групи: сторінки фільтрів, пагінацію й адреси з UTM. Саме там найчастіше щось не так. У Query ми зазвичай робимо це в рамках технічної оптимізації разом із редиректами, robots.txt і sitemap, бо ці речі працюють лише в комплексі.

З чого почати

  • Відкрийте код головної, будь-якої категорії і будь-якого товару: чи є canonical, чи він абсолютний, чи веде на себе.
  • Додайте до адреси категорії ?utm_source=test і перевірте, чи canonical лишився чистим.
  • У Search Console у звіті «Індексація сторінок» подивіться на групу «Сторінка є копією. Канонічна версія вибрана Google, а не користувачем»: це список місць, де Google із вами не погодився.
  • Перевірте другу сторінку пагінації: canonical має вести на неї саму.
  • Якщо сайт на самописній CMS, попросіть розробника показати, звідки береться адреса в тезі, і зафіксуйте правила для параметрів письмово.

Інші статті

Інші послуги

Зв'яжіться з нами
Месенджери