Дубли страниц в Joomla как с ними бороться? JL No Doubles - убирает дубли страниц Плагин JL No Doubles для борьбы с дублями страниц.

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

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

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

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

Однако безобидные для посетителей дубли могут существенно повлиять на позиции сайта в поисковой выдаче. Почему так происходит?

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

В результате появления на сайте большого количество идентичных страниц (дублей) могут сильно «просесть» позиции сайта в поисковой выдаче. Именно поэтому от дублей страниц стоит избавляться как можно быстрее.

Почему появляются дубли?

Дубли в CMS Joomla появляются в результате установки дополнительных расширений. Но это далеко не единственная причина их образования.

Не менее распространенная причина образования дублей страниц это не продуманная структура сайта. Как это может быть связано, спросите Вы? Да очень просто – вы создали на сайте несколько категорий имеющих одну родительскую категорию, в этих категориях разместили материалы. Внутри материалов Вы делаете ссылки на ранее созданные материалы и так далее. Для примера посмотрите на скриншот:

Если не создавать меню для категорий, то адрес страницы может получиться таким:

Http://joom4all..php?option=com_content&view=article&id=38&catid=10

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

Http://сайт/sites-creation/basics/intro

И все бы хорошо, но старые адреса страницы никуда не делись, они остались в качестве дублей. В результате одна и та же страница у нас может иметь сразу несколько адресов:

Http://сайт/32-sites-creation/10-basics/38-intro http://сайт/32-sites-creation/basics/intro http://joom4all..php?option=com_content&view=article&id=38&catid=10

Не приятная ситуация не так ли, кроме того поисковые роботы все эти страницы считаю совершенно разными.

Способы борьбы с дублями страниц

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

Вариантов борьбы с дублями существует несколько:

  • Использование специальных расширений
  • Файл Robots.txt
  • Redirect 301 в файле htaccess
  • Воспользоваться панелью Вебмастера для удаления ненужных адресов
  • Компонент «Перенаправление»

Плагин JL No Doubles для борьбы с дублями страниц

Самый простой и в то же время достаточно действенный способ борьбы с дублями страниц это использования расширений. Одним из таких расширений является плагин JL No Doubles .

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

Плагин JL No Doubles убирает дубли страниц в более чем двадцати компонентах, в том числе и в компоненте com_content. Можно настроить вывод 404-й ошибки либо 301 редирект на правильную страницу сайта. Страница с настройками плагина выглядит следующим образом:

Параметров для настройки плагина всего пять:

  • Лицензионный ключ – для активации работы плагина с компонентами k2, Virtuemart, Zoo.
  • Кратность лимитов – настройка для категорий материалов Joomla. Вы можете настроить редирект при формировании ссылок типа /advanced?start=3. Все что необходимо сделать, это указать количество материалов выводимых в категории.
  • Использовать 301 редирект – можно включить возможность использования редиректа на правильную страницу либо (если установлено «нет») выдавать 404-ю ошибку. Если Ваш сайт существует достаточно долгое время и на его страницы ссылаются другие сайты, то рекомендую поставить редирект, чтобы не потерять вес страниц.
  • Алиас – настройка, которая подставляет алиас к ссылкам вида component/content/article (по умолчанию home).
  • Стоп слова – это строки, встречающиеся в адресе страницы которые не следует обрабатывать.

С основными настройками разобрались, теперь давайте перейдем на вкладку «Компоненты»:

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

Использование файла Robots.txt

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

Обо всех тонкостях настройки файла Robots.txt мы уже говорили в данной статье . Кратко скажу только что для закрытия части Вашего от «глаз» робота существует директива Disallow .

301 редирект и файл htaccess

Другой распространенный способ борьбы с дублями это настройка перенаправления, другими словами 301 редирект на правильную страницу. Это можно сделать в файле «.htaccess ».

Для создания переадресации необходимо использовать директиву RewriteRule, но надо убедиться, что на хостинге подключен модуль mod_rewrite.

Php на страницу сайт, для этого в файле «.htaccess» после директивы RewriteEngine On пишем следующую строку:

