Главная » SEO новости

Атрибут rel=canonical. Что такое каноническая ссылка?


rel=canonical

В этой статье я расскажу о предназначении атрибута rel=canonical и о борьбе с дублирующим контентом на сайтах uCoz.


Если одна страница доступна по нескольким URL адресам, поисковые системы рекомендуют использовать канонические ссылки, указывающие адрес основной страницы – предпочтительный для индексации.

Задаются они с помощью тега LINK с атрибутом rel="canonical" в HEAD страницы и поддерживается всеми известными поисковыми машинами, в том числе Яндексом и Google. Атрибут rel="canonical" помогает не только исключить из выдачи все дубликаты страницы, но и правильно сконцентрировать ценный ссылочный вес.


Что такое каноническая страница?

Иногда одна и та же страница сайта доступна по нескольким URL адресам. Например:

http://ваш-сайт.ru/1-1-2
http://ваш-сайт.ru/publ/zametki/statiya1
http://ваш-сайт.ru/publ/obzory/statiya1
http://ваш-сайт.ru/publ/rekomendacii/statiya1
http://ваш-сайт.ru/statiya1/1-1-2

Для вас это одна страница с одним контентом, для поисковой системы – 5 разных страниц дублирующих контент. Поисковые машины очень негативно относятся к дублям и могут не позволить вашему сайту занимать достойные позиции, ссылаясь на то, что сайт не содержит (или мало содержит) уникального контента.

Причин появления дублей может быть несколько, но самая распространенная – это вхождение материала сразу в несколько категорий (как в вышеуказанном примере). Именно для таких случаев поисковые системы стали поддерживать атрибут rel=canonical, чтобы вебмастер сам смог указать предпочтительную (основную) страницу и заставить робота игнорировать все другие урлы дублирующие ее. Использование атрибута очень благоприятно влияет на продвижение, даже если вы НЕ используете функцию вхождения материала в несколько категорий (иногда дубли возникают вследствие недостатков самой CMS).


Как указать каноническую страницу?

Это делается одинаково для всех сайтов и всех CMS. Вам необходимо поместить в код страницы в блок HEAD следующую запись:


<link rel="canonical" href="канонический URL" />

Где «канонический URL» - это полный адрес страницы, которую вы считаете основной для индексации.



Установка атрибута для главной страницы, страниц разделов и категорий.

Как правило, вебмастера ставят атрибут rel=canonical только на страницы материалов (динамические страницы), так как считают, что у статических страниц дублей не бывает (одна категория не может входить в несколько разделов). Однако у разных CMS (в том числе и uCoz) есть свои недостатки касающиеся этого вопроса. И даже если у категории фактически не может быть дублей, то на практике они появляются, например, когда вы листаете (переключаете) страницы в пределах раздела или категории:

1 страница - http://ваш-сайт.ru/load
2 страница - http://ваш-сайт.ru/load/0-2
3 страница - http://ваш-сайт.ru/load/0-3
и т.д.

Несмотря на закрытие переключателей от индексации, страницы /load/0-2 и /load/0-3 также будут индексироваться поисковиками, а главное – забирать ценный вес с основной страницы раздела /load.


Также для поисковой системы ссылки со слешом на конце и без него также являются дублями:

http://ваш-сайт.ru/load
http://ваш-сайт.ru/load/

Чтобы этого не допустить – зайдите через панель управления uCoz в управление дизайном и разместите на нужных страницах разделов и категорий в блоке HEAD атрибут rel="canonical" с соответствующим адресом URL, например:

Страница раздела:

<link rel="canonical" href="http://ваш-сайт.ru/load" />

Страницы категорий:

<link rel="canonical" href="http://ваш-сайт.ru/load/kategoriya1" />
<link rel="canonical" href="http://ваш-сайт.ru/load/kategoriya2" />
<link rel="canonical" href="http://ваш-сайт.ru/load/kategoriya3" />

Как вывести уникальные мета-теги на страницах категорий с помощью идентификаторов страниц и условных операторов я написал в этой статье.

Для главной страницы сайта rel=canonical можно не указывать, так как в файле роботс.тхт мы уже указали основной домен в директиве HOST. Но даже если вы его пропишите – хуже точно не будет.


Установка атрибута rel=canonical для страниц материалов.

Наверное, эта работа является самой трудоемкой и самой ответственной, потому что именно страницы материалов входят в несколько категорий (если вы используете данную функцию) и рождают огромное число дублей.

В интернете я видел статью, где давали рекомендацию: для установки атрибута rel=canonical на страницах материалов достаточно указать в качестве ссылки переменную $ENTRY_URL$ или $REQUEST_URI$.

Типа так:

<link rel="canonical" href="http://ваш-сайт.ru/load/$REQUEST_URI$" />
Или
<link rel="canonical" href="http://ваш-сайт.ru/load/$ENTRY_URL$" />

