Audiophile's Blog
Логин:Пароль:


Забыл пароль | Регистрация (убрать всю рекламу)
О сайте | Ликбез | Словарь | Audiophile's Testroom | Поддержать | Контакты
Разделы
Поиск по сайту
Популярное
Персональная настройка
Настройка звука онлайн (foobar2000, драйвера, Windows), создание персональных сборок foobar2000.

Контакты

Случайный опрос
Какой битрейт (средний) вы считаете оптимальным для lossy кодирования?
Всего ответов: 5879
Полезный софт
Opera QIP 2010 Download Master µTorrent
Ace Utilities AIDA64 SpeedFan 7-Zip
ESET NOD32 FileZilla Media Player Classic Home Cinema Paint.NET
Sony Sound Forge VirtualDub Unlocker Punto Switcher
Похожие проекты
Сейчас на сайте
Онлайн всего: 17
Гостей: 16
Пользователей: 1
Avant-jurist
»

Как побороть дубли страниц на uCoz/uWeb


08 Марта 2014, 11:54

Не так давно я начал полномасштабную кампанию по SEO оптимизации своего ресурса. К SEO специалистам (того же Profit-Partner) я обращался уже давненько. Кроме всего прочего, первым делом они посоветовали мне избавиться от страниц-дублей. Это такие страницы, которые имеют разные адреса (URL), но идентичны по содержимому.

Почему дубли — это плохо?

Так как две или более страниц-дублей (с одинаковым содержанием) могут попасть в индекс, это может весьма неблагоприятно сказаться на ранжировании сайта в выдаче. Во-первых, поисковые системы не приветствуют дублирование контента внутри сайта. Во-вторых, страницы других сайтов в итоге могут ссылаться на разные URL одной страницы, и при этом передаваемый PageRank, например, будет рассредотачиваться между этими дублями, а не перепадать одной странице. В-третьих, из-за непоняток с весом страниц возникает путаница при установке быстрых ссылок сайта. И это еще не все минусы.

Примеры дублей

У CMS uCoz/uWeb, изначально рассчитанного на пользователей недалеких, примеров дублей огромное множество. Вот некоторые из них:

http://audiophilesoft.ru/publ/
http://audiophilesoft.ru/publ

http://audiophilesoft.ru/forum/
http://audiophilesoft.ru/forum

— и т. п. для различных модулей. Это является вопиющей ошибкой, т. к. строго говоря, /forum/ — это каталог (в котором обычно подхватывается файл index.*), а /forum — файл без расширения.

Для первой страницы архива новостей дубля даже три:

http://audiophilesoft.ru/news/
http://audiophilesoft.ru/news/1
http://audiophilesoft.ru/news

Еще больше дублей для материалов:

http://audiophilesoft.ru/publ/my/hq_pc_sound/11-1-0-24
http://audiophilesoft.ru/publ/my/11-1-0-24
http://audiophilesoft.ru/publ/11-1-0-24
http://audiophilesoft.ru/publ/software/hq_pc_sound/4-1-0-24

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

Как бороться?

В идеале следовало бы установить 301-ю переадресацию (Moved permanently), но наш замечательный движок таковое осуществить не позволяет. Потому единственным верным решением будет использование тега <link rel="canonical" href="правильный адрес"/>. Он работает для большинства поисковых систем и сообщает, что данная страница является дублем указанной, т. е. текущий адрес является неканоническим, индексировать его не надо, а весь ссылочный вес надо передавать по указанному адресу. На канонической странице такого тега быть не должно.

И тут начинаются танцы-пляски с синтаксисом движка, т. е. поиски способа проверки текущего адреса на каноничность и в случае необходимости подстановка тега со ссылкой на каноничную страницу. К счастью, я (отчасти сам, отчасти с помощью поддержки uWeb) уже исследовал все нюансы работы движка и нашел 100% рабочий код для подстановки нужного тега в нужные страницы. Вот код для различных шаблонов (вставлять внутри <head></head>):

Модули статей и файлов: страница материала и комментариев к нему

<?ifnot($REQUEST_URI$=$ENTRY_URL$)?><link rel="canonical" href="$HOME_PAGE_LINK$$ENTRY_URL$"/><?endif?>

В данном случае алгоритм следующий: если текущий URL (в данном случае переменная возвращает URL без адреса домена) не совпадает с адресом материала, прописать тег со ссылкой на полный адрес материала (включая домен).

Модули статей и файлов: главная страница каталога

