Канонічний URL: проблема, яку легко не помітити навіть на добре зробленому сайті

За останні двадцять років роботи з сайтами я не раз переконувався, що найбільше часу доводиться витрачати не на очевидні помилки. З битими посиланнями все просто — відкрив сторінку, побачив проблему, виправив. Зі швидкістю завантаження теж усе більш-менш зрозуміло: є конкретні метрики, інструменти та рекомендації.

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

Кілька місяців тому перевіряв один WordPress-проєкт. Нові сторінки регулярно публікувалися, контент був якісним, серйозних технічних помилок майже не знаходилося. Проте частина матеріалів уперто не хотіла нормально індексуватися. У Google Search Console поступово накопичувалися повідомлення про дублікати, хоча на перший погляд жодних дублів не було.

Причина виявилася доволі банальною — канонічний URL.

Саме той тег, про який більшість власників сайтів згадує лише тоді, коли вже виникають проблеми.

Коли канонічний URL справді потрібен

У теорії все виглядає просто. Якщо одна й та сама сторінка доступна за кількома адресами, потрібно підказати Google, яку версію вважати основною.

Наприклад:

example.com/product
example.com/...​duct/?utm_source=facebook
example.com/product/?ref=newsletter

Для людини це одна й та сама сторінка. Для пошукової системи — різні URL.

Схематичне представлення того, як пошукові системи визначають основну версію сторінки за допомогою канонічного URL.

Саме для таких випадків і використовується канонічний URL.

На практиці ж подібних ситуацій значно більше. Особливо часто вони трапляються в інтернет-магазинах, де з’являються параметри сортування, фільтрації або рекламних кампаній.

Зазвичай сучасні SEO-плагіни вирішують це автоматично, тому про канонічні адреси можна роками не згадувати. Саме тому їхні помилки часто залишаються непоміченими.

Як ми шукали проблему

У тому проєкті мене насторожила одна дрібниця. Частина нових сторінок залишалася відсутньою в пошуку навіть через кілька тижнів після публікації. При цьому робот Google їх відвідував, карта сайту працювала коректно, а внутрішня перелінковка не викликала запитань.

Почали перевіряти сторінки вручну.

І тут з’ясувалося, що після одного з оновлень налаштувань сайту канонічний URL почав формуватися некоректно. Для відвідувачів абсолютно нічого не змінилося. Сайт працював так само, як і раніше.

Але Google отримував сигнал, що основною є інша адреса.

Не дивно, що частину сторінок він вирішив не показувати у видачі.

Чому ця проблема неприємна

Мене завжди дивувало, наскільки маленька технічна деталь може впливати на великий сайт.

Якщо у вас двадцять сторінок, помилку ще можна швидко знайти. Якщо їх кілька сотень або кілька тисяч, ситуація вже зовсім інша.

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

Саме через це канонічні URL я перевіряю навіть тоді, коли замовник звертається з абсолютно іншою проблемою.

Те, що зустрічається найчастіше

За останні роки я бачив різні варіанти.

Іноді після перенесення сайту канонічні адреси продовжували вказувати на старий домен.

Був випадок, коли весь сайт посилався канонічним тегом на головну сторінку. Причому власник дізнався про це випадково лише через кілька місяців після запуску.

В інтернет-магазинах регулярно трапляються конфлікти між пагінацією, фільтрами та канонічними URL. З боку все виглядає нормально, але для пошукової системи сигнали починають суперечити один одному.

Іноді проблема виникає навіть після встановлення нового SEO-плагіна або зміни теми оформлення. Саме тому я завжди рекомендую перевіряти технічні налаштування після будь-яких серйозних змін на сайті, навіть якщо вони здаються незначними.

Як перевірити канонічний URL

Найпростіший спосіб — переглянути вихідний код сторінки та знайти тег:

<link rel="canonical" href="https://example.com/page/" />
Він повинен вказувати саме на ту адресу, яку ви вважаєте основною.

Також допомогти можуть:

  • Google Search Console;
  • URL Inspection Tool;
  • Screaming Frog;
  • Ahrefs Site Audit;
  • Sitebulb.

Для невеликих сайтів часто достатньо ручної перевірки кількох сторінок. Якщо ж мова йде про великий інтернет-магазин або корпоративний портал, краще одразу використовувати спеціалізовані інструменти.

Чи завжди Google дотримується канонічного URL

Ні.

І це одна з причин, чому тема викликає плутанину навіть серед досвідчених власників сайтів.

Google розглядає канонічний URL як рекомендацію, а не як безумовну команду. Якщо пошукова система вважає, що інша сторінка краще підходить на роль основної, вона може проігнорувати вказаний тег.

Саме тому важливо, щоб усі сигнали були узгодженими:

  • карта сайту повинна містити ті самі URL;
  • внутрішні посилання мають вести на канонічні сторінки;
  • не повинно бути зайвих дублів;
  • структура сайту має залишатися логічною.

Невелике спостереження з практики

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

Проте вже після запуску виявилося, що частина сторінок продовжувала використовувати старі канонічні адреси. На роботу сайту це ніяк не впливало, але пошуковим системам знадобився додатковий час, щоб правильно зрозуміти структуру ресурсу.

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

Висновок

Чесно кажучи, канонічний URL навряд чи можна назвати найцікавішою темою для обговорення. Це не новий фреймворк і не чергова модна технологія. Проте саме такі дрібниці дуже часто визначають, чи буде сторінка нормально індексуватися.

Тому якщо після запуску нового сайту або міграції починають з’являтися дивні повідомлення в Search Console, я б радив не обмежуватися перевіркою robots.txt чи карти сайту. Іноді проблема ховається в одному рядку коду, який більшість користувачів ніколи не бачить.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
<link rel="canonical" href="target="_blank">example.com/...age/">

Щось тут нiби-то не так 🤔

Дякую, ви праві 🙂 Допустив помилку в прикладі коду. Тег canonical не містить target="_blank". Спробую відредагувати статтю.

Підписатись на коментарі