RewriteRule http://сайт/index.php$ http://сайт

Более подробно работу с файлом «.htaccess» мы разбирали в данной статье .

Компонент «Перенаправление»

Достаточно полезный и в то же время встроенный в Joomla 3 компонент, который позволяет вручную настроить перенаправление страниц. Данный компонент использует для своей работы специальный плагин, который по умолчанию отключен.

Изначально надо включить плагин, благо искать его среди прочих не приходится, ведь после перехода на страницу «Компоненты» -> «Перенаправление» вы получите сообщение, что необходимо включить плагин и ссылку на его активацию.

После того как плагин будет включен можно создавать перенаправление указав начальный (старый) и конечный (новый) адрес страницы:

Данный метод хорош в том случае, когда дублей страниц не слишком много.

Подведем итоги

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

Кроме того стоит задуматься о том как избавиться от index.php в строке адреса сайта, это так же поможет сократить количество дублей страниц.

Создание и раскрутка сайтов на статичном html всё менее популярна, и большинство веб-мастеров переходит на современные CMS, в частности на Joomla, которая в нагрузку к своим плюсам может и огорчить пользователя, прежде всего, дублированием страниц. Дубли страниц в Joomla это своеобразный бич веб-мастера, хотя, положа руку на сердце, грешат этим многие системы автоматизации сайтов.

Поиск дублей

Во-первых, давайте посмотрим, как определить дубли страниц и почему они негативно сказываются на процессе продвижения сайта. Самый простой способ определения дублирования – это воспользоваться расширенным поиском на Яндексе, где в строчку «сайт» забиваем свой проект, а в поисковую строку тот или иной запрос. В результате можно видеть страницы сайта по мере их релевантности, тут же водятся и дублирующие друг друга страницы. Ещё проще воспользоваться пауком Netpeak Spider, который выгрузит страницы и найдёт в них дубли в один клик.

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

Удаление дубли

Disallow: /search/