<?if(strpos($REQUEST_URI$,"/publ/")= -1)?><link rel="canonical" href="$HOME_PAGE_LINK$/publ/" /><?endif?>
и <?if(strpos($REQUEST_URI$,"/load/")= -1)?><link rel="canonical" href="$HOME_PAGE_LINK$/load/" /><?endif?>

Здесь проверяется вхождение в текущий адрес правильного адреса каталога. Если вхождений нет, прописывается тег с каноническим адресом.

Модули новостей и модуль блога: страница материала и комментариев к нему

<?if(strpos($ENTRY_URL$,$REQUEST_URI$)= -1)?><link rel="canonical" href="$ENTRY_URL$" /><?endif?>

Проверяется вхождение в текущий адрес правильного адреса материала. Если вхождений нет, прописывается тег с каноническим адресом.

Модуль новостей: страница архива материалов

<?if($CURRENT_PAGE$="1" && $REQUEST_URI$!='/news/')?><link rel="canonical" href="$HOME_PAGE_LINK$/news/" /><?endif?>

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

Модуль блога: главная страница дневника

<?if($CURRENT_PAGE$="1" && $REQUEST_URI$!='/blog/')?><link rel="canonical" href="$HOME_PAGE_LINK$/blog/" /><?endif?>

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

Модуль форума: общий вид страниц форума

<?if($URI_ID$='frMain' && strpos($REQUEST_URI$,"/forum/")= -1)?><link rel="canonical" href="$HOME_PAGE_LINK$/forum/" /><?endif?>

Если текущая страница — главная страница форума, и в текущий адрес отсутствует вхождение правильного адреса, прописать тег с правильным адресом.



Вот, собственно, и всё. Если вы правильно прописали код, в течение нескольких ближайших выдач из индекса Google, Яндекс и некоторых других поисковиков выпадут страницы-дубли.

Яндекс.Вебмастер: документ является неканоническим


Информация от спонсора

LIVETEX: звонки с сайта по технологии LiveTex. Используя звонок с сайта от Livetex, Вы можете организовать дозвон просто по нажатию кнопки на специальное приложение или на любой телефонный номер.

 
   
Просмотров: 2155 | Автор: | Добавил: Audiophile () | Рейтинг: 5.0/5, голосов: 3
Всего комментариев: 6
[6] shuvay   (02 Сентября 2014 09:33)
Спасибо, помогло. У Вас опечатка, 2 раза закрыт тег if
Модуль новостей: страница архива материалов<?if($CURRENT_PAGE$="1" && $REQUEST_URI$!='/news/')?><link rel="canonical" href="$HOME_PAGE_LINK$/news/" /><?endif?><?endif?>

[1] TiLL   (08 Августа 2014 01:43)
Спасибо, весьма познавательно!
Однако, столкнулся с проблемой в категории новостей.
Код:
<?if($CURRENT_PAGE$="1" && $REQUEST_URI$!='/news/')?><link rel="canonical" href="$HOME_PAGE_LINK$/news/" /><?endif?>

Следуя этому коду также становятся неканоническими страницы категорий новостей, к примеру:
site.ru/news/obzor/1-0-2
site.ru/news/info/1-0-4
Канонической страницей для них становится site.ru/news/

Как это исправить и оставить нетронутыми страницы категорий? Так как страницы категорий удалось привести к нормальному виду и они нормально ранжируются по некоторым запросам.

+1  
[2] Audiophile   (12 Августа 2014 20:19)
Не пользуюсь категориями - проверить не могу. Попробуйте добавить условие &&$PAGE_ID$='nwArchive'

[3] TiLL   (12 Августа 2014 21:10)
Спасибо, помогло :)

[4] TiLL   (13 Августа 2014 17:26)
А еще, пожалуйста, подскажите.
Как быть со страницами 2,3,4 и т.д. в категориях?
По типу:
site.ru/news/obzor/1-0-1 - Главная страница категории.
А как быть со страницами:
site.ru/news/obzor/2-0-1
site.ru/news/obzor/3-0-1
site.ru/news/obzor/4-0-1
Что еще добавить, чтобы сделать их неканоническими? А канонической сделать главную страницу категории.

0  
[5] Audiophile   (16 Августа 2014 11:03)
Не понял. Хотите чтобы страницы категории ссылались на первую как на каноническую? Зачем? Они же разные по содержимому.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Сообщество
Последнее на форуме
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Теги
Follow me
Twitter YouTube
Google+ Facebook
Полезные ссылки
Copyright Taras Kovrijenko © 2009–2017