Это не правильно! При использовании атрибута наша задача САМОСТОЯТЕЛЬНО указать поисковому роботу ОСНОВНУЮ страницу, а не ту которую посчитает «нужной» система управления контентом. Поясню:

Переменная $REQUEST_URI$ - отображает полный адрес ТЕКУЩЕЙ страницы сайта относительно доменного имени. То есть, если материал входит в две категории, например в catA и catB, то значение данной переменной (ссылка) будет меняться в зависимости от того в какой категории мы находимся:

Если в категории A, то $REQUEST_URI$ = /catA/material
Если в категории B, то $REQUEST_URI$ = /catB/material

В этом случае поисковый робот просто войдет в заблуждение, типа «вчера посетил страницу канонической была страница категории A, а сегодня стала B…» и так каждый раз при переходе на материал по ссылкам из категорий. Это не решает проблему с дублями. Использовать $REQUEST_URI$ категорически нельзя!

Переменная $ENTRY_URL$ - отображает URL страницы материала, признанной движком uCoz по умолчанию. Проще говоря, все категории сортируются по порядку (от 1 до …) и uCoz определяет значение переменной $ENTRY_URL$ именно по первой категории списка. Поясню:

При добавлении материала вы выбираете несколько категорий, допустим catA, catB и catC. Вы предполагаете, что ваш материал больше подходит к категории catC (отмечаете ее первой, потом все остальные), однако система автоматически сформирует из переменной $ENTRY_URL$ ссылку /catA/material, потому что она первая в списке.

Даже если вы сначала добавите материал в категорию catC и сохраните его, а после этого откроете режим редактирования и выберите остальные категории – все равно система автоматом сформирует каноническую ссылку с той категорией, которая стоит первой в списке. Вы можете изменить порядок сортировки категорий в панели управления, но в этом случае «поплывут» каноникалы на других страницах материалов.

Использование переменной $ENTRY_URL$ решает проблему с дублями и ее можно использовать для атрибута rel=canonical, но последствия его работы могут сыграть против успешного продвижения тех категорий, которые находятся последними в списке. Снова постараюсь пояснить.

Как видит поисковая система ваш сайт:

  1. У вас есть 3 категории: catA, catB и catC
  2. Вы добавили на сайт 3 материала: material-1, material-2 и material-3. При этом каждый материал входит в каждую категорию.
  3. В итоге вы считаете, что у вас есть 3 категории по 3 материала в каждом.
  4. Поисковый робот соберет информацию и получит следующие ссылки для индексации:

    http://ваш-сайт.ru/catA/material-1
    http://ваш-сайт.ru/catA/material-2
    http://ваш-сайт.ru/catA/material-3

То есть по мнению поисковой системы вы имеете только 1 заполненную категорию catA – все остальные (catB и catC) пустые и не содержат материалов… Как вы понимаете, вряд ли Яндекс или Google будут высоко ранжировать пустые категории…


Как правильно избавиться от дублей страниц материалов?

Если мы решили делать сайт для людей и хотим добиться справедливого ранжирования, то к своему детещу нужно также относиться по-людски и, конечно же, учитывать требования поисковых систем. Решение проблемы с дублями страниц достаточно простое – вам придется при каждом добавлении материала ВРУЧНУЮ указывать значение атрибута rel=canonical и это единственное правильное решение!

Но перед тем как его указать, нужно немножко настроить для этого сайт. Чтобы вам было более понятно, попробую описать пошагово:

1. В нужном модуле (к примеру, «Каталог файлов») активируем дополнительное поле. Если все доп. поля заняты – используйте стандартные и свободные переменные, типа «$DOCPAGE_URL$» отвечающей за вывод ссылки на документацию к материалу (ее редко кто использует по прямому назначению). Поле обязательным для заполнения НЕ ДЕЛАЕМ!

2. В замене стандартных надписей сразу же переименовываем поле на свое усмотрение (например, так и назовем: rel="canonical").

3. На странице материала и комментариев к нему в блоке HEAD установим тег LINK с атрибутом, который будет выводить нужную ссылку:

<link rel="canonical" href="http://ваш-сайт.ru/load/$DOCPAGE_URL$" />

4. Теперь при добавлении материала вы увидите поле с именем rel="canonical", которое «попросит» вас ввести значение, однако вам его нужно проигнорировать! Заполните сначала все другие поля и выберите ту категорию, которую хотите считать основной. Другие категории пока отмечать НЕ НУЖНО! Только 1 основную!

