Использование rel="canonical" для борьбы с дублями на uCoz

Все мы знаем что uCoz не идеальная CMS, но прелесть этой системы в ее гибкости. При помощи нехитрых манипуляция можно улучшить очень многое. В своих статьях я уже описывал несколько багфиксов, которые рекомендую сделать: правильные тайтлы, апдейтим  robots.txt, уникальные  метатеги.

Сегодня расскажу еще об одном "финте", который однозначно будет полезен вашему сайту:). Речь пойдет об атрибуте  rel="canonical", а если точнее о его использовании для удаления дублей.

Немного теоретической информации

Все мы знаем что поисковые системы очень негативно реагируют на не уникальную, дублированную информацию. По своей природе дубли можно условно поделить на внешние и внутренние. В рамках данной статьи я расскажу как несколькими строками кода дать рекомендации поисковым системам и снизить возможный негатив от наличия "кучи" дублей.

Итак, поехали...

О самих дублях и о их негативном влиянии мы уже поговорили. Как их искать я уже детально описывал. Теперь самое главное - от куда они берутся. Если говорить о внутренних дублях - это результат некорректной работы движка (CMS) сайта. В случае с использованием uCoz мы не можем полноценно пофиксить все на уровне  "движка". Поэтому багфиксы делаются через правильные рекомендации ПС как индексировать наш сайт. Для этого сами поисковые системы предусматривают целый ряд инструментов (тегов, атрибутов и т.д.) об одном из них и пойдет речь дальше.

 Атрибут rel="canonical"

rel="canonical" - это атрибут тега <link>. Если коротко - он используется для указания поисковым системам какой из однотипных урлов считать основным (каноническим) и оставлять его в поисковой выдаче. Более детально об этом атрибуте можно узнать в официальном хелпе от Яндекса и Google.

Грубо говоря при помощи этого кода вы можете указать поисковым системам какой урл будет считаться основным, а они уже на этом основании смогут адекватно "отсечь" все лишнее. Именно по этому он нам и будет интересен.

Использование для сайта на uCoz

Cистема uCoz - не идеальная CMS-ка. И вебмастер\владелец сайта, должен это понимать и вовремя принимать меры. Те кто работают с uCoz постоянно наверняка уже выработали системный подход, но для новичков я все же расскажу как правильно внедрить rel="canonical" на uCoz. Напомнь, что Он важен, так как с его помощью можно правильно расставить приоритеты между однотипными страницами.

Модуль "Страницы сайта":

Не так давно я уже описывал об устранении ssid дублей для главной страницы (там кстати один их пунктов был именно атрибут rel="canonical").

Еще раз напомню: правильная главная страница моего сайта - "http://uguide.ru/", а в индексе помимо нее попадали страницы вида "http://uguide.ru/?ssid=657104734407465007246". 

Для того, чтобы задать канонический урл для каждой статической страницы необходимо: зайти в "Редактор страниц" - "Страницы сайта" и добавить между <head> и </head> код:

Код
<?if($URI_ID$='page1')?> <link rel="canonical" href="$HOME_PAGE_LINK$" /> <?endif?>

где page1 - ID вашей страницы; мой url замените на свой

Таким образом все генеренные ssid-страницы будут сигнализировать ПС что их  каноническим адресом является "http://uguide.ru/". 

Аналогичным образом можно задать канонические урлы для любой статической страницы вашего сайта.

Для проверки нажимаем на главной странице правую кнопку мыши и нажимаем "Просмотр кода страницы":

Модуль "Новости сайта"

У данного модуля в индекс попадают страницы с приставками "&post=-28741529_11198"

Пример:

http://uguide.ru/news/ucoz_shablon_dlja_detskogo_sada/2012-11-29-31 - правильный адрес

http://uguide.ru/news/ucoz_shablon_dlja_detskogo_sada/2012-11-29-31&post=-28741529_11198 - дубль

По-хорошему по этим адресам должна отдаваться 404 ошибка, но так как мы это сделать не можем - просто расставляем приоритеты какой из урлов считать "правильным".

Для этого: идем в "Новости сайта" - "Страница материала и комментариев к нему" и после <head> вставляем:

<link rel="canonical" href="$ENTRY_URL$" />

где $ENTRY_URL$ - оператор, который выводит правильную ссылку на страницу материала

В результате все "мусорные страницы" материала будут содержать правильный канонический адрес:

Этот же прием используется и для модулей, "Блог", "Каталог статей", "Каталог файлов", "Каталог сайтов", "Доска объявлений", "Фотоальбомы".

Теперь проверим актуальность данного вопроса и рассмотрим "вживую" какой-то сайт. Для этого мы возьмем официальный блог uCoz - http://blog.ucoz.ru

Как мы уже знаем в этом модуле генерятся линки вида: &post=- 

Проверяем это и находим массу подтверждений, к примеру вот нашел 3 дубля:

http://blog.ucoz.ru/blog/pochta_dlja_domena_at_ua/2012-09-17-237 - верный url

http://blog.ucoz.ru/blog/pochta_dlja_domena_at_ua/2012-09-17-237&post=-27992109_479 - дубль-1

http://blog.ucoz.ru/blog/pochta_dlja_domena_at_ua/2012-09-17-237&post=-28741529_7431 - дубль-2

Путем добавления <link rel="canonical" href="$ENTRY_URL$" /> можно было бы расставить приоритет между урлами и отсечь лишнее: 

Думаю приведенных выше примеров достаточно. Теперь вы имеете представление как правильно внедрить rel="canonical" и для чего это делается. Если же у вас возникнут какие-то трудности или дополнительные вопросы по данному материалу - можете задавать их через социальные сети или прям на этом сайте...

  • Обновлено:
    2013-02-18
  • Автор:
  • Оцените статью:
    9.6/10 из 52

no avatar

Комментариев:9

нет аватара
9 uid Алексей Козлов • 20:23, 2016-03-29
Доброго времени. Не подскажите а в Интернет-Магазине что делать? Разобраться не могу. Появилось очень много дублей. То есть страницу товара desc и страницу комментария comm считается на дубль. Вот как исправить данную проблему? За ранее благодарен за ответ.
нет аватара
8 uid Никита Михайленко • 12:03, 2016-03-06
Внизу есть переключатель страниц и тайтлы везде одинаковые, гуглу это не нравится, страницу дофига и прописывать на каждой странице page id 1 не есть удобно, что делать?

http://gta-gaming.ru/
uguide.ru
Вот пост как пронумеровать страницы навигации
admin1339
7 uid Александр Хрол • 18:07, 2015-07-22
Нашел решение как прописать все страницы сайта правильно, проверьте:

<?if($URI_ID$='page1')?>
<link rel="canonical" href="$HOME_PAGE_LINK$" />
<meta name="description" content="">
<meta name="keywords" content="">
<?else?>
<link rel="canonical" href="$MODULE_URL$" />    
<?endif?>

получается на главной выводит - главную ($HOME_PAGE_LINK$) ... а на всех остальных выводиться ссылка страницы ($MODULE_URL$)
нет аватара
6 uid Андрей • 15:16, 2014-10-18
получается, rel="canonical" следует добавлять и в разделы, и в категории и в модули с такими переменными, как  $SECTION_URL$, $CAT_URL$, $MODULE_URL$ ?
нет аватара
4 uid Андрей • 14:03, 2014-10-18
в фотоальбоме-стр с полной фотографией, как будет правильно - $ENTRY_URL$ или $PHOTO_URL$ для rel="canonical"
uGuide
5 uid Дмитрий Луценко • 14:18, 2014-10-18
Правильно $ENTRY_URL$
нет аватара
1 uid Leonid Todorenko • 17:39, 2014-09-15
А что делать в такой ситуации http://todtech.net/publ/sotovye/obzor_smartfona_bqs_princeton_3500/2-1-0-21
 и http://todtech.net/publ/obzor_smartfona_bqs_princeton_3500/2-1-0-21, те инфа вподразделе "sotovye" и просто в "publ" одна и та же, как в такой ситуации выставить "canonical" - ума не приложу...
Не знаю можно ли у вас тут спамить линками, извиняйте если что.
uGuide
2 uid Дмитрий Луценко • 19:03, 2014-09-15
Devildog-leo, ставьте как обычно: тыц.
Если у вас один и тот же материал добавлен в несколько категорий, то каноническим будет считаться только один урл материала (с урлом той категории, которая идет первая)
нет аватара
3 uid Leonid Todorenko • 13:09, 2014-09-16
Попробуем, категория то одна - просто они все имеют ссыль и через категорию и напрямую от publ
Добавить комментарий