
Задаются они с помощью тега 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» - это полный адрес страницы, которую вы считаете основной для индексации.
Внимание! Указывать обязательно полный адрес с http:// и доменом!
<link rel="canonical" href="http://домен.ru/publ/zametki/statiya1"/>
Установка атрибута для главной страницы, страниц разделов и категорий.
Как правило, вебмастера ставят атрибут 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.
Наверняка вы переходили из поисковой выдачи на сайты uCoz (по самым НЧ запросам), где вам открывалась не главная страница раздела (первая страница), а какая-то более глубокая в его пределах (видно по переключателю).
Также для поисковой системы ссылки со слешом на конце и без него также являются дублями:
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 исключаться. Об этих страницах вы можете узнать в панели Яндекс.Вебмастера в пункте «Исключенные страницы» с пометкой «Документ является неканоническим». Если такие страницы появятся – значит вы все сделали правильно.