Как сделать редиректы на Joomla и WordPress блогах правильно

Всем привет!

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

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

Кстати, если вы из Луганска, то можете вступить в нашу команду «Новое поколение». Если хотите стать настоящим театральным танцорами или танцовщицами, то напишите мне письмо, через контакты, здесь. Типа, я такой, такая, хочу узнать о вашей группе подробнее и начать танцевать. Я в свою очередь договорюсь с руководителями, и напишу вам ответ с адресом куда надо прийти для собеседования.

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

Так вот, их сайт на Joomla. Кстати вот он. Я заметил, что там присутствует такие проблемы, как склейка ТИЦ и множественное дублирование контента. А все почему? Потому что одни и те же записи сайта открываются с новым URL. То есть блог открывался с www и без них.

Поисковые роботы считают такие адреса двумя разными web-ресурсами. Главная страница и все внутренние открывались со слешем (/) на конце и без него. Кроме того, везде подставлялся index.php, который можно убрать в общих настройках движка Joomla, но к сожалению, не полностью.

Для WordPress блогов все немного проще, но все же надо принимать решительные меры, а то даже если вести блог правильно, то высоко посещаемым он никогда не станет, так как у него полно дублей, а поисковики за это «по головке не погладят».

Как сделать редиректы на Joomla

Это у меня такие были проблемы, но я еще нашел решение другим, потому что сайты у всех разные и движки, на которых они работают тоже. В общем, все собрано во едино! Я надеюсь, что эта статья станет отличным руководством по редиректу 301 для каждого блогера. Здесь выкладываю отличные способы (много разных), чтобы сделать редирект на вашем сайте, без проблем.

Что такое редирект 301

Здесь долго не буду размусоливать, а скажу кратко – редирект 301, это перенаправление ваших посетителей на определенный адрес домена. Если у вас сайт открывается с www и без них, то это два разных домена с одинаковым контентом. Их обязательно нужно разделить, то есть запретить один из них.

Редирект 301 необходим при смене домена. Если вы по каким-то причинам решили сменить один домен (адрес) на другой, то после настройки редиректа всех будет перенаправлять на новый. Еще это относиться к ползункам, например, у вас ТИЦ от 10. PR от10, и траст высок, то с перенаправлением ПС поймут, что эти ползунки надо передать на указанный вами в настройках редиректа адрес.

Зачем делают редиректы

С помощью редиректа можно перенаправлять посетителей и ПС на определенные страницы, например, со старых адресов на новые, с новых на старые и т.д. Редирект 301 убирает дубли страниц! Например, у вас есть страница novosti.html и такая же со слешем на конце. Мы запрещаем слеш или решаем его оставить, а без него наоборот запрещаем, то поисковые системы сами удаляют ненужный URL из своей поисковой базы (поиска).

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

Как редирект может навредить

Начну с самого важного – нужно быть уверенным в том, что делаешь правильно. Настроив редирект не правильно, вы сильно навредите своему сайту. Поэтому для начала очень важно сделать копию сайта, а именно файл, в который вы будете прописывать редирект (копировать из статьи и вставлять) — htaccess. О файле расскажу ниже, но пока примите во внимание написанный выше важный совет.

Не в коем случае не используйте перманентный редирект при временном решении! Чтобы вы понимали слово перманентный правильно, объясню. Это временный редирект! Для него используют Moved Temporarily 302. 302, не 301. Из-за неправильной настройки, а именно спутывание одно с другим, может произойти склейка страниц. Используя Moved Temporarily 302, страницу с редиректом можно восстановить в любое время.

Как сделать редиректы на WordPress

Сейчас известно, что если на вашем старом домене были какие-то ошибки, типа БАН, ФИЛЬТРЫ, и т.д., то не стоит делать редирект на новый, так как все ошибки старого сайта перейдут на него. Это раньше такая фишка работала – сделав редирект с забаненого сайта на новый, можно было убежать с под санкциями, но теперь такого нет. ПС сейчас очень умные и раскусят вас вмиг.

Найденные мною способы редиректа 301

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

Поэтому перед всеми изменениями сделанных в будущем, скопируйте файл htaccess на компьютер, чтобы восстановить все сразу при ошибке.

На своем WordPress блоге, я вставлял эти правила прям перед закрывающим тегом: IfModule.

Как сделать редирект

На блоге Joomla – театр сценического и инклюзивного танца сестер Соболевских, я вставлял правила после строки: Begin — Joomla! core SEF Section.

Как сделать редиректы

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

Выберите тот редирект, который вам нужен:

Редирект со старой статической (чпу) страницы на новую страницу:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seowind\.ru$ [NC]
RewriteRule ^baza-znanij-seo/nastrojka-301-redirekta/$ https://www.seowind.ru/newpage/ [R=301,L]

