Рекомендую!

Видеокурс: "Шаблон Joomla 2.5 от А до Я"

diskboxsmall

Научитесь создавать свои собственные уникальные и профессиональные шаблоны для Joomla 2.5!

Добро пожаловать в школу Джумла!

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

ЗАГРУЗИТЬ СТАБИЛЬНУЮ ВЕРСИЮ ДЖУМЛА

Редирект 301: с WWW на без WWW и наоборот

301Есть мнение, и оно не безосновательно, что каждый сайт должен иметь 301 редирект, который был бы настроен так, чтобы один из сайтов, с или без www, был главным (например, для моего сайта, главным является joomla-school.com, и при заходе по адресу www.joomla-school.com, вас автоматически перебросит на joomla-school.com). Для чего это нужно, спросите вы? Об этом я постараюсь рассказать в этом посте, но начать, пожалуй, стоит с истории зарождении самой проблемы, связанной с использованием или не использованием приставки WWW в названии сайта.

Откуда появилась приставка WWW и что в этом плохого для начинающего вебмастера

Примерно десять лет назад World Wide Web (Всемирная паутина - то, что мы сейчас и считаем, собственно, интернетом) была лишь малой частью интернета, а сервера были очень слабенькими, поэтому приходилось размещать, например, сервер Apache на одном компьютере, почтовый сервер на другом, а сервер FTP на третьем. Имена серверов начинались с названия машин, на которых они располагались, и в зависимости от предоставляемого сервиса, выглядели так: www.domain.com, mail.domain.com, и ftp.domain.com (а так же совсем раритет - gopher.domain.com).

В настоящее же время приставка www является анахронизмом и должна была бы благополучно отмереть, однако, до сих пор существует масса каталогов, которые автоматически прибавляют к имени сайта вида domain.com пресловутое www. Так же существует немало пользователей, которые автоматически набирают в браузерах адрес сайта с www в начале (все же знают песню группы Ленинград). Поэтому www остается и создает очень интересную ситуацию. Получается, что www.domain.com и domain.com технически считаются полностью различными объектами, причем www.domain.com является родственным домену третьего уровня вида sub.domain.com. Но при этом же, обычно, www.domain.com и domain.com ведут (или должны вести) на одну и туже страницу (в отличии от субдомена sub.domain.com), т.е. получается, что каждый только псевдоним для другого (алиас или же по-английски alias).

Конечно же, можно все это пропустить и не забивать голову, но если вы всерьез заботитесь о продвижении вашего сайта в поисковых системах, то это может быть серьезной помехой у вас на пути. Смотрите сами что получается. Многие поисковики воспримут domain.com и www.domain.com как разные сайты, со всеми вытекающими отсюда последствиями. А именно - все внешние ссылки на ваш сайт будут делится на две части, в зависимости от того, в каком виде на вас проставили ссылку (с www или же без него). Получается, что вы лишаетесь части внешних ссылок на ваш сайт, а это, соответственно, приводит к понижению сайта в рейтинге поисковиков, и пользователей с них к вам будет приходить меньше, чем могло бы. Кроме этого еще нужно учитывать то что серьезные поисковики (Google, например) борются за уникальный контент и не индексируют страницы (и даже сайты целиком) двойники, что чревато для нашей ситуации. Поясню.

Допустим, что домен domain.com стал популярным и на него много ссылаются, но, как на зло, при начальной индексации сайта поисковик нашел первым домен www.domain.com и теперь получается, что domain.com стал двойником (не имеет уникального содержания) и с большой долей вероятности он выпадает из рейтинга. Печально, не правда ли? Теперь поговорим о том, как этого избежать. Кто-то очень умный придумал способ как переадресовать один псевдоним к другому, который по существу является переадресацией к самому себе. Способ это называется Редирект и существует несколько вариантов его реализации на разных серверах. Я приведу здесь два самых простых на мой взгляд способа: первый - универсальный, с использование файла .htaccess. Он подходит для всех сайтов, и другой - с использованием специального плагина для редиректа - подходит для сайтов, созданных на Joomla.

Способ с использованием файла .htaccess

Заходим в корневой каталог сайта, открываем для редактирования файл .htaccess, ищем в нем строчку:

RewriteEngine On

а также

Options +FollowSymLinks

Если они закомментированы (спереди стоит значок #), то разкомментируйте их. А потом сразу после RewriteEngine On добавьте вот такие строчки:

RewriteCond %{HTTP_HOST} ^www\.site\.ru
RewriteRule ^(.*)$ http://site.ru/$1 [R=permanent,L]

где site.ru - имя вашего домена

Не забывайте про обратную наклонную черту перед точкой (.) в строке RewriteCond - она обязательна. Вы можете так же ознакомиться и с другими вариантами 301 редиректа на этой странице. При 301 редиректе Google должен объединять PR сайтов. Теперь, кстати, ваш сайт будет доступен и по доменному с www, так и без www, но в адресной строке вас будет перебрасывать на то имя, на которое вы настроили редирект. Этот способ называется "перенаправление с шаблоном". В результате получается следующее: если набрать в адресной строке, например, http://www.joomla-school.com/uroki.html, то пользователь будет автоматически перемещен на ту же страницу, только без www – http://joomla-school.com/uroki.html.

Важно: добавляйте строчки сразу после RewriteEngine On. У меня, например, переадресация отказывалась работать, если между ними была пустая строка.

У меня данный код выглядит вот так:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.joomla-school\.com$ [NC]
RewriteRule ^(.*)$ http://joomla-school.com/$1 [R=301,L]

То есть,  у меня все ссылки с приставкой www перенаправляются на ссылки без www.

Если же вы хотите, чтобы перенаправление действовало в обратном направлении ( с без www в ссылки с www, то добавьте вот такой код:

RewriteCond %{HTTP_HOST} ^site\.ru
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=permanent,L]

где site.ru - имя вашего домена

Способ с использованием плагина www Redirect

Если у вас по каким-либо причинам не удается воспользоваться первым способом, тогда вы можете применить плагин www Redirect, который создан именно для этого. Итак, скачиваем данный плагин с сайта разработчика (также данный плагин я разместил во вложениях к данной статье). После установки в систему, заходим в его параметры и выбираем направление редиректа:

wwwredirect

После выбора направления, не забываем опубликовать данный плагин. Вот и все. Теперь перенаправление должно работать на вашем сайте!

Директива Host, позволяющая задать главное зеркало сайта для Яндекса

Для Яндекса дополнительно надо определить какое зеркало сайта является главным, с помощью директивы 'Host' в файле robots.txt. Он так же, как и файл .htaccess находится в коневом каталоге вашего сайта. Код добавляемый в robots.txt должен выглядеть следующим образом:

User-agent: Yandex
Disallow:
Host: joomla-school.com

Лучше будет вынести директиву 'Host' в отдельную секцию, предназначенную только для робота Яндекса (User-agent: Yandex), т.к. возможно, что другие поисковики (Google, например) могут некорректно отработать непонятную им директиву. Так же по стандартам файла robots.txt в каждой секции 'User-agent' должна присутствовать хотя бы одна директива 'Disallow', поэтому мы и поставили в коде пустую, ничего не запрещающую директиву Disallow:. Мой файл robots.txt, после добавления приведенного выше кода, стал выглядеть так:

User-agent: *
Disallow:

User-agent: Yandex
Disallow:
Host: joomla-school.com

В статье использованы материалы сайта ktonanovenkogo.ru

Рекомендую!

Новые комментарии

  • а зачем такие сложности? если можно в шаблон вставить счетчик. Подробнее...  
  • Доброго времени суток! а возможно ли сделать прелоадер как на этом сайте https://www.hitsan.ua За ... Подробнее...  
  • А в каком файле joomla нужно изменить код для подключения библиотеки Подробнее...  
  • Спасибо большое! Всё гениальное просто! :) Подробнее...  
  • Вот аналог для Joomla 3/ ... Подробнее...