Canonical URL — это элемент HTML, определяющий предпочтительный адрес веб-страницы, когда один и тот же контент доступен по нескольким URL. В современном веб-разработке правильное использование canonical имеет критическое значение для SEO и предотвращения дублирования контента.
Ключевая цель: сообщить поисковым системам, какой URL является “основным” для конкретного контента, чтобы избежать потери рейтинга из-за дублированных страниц.
<link rel="canonical" href="https://example.com/page" />
Этот тег помещается в <head> документа. Атрибут
href указывает на канонический URL. Даже если страница
доступна по другим адресам, поисковые системы будут учитывать только
указанный URL как основной источник контента.
Lighthouse — это инструмент автоматического аудита веб-страниц, разработанный Google, который проверяет производительность, доступность, SEO и прогрессивные веб-приложения. Проверка canonical URL в SEO-аудите Lighthouse помогает выявить:
<link rel="canonical">Пример ошибки: страница доступна по
https://example.com/page и
https://www.example.com/page, но canonical указывает только
на один из адресов. Lighthouse помечает это как потенциальную
проблему.
Canonical URL играет роль в агрегировании сигналов ранжирования для дублированных страниц. Без корректного указания canonical могут возникнуть следующие проблемы:
Рекомендации по созданию canonical URL:
https://) и домен.www или без, с окончанием слеша или без).?utm_source не должны включаться в canonical, если
они не создают уникальный контент.<link rel="canonical" href="https://example.com/article" />
В одностраничных приложениях (SPA) canonical URL особенно важен, так как URL может меняться без перезагрузки страницы. Lighthouse проверяет, что canonical обновляется корректно при смене состояния приложения.
Пример для React или Vue:
useEffect(() => {
const link = document.querySelector("link[rel='canonical']") || document.createElement('link');
link.setAttribute('rel', 'canonical');
link.setAttribute('href', window.location.href);
document.head.appendChild(link);
}, [location.pathname]);
Такой подход гарантирует, что каждая “виртуальная” страница SPA имеет уникальный canonical URL, предотвращая дублирование.
Lighthouse анализирует HTML и выдает следующие рекомендации:
В отчете SEO-аудита можно увидеть ссылку на каждую страницу и сравнение canonical с текущим адресом.
Использование canonical URL в связке с Lighthouse позволяет поддерживать чистую структуру сайта, минимизировать ошибки SEO и контролировать индексирование страниц, обеспечивая стабильное ранжирование и корректное распределение ссылочного веса.