Редирект на главную страницу:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seowind\.ru$ [NC]
RewriteRule ^baza-znanij-seo/nastrojka-301-redirekta/$ https://www.seowind.ru/ [R=301,L]

Редирект с главной на внутреннюю страницу:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seowind\.ru$ [NC]
RewriteRule ^$ https://www.seowind.ru/baza-znanij-seo/nastrojka-301-redirekta/ [R=301,L]

Редирект со страниц сайта с WWW на страницы без WWW:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seowind\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://seowind.ru/$1 [R=301,L]

Редирект со страниц сайта без WWW на страницы с WWW:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^seowind\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://www.seowind.ru/$1 [R=301,L]

Следующий пример позволяет убрать слеш на конце урла.
Редирект 301 со страниц со слешем на конце на страницы без него:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Здесь добавляем слеш в конец урла:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

301 редирект с index.php на главную:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://www.seowind.ru/ [R=301,L]

Редирект всех внутренних страниц на главную:

RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule !(^$|.*\.(css|jpg|gif)) / [R=301,L]

Редирект урла с параметром на любую внутреннюю страницу сайта: (Например, со страницы https://www.site.ru/news.php?category=1 на https://www.site.ru/news.php?category=2 (здесь параметр category=)):

RewriteEngine On
RewriteCond %{QUERY_STRING} category=1
RewriteRule ^news.php https://www.site.ru/news.php?category=2 [R=301,L]

Редирект урла с параметром на главную страницу сайта: (Например, https://site.ru/index.php?show_section=12 на главную страницу https://site.ru/ (здесь параметр show_section=12)):

RewriteEngine On
RewriteCond %{QUERY_STRING} show_section=12
RewriteRule ^index.php https://site.ru/? [R=301,L]

Редирект со старого домена на новый (прописываем в htaccess старого сайта):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.siteold\.ru$ [NC]
RewriteRule ^(.*)$ https://sitenew.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^siteold\.ru$ [NC]
RewriteRule ^(.*)$ https://sitenew.ru/$1 [L,R=301]

Редирект с домена РФ на домен RU. Здесь важно знать, что РФ зона преобразуется в .xn--p1ai, а само название кириллического домена в соответствующий код (punycode) на латинице xn-….

RewriteCond %{HTTP_HOST} ^xn-...\.xn--p1ai$ [NC]
RewriteRule ^(.*)$ https://www.seowind.ru/$1 [R=301,L]

301 редирект каталога:

 RewriteRule ^(.*)/old-catalog/(.*)$ $1/new-catalog/$2 [R=301,L]

Вы, наверное, в своей практике встречали случай, когда есть 2 сайта с одинаковой информацией, но в то же время доступные по разным адресам (сайты дубли). У этих сайтов одинаковый robots.txt, sitemap.xml и один на двоих htaccess. Предлагаю вариант 301 редиректа с неосновного такого сайта (site2) на основной (site1):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site2.ru$ [OR,NC]
RewriteCond %{HTTP_HOST} ^www.site2.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://www.site1.ru/$1 [R=301,L]

Вставка, включающая в себе все редиректы со страниц index|default с расширениями htm|html|php|asp|aspx на главную:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ .*/(index|default)\.(htm|html|php|asp|aspx)\ HTTP
RewriteRule ^(.*)(index|default)\.(htm|html|php|asp|aspx)$ https://www.site.ru/$1 [R=301,L]

Пример редиректа со страниц без WWW на страницы с WWW в web.config для IIS:

<system.webServer><rewrite><rules><rule name="Redirect to WWW" stopProcessing="true"><match url=".*" /><conditions><add input="{HTTP_HOST}" pattern="^seowind.ru$" /></conditions><action type="Redirect" url="https://www.seowind.ru/{R:0}" redirectType="Permanent" /></rule></rules></rewrite>

Пример редиректа со страницы default.aspx на главную в web.config для IIS:

<system.webServer><rewrite><rules><rule name="Imported Rule 1"><match url="^default\.aspx" ignoreCase="false" /><conditions><add input="{QUERY_STRING}" pattern="^$" ignoreCase="false" /></conditions><action type="Redirect" redirectType="Permanent" url="https://www.seowind.ru/" /></rule></rules></rewrite>

301 Редирект через PHP

<?phpheader("Location: https://newdomain.ru/new/location/", true, 301);?>


Конец. Теперь вы сделали редирект 301 правильно и ваш ресурс пойдет в гору. Подписывайтесь на обновление новых статей, тут, чтобы ничего не пропускать. До встречи!

С уважением, Алексей Кобзарев

9 комментариев

Ваш комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *