В прошлой статье – Дубли Joomla – причины возникновения, мы поговорили о том, почему они возникают и как их искать. В этой статье расскажу как можно убрать дубли или предотвратить их появление в поисковой выдаче.
Так как каждый случай индивидуален, рассмотрим самые популярные способы, которые в 99% случаев отлично работают. Можно для себя выбрать что-то одно или использовать в комплексе.
Хотя все эти способы применимы и к любой другой CMS системе, но я подробно остановлюсь именно на особенностях Джумлы.
Все эти примеры справедливы если вы включили стандартный SEF и Перенаправление URL в глобальных настройках J.
Первое, что можно сделать, если у вас путаница в урлах, (когда ссылки формируются и от алиаса категории, и от пункта меню) – поставить плагин Shnodoubles от sherza.
Отличный плагин, справляется со своей задачей на все 100%. После его установки неправильно сформированная ссылка (от алиаса категории) редиректится на правильную (от пункта меню). Скачать этот замечательный плагин, избавляющий от дублей, для Joomla 2.5 можно здесь (ссылка прямая!)
После активации плагина некоторые дубли просто склеятся.
Этот файл идет в стандартном дистрибутиве Joomla, располагается в корне и доступен по ссылке site.ru/robots.txt. Основная цель – он дает инструкции поисковым роботам по индексации сайта. С его помощью можно закрыть некоторые (нужные вам) разделы сайта, также поддерживаются регулярные выражения – можно закрыть отдельные страницы по маске.
Чаще всего я использую такую инструкцию (в дополнение к тому, что идет в файле по умолчанию):
Disallow: /*? #все ссылки, которые содержат этот знак – не индексируются
Всего одна строчка избавляет от большого кол-ва мусора. Это могут быть:
Использовать эту строчку или запрещать каждый тип страниц в отдельности – на ваше усмотрение, но имейте в виду, что слишком большой роботс считается полностью разрешающим. Так же стоит проследить, чтобы эта строчка не закрыла что-то важное, например, карту сайта – в таком случае можно прописать: Allow: /путь_до_карты
Подробнее об использовании robots.txt можно прочитать в помощи Яндекса — help.yandex.ru/webmaster/?id=996567
Использование этого атрибута поможет роботу определить – какие страницы нужно включать в индекс, а какие нет. Если на сайте существуют очень похожие страницы (нечеткие дубли), отличающиеся лишь, к примеру, вариантами сортировки – с начала новые или сортировать по возрастанию, или показывать по 20-30 и т.д., то вы можете использовать этот атрибут. В таком случае нужно будет выбрать одну каноническую страницу, которая и будет ранжироваться, на остальные добавить rel=«canonical» с указанием выбранной страницы – такие документы не попадут в выдачу, робот будет знать, что включать в индекс их не нужно.
Подробнее, как внедрить rel=«canonical» в Joomla 1.7/2.5 смотрите здесь
Уместно использовать если вы сменили адреса страниц, но документы по-прежнему существуют, т.е вы их не удалили. В таком случае, для правильной склейки рекомендуется использовать 301 редирект в .htaccess – поисковики буду знать, что документ переехал на новый адрес. Такой метод позволяет сохранить и показатели сайта – Тиц и PR.
301 редирект можно использовать так же и для склейки дублей. Например, всем известные дубли главной страницы сайта на Joomla – это /index.php и алиас пункта меню Главная, допустим, /home или /homepage
Склеить их довольно просто, открываем .htaccess и вписываем
Redirect 301 /index.php http://site.ru/
Или можно сделать 301 редирект на php в индексном файле вашего шаблона
<?php
if($_SERVER['REQUEST_URI'] == '/index.php') {
header("Location: /",TRUE,301);
exit();
}
?>
И приведу уже классический редирект с www на без www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
* example.ru замените на свое доменное имя.
Еще один способ предотвратить индексацию дублей в Joomla – использование мета тега:
<meta name="robots" content="noindex"/>
На данный момент этот способ эффективнее для Гугла, чем запрещающие инструкции файла robots.txt. К примеру чтобы закрыть от индексации страницы печати и дубль по адресу ?tmpl=component, можно открыть файл component.php в корне вашего шаблона и вписать этот тег в <head></head>.
Чтобы закрыть страницы результатов поиска на сайте с использованием стандартного com_search, можно в index.php шаблона добавить условие
<?php if ($option == 'com_search') : ?>
<meta name="robots" content="noindex"/>
<?php endif; ?>
Но вначале необходимо определить переменную
$option = JRequest::getVar('option', null);
Сильно углубляться в условия в шаблонах не буду, статья не об этом, надеюсь принцип понятен.
Еще один быстрый способ – ручное удаление из панели вебмастера.
Для Яндекса нужно пройти по адресу – webmaster.yandex.ru/delurl.xml
Для Google — www.google.com/webmasters/tools/home?hl=ru
Остался еще 1 не очень популярный метод по устранению дублей Joomla из выдачи, но мы его тоже рассмотрим.
Довольно редкий заголовок, используется чаще зарубежными оптимизаторами, работает он для Гугла. К сожалению, Яндекс пока не комментирует поддержку этого http-заголовка.
Google рекомендует использовать X-Robots-Tag как альтернативу 5 способу в нашей статье для нетекстового содержания, когда нет возможности использовать мета-тег.
HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
...
X-Robots-Tag: noindex
...
Как видите, способов убрать дубли контента Joomla множество, вы должны хотя бы примерно понимать как работает каждый их них, чтобы выбрать наиболее подходящий вариант и применить к своей ситуации.
Единственное этот плагин помог несколько раз по устранению дублей после работы нерадивых администраторов сайтов.
Но плагин — это не целый компонент, и не всегда и его нужно ставить.
«Спасибо» за плагин можно сказать здесь - http://joomlaforum.ru/index.php/topic,156030.msg1130256.html#msg1130256
Единственное место в котором вам может стать плохо от дублей — это биржа ссылок. Там за этим следят.
Представляю ощущения пользователей, которые попадают туда=) — Нет ни модулей, ни основных граф. элементов (я про дизайн), отсутствует меню и т.д...
Думаю отказы от такой страницы страницы будут стремиться к нулю. 100% отказ означает, что вы не получите никакого конверта с пользователя, который пришел.
Это такой самый простой пример, почему надо закрывать. А что и как это делать решает каждый для себя сам.
> Про биржи сказать, увы, ничего не могу.
Вот здесь - http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=66359
можно прочитать об отношении Google к дублирующему контенту внутри сайта.
Если Гугл посчитает, что вы намеренно размножаете контент внутри своего сайта, то цитирую: " В результате этого рейтинг сайта может понизиться или сайт может быть вообще удален из индекса Google. Тогда он больше не будет отображаться в результатах поиска. "
У Яндекса отношение аналогичное.
Особенное за выводом на материалы стронних компонентов типа К2, ZOO и т.д. Нередко их вывод так же приводит к появлению дублей.
Могу сказать, что некоторые разработчики понимая проблемы своего компонента в плане SEO (в частности при мультикатегорийности, -дублей возникает столько, во сколько категорий вы публикуете материал/товар) и разрабатывают плагины в дополнение к своему компоненту. Как пример, могу привести Joomshopping и их плагин каноникал. Все эти доп. расширения вроде плагинов идут как «в нагрузку» и я думаю, что лучше бы вообще поправить роутер, а не навешивать лишнее.
Думаю не найдется ни одного такого компонента для Joomla, который бы не создавал дубли своих материалов по разным урл-адресам.
Тут иной вопрос есть. Если в рунете 90% публики не пользуется поисковиками вообще (посыл в гугл — синоним оскорбления), то какой смысл затрачивать столько сил, средств и времени на поисковую оптимизацию?
потому что платить за контекстную рекламу еще дороже.
Зато результат стабильный и вообще он есть.
ну я думаю Юля тебе более развернуто ответит… скажем так допустим я вышел по запросу газонокосилка гш-99 купить… и мне 2-3 человека приходить в день… если я размещую по этому запросу рекламу… то мне будет так же приходить 2-3 человека в день… стоить они будут скажем 50 рублей в день… Чтоб выйти в топ по этому запросу мне надо затратить 50 рублей в месяц… Итого в 30 раз выгоднее выйти в топ поисковика чем платить за контекст. Хочу отметить что даже в рунете по коммерческим запросам стоимость перехода по рекламе может доходить до нескольких сот рублей. А то что он закажет еще не факт.
Если с поисковиков приходят 2-3 человека в день, то с рекламы эти 2-3 человека приходят к тебе с каждого ресурса, на котором ты разместил свою рекламу. И чем больше сайтов с твоей рекламой, тем больше входящего трафика.
В том то вся и фишка интересующихся этой газонокосилкой не так много. К слову сказать партнерские сайты гугла это даже едвали 20% от всего объема рекламы… основной доход гуглу приносит контекст на нем же самом… в общем могу сказать так… цена целевого перехода с поиска куда как ниже чем целевой с рекламы. Для коммерческого проекта важно комбинирование этих способов продвижения… и стоимость сео куда как ниже чем стоимость чистой рекламы.
А если попробовать продать трансформаторную подстанцию за 300т. (я даже не говорю оптом, хотя бы одну) или квартиру за 10млн. где-нибудь в контактиках...- не даешь бесплатно — «иди, давай, до свидания». Реальный конверт приносит только поиск, а затрачивать деньги и время на пустые разговоры с «холодными» потенциальными клиентами — расточительство.
Ой, а можно чуть по подробней чайнику про 5 способ.
Применяя его в роботс ничего не надо прописывать?
Надо только метатег прописать в указанных тегах в указанном файле?
Добрый день, подскажите пожалуйста по поводу 5-го способа и именно про то как закрыть страницы именно с окончанием ......?tmpl=component как правильно реализовать? тоже нужно прописывать $option = JRequest::getVar('option', null);. можно поподробнее если вам не трудно как правильно (какой именно) воткнуть кусок кода в файл configuration.php, что именно должно быть написанно?
И возможно таким же способом закрыть страницы с окончанием ?tmpl=component&print=1
В robots.txt уже не лезут условия закрытия всяческих дублей, он и так здоровый получился, Вроде слышал если он будет очень большой то роботы ПС его вообще могут посчитать разрешаюшим....