Disallow: /*.pdf

Disallow: /*print=1

Disallow: /*type=atom

Disallow: /*type=rss

Disallow: /*task=rss

Disallow: /*?sl*

Disallow: /*?sl*

Таким образом, отсекается основная складская база, куда Joomla может запихивать дубли. Если кому очень надо открыть некоторые страницы, например, для компонента xmap, то есть для того, чтобы добавить в панель вебмастера карту сайта, то нужные страницы легко открываются с помощью директивы Allow: , которая ставиться перед Disallow:.

Однако лично мне не давали жизни дубли страниц Joomla типа

И долгие поиски ни к чему положительному не приводили, кроме как закрывать сотни левых ссылок вручную в robots.txt. Однако однажды ответ пришёл, как озарение и открыл глаза на простейшие вещи, с которыми, знаю точно, сталкивался не я один. Многие сегодня практикуют (и правильно делают) продвижение сайта в социальных сетях, посредством установки кнопок для интеграции. При этом не все обращают внимание, что некоторые плагины при интеграции в Twitter просто обрезают ссылку и для решения проблемы надо настроить или заменить плагин, так как роботы идут по ссылки «твиттнуть» и попадают на её обрезанный вид, который и заносят по своему электронному незнанию в индекс.

Проблема оказалась проста, как медный таз, жаль, что таким образом убирается только часть дублей, правда эта-то часть меня больше всего и волновала. Оказывается, часть ошибок оптимизации всё-таки происходит по совокупности недосмотра веб-мастера и недоработок CMS, так что с этим можно и нужно бороться. Удачи.

Если же Вас не радуют дубли типа /sobstven-sate/eksperiment-seo/383.html, то есть сокращённые адреса страниц, используйте плагин для Joomla Shnodoubles , найти который можно погуглив или отписавшись мне в комментариях, с ним я полностью решил проблему на считанные минуты. Подумав и устав отписываться я предлагаю скачать nodoubles для Joomla прямо с сайта.

Также предлагаю видео по удалению дублей в Joomla посредством 301-го редиректа -

Вопросы-ответы

Можно ли избавить от дублей на автомате?

Отсутствие дублей на 90% гарантируется в автоматическом режиме. Для Joomla достаточно настроить robots и htaccess, а также разобраться со склейкой страниц на основную навигационную. Однако в процессе расширения сайта дубли могут появляться, поэтому отслеживайте их через паука Netpeak Spider.

Неужели пауки ПС не понимают, что дубли на Joomla – это ошибка разработчиков?

А почему эта ошибка не исправляется владельцем? Если вы купите машину с дефектом, то не станете же вы жаловаться, что ваc штрафует ГИБДД за, то что не горят фары или не соответствуют нормам выхлопные газы? В поддержку обращаться смысла нет, так как CMS не платная.

Сейчас сильно жёстко штрафуют за дубли редко, но… Если по запросу, например, дублирование страниц у вас присутствуют в поиске 3-4 документа с одинаковым контентом, но разными урлами, то, как вы думаете статический вес будет на каждой из них максимальный, или размажется? В конце концов это вам решать, нужен ли вам декоративный мусорный сайт или вы хотите делиться с пользователями информацией и получать за это профит при правильной настройке CMS.

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

Проблема дублей страниц в Joomla уходит глубоко в корни становления самой CMS, если быть точным, то даже не в саму Joomla, а прародителя CMS Mambo. Дело в том, что над ЧПУ (человеко-понятными URL) тогда не задумывались, а когда проблема стала актуальной и вышла Joomla 1.5, вместо того, чтоб коренным образом переработать систему ссылок, была сделана нашлепка, с которой мы имеем дело сейчас. Да на тот момент, это казалось решением проблемы, но как видим полумера выросла в глобальную проблему.

К счастью разработчики Joomla понимают, что проблема есть, но не хотят идти на радикальные меры, которые кстати предлагались сообществом. Даже был организован успешный сбор средств на новый роутер Joomla, но изменения с трудом просачиваются в основной дистрибутив Joomla.

Так что же реально делает Joomla для того, чтоб избежать дублей?

Они опять пошли по пути полумер, ввели тег canonical, который призван указать на реальную страницу Joomla. Не будем говорить о тернистом пути внедрения, отмечу лишь, что он был действительно тернист. И скажу, что этот метод действительно позволяет сократить количество дублей на сайте, но вот беда, этот метод почти не работает для компонентов Joomla, так как разработчики компонентов, должны позаботится о внедрении поддержки, корректной поддержки, а это происходит далеко не всегда. Да и если честно сам по себе тег canonical не панацея.

Об этом простом и эффективном способе я расскажу вам ниже.

По сути этот метод вам поможет сократить количество дублей в разы. В моей практике он позволял сократить дубли в 10ки раз.

Что нам для это потребуется?

  • Немного времени и руки

Первое, что нам говорит Google – исключите дублирующийся домен.

Как это сделать?

Сделать переадресацию с домена www на домен без www. То есть заходим на сайт www.site.ru, а нас перенаправляет на сайт site.ru.

В файле.htaccess добавить следующее правило.

RewriteCond %{HTTP_HOST} ^www\.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Site.ru заменить на ваш домен.

Теперь переходим к приятному.

Устанавливаем плагин JL No Doubles и включаем его в менеджере плагинов. Если у вас только стандартные материалы Joomla, то ничего настраивать не надо. Собственно, этот ряд не хитрых действий поможет вам радикально сократить количество дублей на сайте.

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

Так как каждый случай индивидуален, рассмотрим самые популярные способы, которые в 99% случаев отлично работают. Можно для себя выбрать что-то одно или использовать в комплексе.

Хотя все эти способы применимы и к любой другой CMS системе, но я подробно остановлюсь именно на особенностях Джумлы.

Все эти примеры справедливы если вы включили стандартный SEF и Перенаправление URL в глобальных настройках J.

  • 1. Плагин для Joomla

Первое, что можно сделать, если у вас путаница в урлах, (когда ссылки формируются и от алиаса категории, и от пункта меню) – поставить плагин Shnodoubles от sherza.

Отличный плагин, справляется со своей задачей на все 100%. После его установки неправильно сформированная ссылка (от алиаса категории) редиректится на правильную (от пункта меню). Скачать этот замечательный плагин, избавляющий от дублей, для Joomla 2.5 можно (ссылка прямая!)

После активации плагина некоторые дубли просто склеятся.

  • 2. Robots.txt для Joomla

Этот файл идет в стандартном дистрибутиве Joomla, располагается в корне и доступен по ссылке site.ru/robots.txt. Основная цель – он дает инструкции поисковым роботам по индексации сайта. С его помощью можно закрыть некоторые (нужные вам) разделы сайта, также поддерживаются регулярные выражения – можно закрыть отдельные страницы по маске.

Чаще всего я использую такую инструкцию (в дополнение к тому, что идет в файле по умолчанию):

Всего одна строчка избавляет от большого кол-ва мусора. Это могут быть:

  • страницы печати материалов, содержать в урлах также print= или tmpl=component
  • ссылки на rss ленту
  • страницы результатов поиска по сайту
  • также закроет страницы пагинации
  • могут быть и другие варианты, в зависимости от используемых расширений

Использовать эту строчку или запрещать каждый тип страниц в отдельности – на ваше усмотрение, но имейте в виду, что слишком большой роботс считается полностью разрешающим. Так же стоит проследить, чтобы эта строчка не закрыла что-то важное, например, карту сайта – в таком случае можно прописать: Allow: /путь_до_карты

Подробнее об использовании robots.txt можно прочитать в помощи Яндекса - help.yandex.ru/webmaster/?id=996567

  • 3. Атрибут rel=«canonical» тега

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

Подробнее, как внедрить rel=«canonical» в Joomla 1.7/2.5 смотрите

  • 4. 301 редирект

Уместно использовать если вы сменили адреса страниц, но документы по-прежнему существуют, т.е вы их не удалили. В таком случае, для правильной склейки рекомендуется использовать 301 редирект в.htaccess – поисковики буду знать, что документ переехал на новый адрес. Такой метод позволяет сохранить и показатели сайта – Тиц и PR.

301 редирект можно использовать так же и для склейки дублей. Например, всем известные дубли главной страницы сайта на Joomla – это /index.php и алиас пункта меню Главная, допустим, /home или /homepage

Склеить их довольно просто, открываем.htaccess и вписываем

Redirect 301 /index.php http://site.ru/

Или можно сделать 301 редирект на php в индексном файле вашего шаблона

if($_SERVER["REQUEST_URI"] == "/index.php") {
header("Location: /",TRUE,301);
exit();
}
?>

И приведу уже классический редирект с www на без www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.ru$
RewriteRule ^(.*)$ http://example.ru/$1

* example.ru замените на свое доменное имя.

  • 5. Мета тег robots

Еще один способ предотвратить индексацию дублей в Joomla – использование мета тега:

На данный момент этот способ эффективнее для Гугла, чем запрещающие инструкции файла robots.txt. К примеру чтобы закрыть от индексации страницы печати и дубль по адресу?tmpl=component, можно открыть файл component.php в корне вашего шаблона и вписать этот тег в .

Чтобы закрыть страницы результатов поиска на сайте с использованием стандартного com_search, можно в index.php шаблона добавить условие



Но вначале необходимо определить переменную

$option = JRequest::getVar("option", null);

Сильно углубляться в условия в шаблонах не буду, статья не об этом, надеюсь принцип понятен.

  • 6. Удаление url из панели

Еще один быстрый способ – ручное удаление из панели вебмастера.

Для Яндекса нужно пройти по адресу – webmaster.yandex.ru/delurl.xml

Остался еще 1 не очень популярный метод по устранению дублей Joomla из выдачи, но мы его тоже рассмотрим.

  • 7. Заголовки X-Robots-Tag

Довольно редкий заголовок, используется чаще зарубежными оптимизаторами, работает он для Гугла. К сожалению, Яндекс пока не комментирует поддержку этого http-заголовка.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
...
X-Robots-Tag: noindex
...

Как видите, способов убрать дубли контента Joomla множество, вы должны хотя бы примерно понимать как работает каждый их них, чтобы выбрать наиболее подходящий вариант и применить к своей ситуации.