Rel Canonical и как его правильно использовать с Cotonti
Популярные запросы: тема Omnis, плагин Pagelist, Cotonti 0.9.24.2, ЧПУ, Font Face
- 624 просмотра
- 30 ноября, 2023
- Обновлено: 30 ноября, 2023
- admin
- Время чтения: 5 минут
- 4 (Подробно)
Канонический URL является важным элементом поисковой оптимизации сайта. Его назначение состоит в том, чтобы – при наличии нескольких ссылок на одну и ту же страницу – сообщить поисковым системам, которая из них является главной.
Канонический URL адреса необходим только для правильной индексации сайта поисковой системой. Никакого отношения к пользовательскому фактору данный функционал не имеет.
Сразу же возникает вопрос: что это за случаи, когда нужен Canonical URL и можно ли обойтись без него? Об этом можно много и долго спорить, но главным является то, что данный функционал должен быть реализован в любом правильно работающем движке для веб-разработки. Ведь появление нежелательных дублей может быть совершенно не связано с вашими действиями, какими правильными они ни были.
В каких случаях появляются адреса-дубли
На первый взгляд, дублирующиеся адреса легко можно держать под контролем. На самом деле это далеко не так.
Внутренние дубли
Начнем с самого простого – с протокола. Сегодня наличие SSL-сертификата из разряда недоступной экзотики перешло в категорию обязательного требования. Поэтому необходимость в доступе по https обсуждать мы не будем. Вместо этого отметим, что если не предпринимать никаких действий, ваш сайт будет доступен по обоим протоколам – https и http:
https://sed.by http://sed.by
Уже возникает вопрос по главной странице. По мере создания внутренних страниц количество аналогичных вопросов начнет расти.
Аналогичную ситуацию вызовет пара “www / без www”. Для поисковых систем адреса
https://www.sed.by https://sed.by
представляют собой ссылки на два разных сайта. www здесь фактически выступает в роли поддомена.
Дальше – больше. При создании страницы можно указать для нее человекопонятный (семантичный) алиас. При этом такая страница будет доступна по обоим адресам:
https://sed.by/cot/ext/pagelist https://sed.by/cot/ext/42
И это только варианты с ЧПУ. “Сырые” ссылки на страницу также будут работать:
https://sed.by/index.php?e=page&c=ext&alias=pagelist https://sed.by/index.php?e=page&c=ext&id=42
Сочетание уже только этих четырех проблем сведет с ума любой поисковик. А мы еще только начали.
Например, вам захочется реализовать возможность размещения страницы не в одном, а в нескольких разделах. Для Cotonti Siena это невозможно из коробки, но вполне реализуемо через простой плагин. В итоге получим еще несколько вариантов. Например:
https://sed.by/premium-extensions/pagelist https://sed.by/discontunied/pagelist
Но это только часть проблемы, которая касается внутренних ссылок на сайте.
Внешние дубли
На сайт могут ссылаться системы контекстной рекламы, социальные сети, реферальные ресурсы и др. Все они часто добавляют параметры к урлу страницы, на которую ссылаются. Естественно, все эти ссылки видны поисковым системам. Они их обрабатывают и решают, которую выбрать в качестве главной:
https://sed.by/cot/ext/pagelist?campaign=twitter https://sed.by/cot/ext/pagelist?utm_source=google
Вдобавок к этому, существуют ресурсы, которые могут легально и с вашего согласия публиковать ваши материалы. В таких случаях также необходим инструмент для определения главной ссылки или ссылки на источник.
Как определить и использовать канонический URL
Оставлять решение о выборе главных URL’ов страниц на откуп поисковикам – слишком опрометчивый шаг. Поэтому в феврале 2009 года Google совместно с Yahoo и Microsoft предложили необходимый для этого инструмент:
<link rel="canonical" href="https://sed.by/about" />
Поскольку это элемент link, указывать его необходимо в блоке head.
В апреле 2012 года обсуждение нового свойства было завершено. Группа Internet Engineering Task Force (IETF) зафиксировала описание в документе RFC 6596.
Как поисковики работают с rel canonical
Главный вопрос всей нашей истории – каким образом наличие тега link с атрибутом rel=canonical влияет на то, какую страницу поисковая система покажет в ответ на поисковый запрос в случае если источников будет несколько. На самом деле, решающим фактором rel canonical не станет, особенно если речь идет о кросс-доменных ссылках. В большей степени поисковая система примет соответствующее решение с учетом комплекса фактором, одним из которых является и канонический урл.
Вот выдержка из официального документа, опубликованного в базе знаний Google:
Канонический URL адреса является не [обязательной] директивой, а рекомендацией, которую алгоритм ранжирования обязательно примет к сведению…
Как с каноническими элементами работает Cotonti Siena
Поэтому сразу после установки движка на хостинг и создания для него SSL-сертификата рекомендуем включить опцию
$cfg[‘force_https’] = true;
и настроить переадресацию с http на https. Аналогичным образом необходимо поступить и с парой www / без-www. Это можно сделать в файле .htaccess и объединить два решения в одно:
RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L] RewriteCond %{SERVER_PORT} !^443 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ https://sed.by%{REQUEST_URI} [R=301,L] RewriteCond %{HTTP:X-SSL-Emu} !on RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ https://sed.by/$1 [R=301,L]
На этом область нашего влияния заканчивается. Остальное будет делать Cotonti. Вам лишь необходимо убедиться, что в блоке head шаблона header.tpl присутствует конструкция
<!-- IF {HEADER_CANONICAL_URL} --> <link rel="canonical" href="{HEADER_CANONICAL_URL}"> <!-- ENDIF -->
Как еще можно настроить канонический URL
Первое, что приходит в голову, это 301 редирект. Поисковики любят этот простой способ, который позволяет не только избавляться от нежелательных адресов страниц, но и, формально, определять за счет этого канонический URL. Правда возникает логичный вопрос:
Что правильнее – rel canonical или 301 редирект?
На самом деле, правило здесь простое: используйте редирект всегда, если только этому не препятствуют технические причины. Правило одновременно и простое и сложное. Поэтому необходимо пояснение.
- Если разные по иерархии или вложенности страницы имеют один и тот же контент, необходимо использовать rel canonical.
- Если это технически абсолютно идентичные дубли (например, страница, к которой по какой-то причине не применился ЧПУ), необходимо использовать 301 редирект.
На ум приходит также robots.txt, но здесь также все непросто: заблокировав в нем конкретный URL, мы запретим ботам переход по соответствующей ссылке и индексацию целевой страницы. Это будет означать отказ от всех сигналов ранжирования от данной страницы, которые посредством дублирования контента были бы переданы оригинальной странице с помощью rel canonical. Это негативно скажется на ранжировании страницы с главным URL’ом, поэтому не стоит блокировать для поисковиков переход по таким ссылкам. Вместо этого используйте канонический УРЛ.
Последнее, о чем стоит упомянуть: не удаляйте страницы с неканоническими URL, как бы вам этого ни хотелось. Они могут играть важную роль в перелинковке или передаче веса другим локациям вашего сайта. Например, ваш потенциальный клиент добавил ссылку на вашу страницу в соцсети. Если через какое-то время он решит воспользоваться этой ссылкой, что предложит ему ваш сайт? Страницу 404? Вряд ли это будет правильно. А вот 301 редирект станет идеальным решением.
Выводы и заключение
Rel canonical – важный инструмент для поисковой оптимизации сайта, который помогает поисковым системам правильно определить главный URL в ситуациях, когда их несколько. Это не обязательная к исполнению поисковиками директива, а скорее один из факторов, который обязательно принимается к сведению алгоритмами ранжирования при формировании поисковой выдачи.
Canonical URL можно (и нужно) использовать совместно с 301 редиректом в ситуациях, которые мы описали в нашей публикации. С их помощью вопрос канонических элементов сайта закрывается практически полностью.
В теории если вы с кем-то договариваетесь на размещение ваших материалов на стороннем ресурсе, надо убедиться в том, что rel canonical указывает на оригинальный урл с вашего сайта. Другими словами, вы сразу говорите поисковику: "Этот материал -- перепечатка с вот этого сайта". Т.е. вы меняете пользовательский фактор на передачу веса.
Вопрос при этом состоит в том, понимают ли все поисковики этот трюк.
Не совсем понятно про кросс-доменные каноникалс. Как и для чего их надо указывать?
Яндекс не возражает) Были вопросы по кросс-доменному использованию rel canonical. Но в таких случаях и Google ничего конкретного не утверждает. Так что все работает и у Платона!
Познавательно. Яндекс полностью поддерживает rel canonical?
Новый комментарий