301-редирект: переадресация с одного домена на другой. Wordpress переадресация на другой домен
Переадресация с одного домена на другой (редирект домена)
Периодически, к нам обращаются наши клиенты, с вопросом, как сделать переадресацию сайта с одного домена на другой. Как правило, этот вопрос задают в двух вариантах:
-
сайт открывается по 2 адресам: www.mysite.ua и mysite.ua (для поисковых машин это существенная разница и они воспринимают 2 адреса, как 2 разных сайта), поэтому необходимо сделать чтобы при обращении к страницам сайта с www, шла переадресация на такие же страницы сайт без www, например с http://mysite.ua/news/ на http://www.mysite.ua/news/ (или наоборот).
-
у вас есть несколько доменов, основной mysite.ua и альтернативный my-site.ua и/или кириллический мойсайт.укр. Необходимо, чтобы при наборе в браузере адреса my-site.ua и/или мойсайт.укр посетитель автоматически перенаправился на сайт mysite.ua.
1. Перенаправление домена в файле .htaccess.
1.1. С www-домена на основной домен
Если на вашем сервере включен модуль mod_rewrite, то того, чтобы настроить переадресацию с адресов, начинающихся с www на аналогичные без www, нужно в файле .htaccess, в корневой папке www вашего сайта прописать следующие строки:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]1.2. С основного домена на www-домен
RewriteEngine On RewriteCond %{HTTP_HOST} !^(www.) [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]1.3. С одного домена на другой
Задача может быть решена так же как и первая, для настройки перенаправления посетителей с одного доменного domain1.ua имени на другое domain2.ua вы можете использовать соответствующие директивы в файле .htaccess.
Сделать на старом домене domain1.ua файл .htaccess, с содержанием:
RewriteEngine On RewriteCond %{HTTP_HOST} domain1.ua RewriteRule (.*) http://domain2.ua/$1 [R=301,L]1.4. Перенаправление с нескольких доменов
Необходимо сделать переадрессацию с доменов domain1.ua и www.domain1.ua на новый домен domain2.ua, для это впишите:
RewriteCond %{HTTP_HOST} ^domaim1\.ua RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.domain1\.ua RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L]Аналогично можно делать перенапрвление с domain.ua на domain.com и т. п.
Однако если вы размещаетесь на тарифном плане с ограниченным числом доменов, включенных в тариф, то настройка сайта с одним только файлом .htaccess лишит вас еще одного домена в квоте по тарифу, что не всегда приемлемо. В этом случае можно воспользоваться специальным сервисом панели управления хостингом.
2. Перенаправление домена в панели управления хостингом
На примере панели управления «cPanel»
Вы можете выбрать варианты перенаправления – 301 или 302.
301 редирект — это постоянное перенаправление. Т.е. при установке 301 редиректа всем, в том числе поисковым машинам, будет сообщено, что запрашиваемая страница навсегда «переехала» на новый адрес. Такое перенаправление необходимо, например, при переезде с одного доменного имени на другое. Таким образом, вы не потеряете поисковый трафик, а поисковые машины будут оповещены о смене адреса.
302 редирект — это временное перенаправление. Таким образом, пользователи, вызывая страницу, на которую установлен 302 редирект, будут получать ответ с указанного в редиректе адреса. Однако в поисковых машинах прежний адрес останется и будет удерживать свои позиции.
Также, можно выбрать опции перенаправления, связанные с синонимом сайта с www. Обратите внимание, что переадресацию с домена http://www.site.ua/ на http://site.ua/ средствами cPanel сделать не удастся. Подобный редирект создается с помощью файла .htaccess.
Управление перенаправлением выглядит довольно стандартно. Вы можете удалить созданный параметр:
3. Перенапрвленеи кирилличнский доменов
Переадрессация кириилических доменов ничем не отличается от обычного (на латинице). Просто необходимо использовать конвертер punycode .
Punycode – это метод преобразования символов, относящихся к стандарту Unicode, в последовательность символов, содержащих только символы в кодировке ASCII, а именно 26 букв латинского алфавита (a-z), цифры (0-9) и символ дефиса (всего 37 символов).
Домены, содержащие символы национальных алфавитов называют IDN-доменами. Некоторые сервисы не поддерживают IDN представление доменов. Поэтому не работает домен УКР или другие IDN-домены. В таком случае необходимо использовать имя домена после Punycode-конвертации.
Например, домен http://мойсайт.укр/ после кодирования (можно воспользоваться сервисом http://wwhois.ru/punycode.php) становится http://xn--80arbjktj.xn--j1amh/ , его-то мы и вписываем в уже знакомый код
RewriteEngine On RewriteCond %{HTTP_HOST} http://xn--80arbjktj.xn--j1amh/ RewriteRule (.*) http://domain2.ua/$1 [R=301,L]или в соответствующую строку в панели управления.
blog.ukrnames.com
Как сделать 301 редирект домена (страницы) на другой домен (страницу)
Что такое 301 редирект?
Редирект (redirect) — это автоматическое перенаправление (переадресация) пользователя с одной страницы сайта на другую страницу. Редирект может осуществляться в пределах одного домена, то есть, к примеру, с главной страницы на внутренние или с внутренних страниц на главную. Но чаще всего, происходит перенаправление (редирект) с домена на домен, то есть на другой сайт.
Цифра 301 означает код, который возвращает веб-сервер в ответ на запрос браузера, когда он запрашивает какую-либо страницу. Обычно, он отдает код 200 (OK) – страница существует, и она немедленно отображается в окне браузера. А вот 301 означает, что страница перемещена перманентно, то есть навсегда. В ответе сервера также указывается новое местоположение перемещенной страницы.
301 редирект помогает переехать на другой домен
В каких случаях необходим серверный редирект?
В своей работе мне приходиться сталкиваться с типичной ситуацией: клиент создал новый сайт, под него арендовал новый домен с более красивым и коротким именем. Кстати, а вы читали статью как выбрать доменное имя правильно?Затем он перенес туда весь контент со старого сайта. Что дальше? Дальше моя задача состоит в следующем: оставить в поиске только один новый сайт, а со старого перенести его «вес», со всем внешним ссылочным, тИЦ, PR, позициями и трафиком. То есть, попросту говоря, — «склеить» старый сайт с новым. Для этого и нужно сделать редирект.
Правильный редирект — он какой?
Вообще говоря, способов сделать и настроить редирект очень много. В этой статье я опишу только все наиболее простые и популярные методы. Вы можете выбрать подходящий именно вам способ сделать редирект для сайта (домена), а также для страниц (ссылок).
Я сознательно не буду упоминать варианты использования мета-тегов:
<meta http-equiv="refresh" content="0;URL=http://newdomain.com" />
<meta http-equiv="refresh" content="0;URL=http://newdomain.com" /> |
Или скриптов JavaScript, так как такие операции могут быть приняты за попытку применить дорвей.
Самым правильным перенаправлением считается серверный редирект, когда браузеру и поисковому роботу отдается код 301. Бывают еще редкие случаи употребления файла robots.txt. Но я вам не рекомендую использовать его в этих целях. Всё-таки robots.txt предназначен для других задач.
Редирект через htaccess
.htaccess позволяет прописать редиректы
Файл .htaccess является единственным способом изменять настройки веб-сервера под нужды вебмастера. Это просто файл, размещаемый обычно в корне сайта, в котором прописываются директивы, управляющие поведением сервера.
Именно в файле .htaccess предстоит разместить код, который будет перенаправлять пользователя на другую страницу и/или на другой домен. Скрипты редиректов, показанные ниже, необходимо размещать в этом файле. Он должен находиться в корневой папке сайта, и обязательно не забудьте поставить точку (.) перед именем файла.
Случай №1: изменение имени файла
Вы поменяли название файла old_file.html на new_file.html. Чтобы автоматически перенаправить посетителя с одного файла на другой, запишем в файле .htaccess следующую директиву:
redirect 301 /old_file.html http://www.example.com/new_file.html
redirect 301 /old_file.html http://www.example.com/new_file.html |
Случай №2: Замена расширения файла
Вы изменили расширение файла с file.html на file.php. В этом случае пишем:
redirect 301 /file.html http://www.example.com/file.php
redirect 301 /file.html http://www.example.com/file.php |
Как видите, код практически идентичен случаю №1.
Случай №3: Редирект с домена с www на домен без www
Самый, пожалуй, распространенный случай, когда необходимо «склеить» два домена: www.example.com и example.com. Если этого не сделать с самого начала, то может сложиться ситуация, когда поисковая система проиндексирует оба сайта (хотя физически это будет один и тот же сайт). Такого допускать ни в коем случае нельзя. Сразу определяйтесь какого вида домен вы хотите видеть в выдаче: с префиксом www или без него.
Пример кода, когда хотите оставить домен без www:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] |
Пример кода, когда хотите оставить домен c www:
RewriteEngine On RewriteCond %{HTTP_HOST} ^example.com RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteEngine On RewriteCond %{HTTP_HOST} ^example.com RewriteRule (.*) http://www.example.com/$1 [R=301,L] |
Случай №4: Избавляемся от префикса index.php после слэш (/)
Если вам не нравится URL вида http://example.com/index.php, то способ избавиться от префикса index.php следующий:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://example.com/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://example.com/ [R=301,L] |
Соответственно, если расширение .html, то меняем index.php на index.html
blogbit.net
Переадресация домена на субдомен | Записки WEB специалиста
👁706 просм.
Иногда вы можете столкнуться с ситуацией, когда есть вроде как один домен domen.com, но при вводе его в адресную строку браузера он открывается в двух вариантах: как http://domen.com, так и http://www.domen.com. Вроде ничего страшного, ведь все равно открывается 🙂 И в Search Console и в Яндекс Вебмастер домен www.domen.com настроен как зеркало domen.com, или наоборот.
Но тут то и кроется подвох. Дело в том, что если у вас не настроен 301 редирект с основного домена на его зеркало, то поисковые роботы Google и Яндекс при очередной перепроверке увидят, что домен domen.com и www.domen.com не зависимы друг от друга и могут «расклеить» их между собой. Что приведет к тому, что эти два домена появятся в поисковой выдаче, а так как на них абсолютно одинаковый контент, то поисковые системы могут существенно понизить их позиции в выдаче.
Или, например, вы приобрели новый домен, который хотите использовать для своего сайта. Что же делать со старым доменом? Особенно если вы долгое время развивали свой проект и обросли большим количеством ссылочной массы с других ресурсов. Конечно же настроить 301 редирек, чтоб не потерять проделанную работу!
Конечно многое зависит от хостинга, на котором размещены ваши сайты, и иногда приходится прибегать к помощи службы поддержки, чтоб правильно настроить переадресацию сайтов. Но зачастую хватает довольно простых манипуляций с файлом .htaccess, расположенном в корневом каталоге сайта. Рассмотрим как следует проводить эти манипуляции.
Обязательно сохраните резервную копию файла .htaccess перед тем, как вносить в него какие — либо изменения.
Так же обратите внимание на то, что если у вас на хостинге включена функция переадресации в панели управления, то не стоит ее настраивать в файле .htaccess. Нужно использовать только один вариант.
Переадресация с одного сайта на другой
В файле .htaccess нужно указать следующий код:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.domen1.com [NC] RewriteRule ^(.*) http://www.domen2.com/$1 [L,R=301]
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.domen1.com [NC] RewriteRule ^(.*) http://www.domen2.com/$1 [L,R=301] |
Переадресация с www на без www и наоборот
Для переадресации с www.domen.com на domen.com в файле .htaccess нужно указать следующий код:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.domen.com$ [NC] RewriteRule ^(.*)$ http://domen.com/$1 [R=301,L]
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.domen.com$ [NC] RewriteRule ^(.*)$ http://domen.com/$1 [R=301,L] |
Для переадресации с domen.com на www.domen.com в файле .htaccess нужно указать следующий код:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domen.com [NC] RewriteRule ^(.*) http://www.domen.com/$1 [L,R=301]
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domen.com [NC] RewriteRule ^(.*) http://www.domen.com/$1 [L,R=301] |
Переадресация со всех несуществующих поддоменов на Ваш сайт
В файле .htaccess нужно указать следующий код:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^(.*).domen.com [NC] RewriteRule ^(.*)$ http://domen.com/$1 [L,R=permanent]
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^(.*).domen.com [NC] RewriteRule ^(.*)$ http://domen.com/$1 [L,R=permanent] |
Переадресация всех запросов на сайт на отдельную страницу нового сайта
В файле .htaccess нужно указать следующий код:
RewriteEngine On RewriteBase / RewriteRule ^(.*)$ http://domen.com/page/ [L,R=permanent]
RewriteEngine On RewriteBase / RewriteRule ^(.*)$ http://domen.com/page/ [L,R=permanent] |
Во всех случаях параметр R=301 говорит о том, что переадресация будет сделана через 301 редирект.
Надеюсь данная информация окажется полезной для вас и поможет избежать проблем с «Расклейкой» зеркал сайтов и с понижением их в поисковой выдаче.
А как вы обычно настраиваете переадресацию на своих доменах?
web-specialist.info
301 редирект в Wordpress с помощью плагина Redirection
301 редирект страницы делается для того, чтобы автоматически перенаправить посетителя сайта с одной страницы на другую. Это может потребоваться, например, если у вас изменилась структура ссылок и прежние адреса перестали работать. Или какая то страница перестала существовать и чтобы избежать 404 ошибок на сайте (ресурс не существует) делает перенаправление. Например, вы можете сделать перенаправление всех несуществующих адресов на главную страницу вашего сайта.
Считается, что устранение битых ссылок положительно влияет на seo.
В настоящий момент для WordPress редирект проще всего сделать с помощью плагина Redirection. О его популярности свидетельствует несколько сотен тысяч установок, к тому же есть перевод на русский.
Настройки плагина Redirection
После установки плагина заходите в его настройки — меню «Инструменты — Перенаправления».
Здесь вы увидите интерфейс, где в начале будут идти уже созданные вами редиректы, а внизу форма «Добавить новое перенаправление» для добавления новых переадресаций.
Чтобы добавить переадресацию укажите в поле «URL источника» адрес, с которого нужно делать редирект, и в поле «URL назначения» адрес, куда перенаправлять посетителей. После нажатия кнопки «Добавить перенаправление» в интерфейсе появится новая запись. Впоследствии вы сможете видеть сколько по ней было переходов.
В URL назначения вы можете указать и другой домен, то есть сделать редирект на другой сайт.
delaemsait.info