5. Добавьте материал на сайт (на страницу материала можно не переходить – вместо урла с ссылкой на категорию там будет очередной дубль типа http://ваш-сайт.ru/load/1-2-33).

6. Перейдите в материал через категорию, в которую он был добавлен, чтобы ссылка в адресной строке браузера приобрела следующий вид: http://site.ru/load/kategoriya/material-1

7. Теперь скопируйте ту часть ссылки, которая должна подставиться в атрибут canonical (в нашем случае это kategoriya/material-1)

8. Теперь откройте режим редактирования материала и в поле rel="canonical" вставьте эту самую скопированную часть ссылки. Выберите дополнительные категории и снова сохраните материал.

9. Готово! Перейдите на страницу материала, откройте исходный код и вы увидите следующую картину:

<link rel="canonical" href="http://site.ru/load/kategoriya/material-1" />
Независимо от того в какой категории вы находитесь – значение атрибута rel="canonical" всегда останется неизменным, а поисковым системам вы сможете доказать что все категории сайта равномерно наполняются контентом!

Эта процедура (сохранить-редактировать-сохранить) забирает не более 30 секунд, однако результат вас очень порадует. Вы навсегда забудете, что такое дубли страниц и сможете без риска использовать функцию uCoz «Вхождение материала в несколько категорий».


Канонические ссылки помогают избавиться от дублей страниц и сконцентрировать статический вес в нужном направлении. Благодаря атрибуту rel=canonical, поисковые системы начнут индексировать только реально существующие страницы и при анализе сайта вы будете видеть только реальное количество уникальных страниц вашего сайта (а не так как раньше – добавили 100 материалов, а в индексе Google попали уже 500 страниц, из которых ни одна не занимает должной позиции в выдаче).


Одно небольшое замечание. Когда вы добавляете материал в несколько категорий, движок uCoz формирует в файле sitemap.xml все ссылки материала со всеми входящими категориями. То есть, если вы добавили 1 материал в 3 категории – в сайтмапе сформируется 3 ссылки, которые поисковая система получит в очередь на индексацию, но по итогу индексироваться будет только 1 ссылка и 2 исключаться. Об этих страницах вы можете узнать в панели Яндекс.Вебмастера в пункте «Исключенные страницы» с пометкой «Документ является неканоническим». Если такие страницы появятся – значит вы все сделали правильно.
Читайте так же:

Комментариев: 12
23.10.2016 в 10:36

в SEO модуле галочка "Отключить 301 редирект для страниц пагинации" отключена, может стоит ее включить?
23.10.2016 в 10:34

Пока использую SEO модуль, rel="canonical" проставляет на автомате. И в гугле дублей не наблюдается, что очень хорошо) Но с яндексом совсем другая история. Дублей типа http://site.ru/load/?page2, http://site.ru/load/?page3, http://site.ru/load/?page4 там очень много. Иногда они стоят выше в поиске за главную страницу модуля/категории. Не подскажите как там бороться с дублями? Возможно еще какие то способы...
26.09.2016 в 07:30

спасибо за статью, а дубли на сайте юкоз с категориями файлов надоели... Позиции упали ужас с этим дублями.
25.07.2016 в 00:22

Приветствую.
Очень полезная статья, а главное доступно даже для такого чайника, как я. Для меня полезна была, та часть, где нужно создать доп поле и в ручном режиме редактировать новость с указанием основной категории. Очень здорово все получается.
Ну у меня вопрос. На dle такой метод так же подходит?
04.12.2014 в 06:00

Полезный сайт))
12.11.2014 в 16:28

Вот я с ними переписывался: http://joxi.ru/BA043wNTBJGBAy  http://joxi.ru/gmveJEzuxL7Bra

Если найдется какое-нибудь решение, был бы рад если сообщили бы вы мне)
Может подключить этот новый сео-модуль тогда все станет как надо?
12.11.2014 в 15:28

Да нет же! вы меня не поняли наверно. Каноническая ссылка то стоит, куда ей деваться. Дело не в этом, а вот в чем: из любой категории заходим на страницу материала, из канонической или нет, но перенаправляет-то на страницу категории которая идет по списку первая из добавленных, раньше такого не было, просто создавались дубли по количеству выбранных категорий, а теперь еще к тому же перенаправление сделано. Соответственно все канонические ссылки проставленные в материалах "конфликтуют" с этим перенаправлением и поисковик будет в недоумении, ссылка каноническая стоит одна, но редирект на другую...
Вот и не знаю что теперь делать..
12.11.2014 в 09:51

Указываю в ручную при редактировании материала, в общем способом который вы подсказали.
11.11.2014 в 16:39

Я бы тоже с радостью использовал бы ваш метод, но это теперь не возможно так как происходит перенаправление на первую категорию, соответственно указывать каноническую страницу бесполезно, или я чего то не понимаю?..
10.11.2014 в 22:03

Не подскажете что  в таком случае лучше сделать, убрать канонические ссылки или оставить?
1 2 »


Добавлять комментарии могут только зарегистрированные пользователи.

<- Регистрация ->

Быстрый вход:


Полная
версия сайта

Сайт управляется системой uCoz