Как правильно склеивать домены с использованием редиректа 301 через файл .htaccess

стрелочки и указатели на красном и зеленом фоне

Если не указать главное зеркало домена, поисковые системы могут автоматически выбрать его на свое усмотрение, что может создать проблемы.

Например, домены www.devarts.pro и devarts.pro выглядят одинаково для пользователей, но для поисковиков это два разных сайта. Это может негативно повлиять на SEO, но проблему легко решить, настроив 301-редирект, который указывает поисковым системам на основное зеркало.

Теперь о другом вопросе: что делать, если старый сайт больше не существует, но пользователи продолжают на него переходить? Как перенаправить этот трафик на новый домен?

Предположим, вы переносите сайт devarts.pro на devarts.top. Перенос сам по себе несложен и займет около часа при корректных настройках DNS. Но обновить все старые ссылки, которые остались на других сайтах, невозможно и нецелесообразно. Давайте разберем, как это можно решить.

Перенаправление через мета-тег

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>МЫ ПЕРЕЕХАЛИ</title>
<!-- где 5 = 5 секунд перед редиректом -->
<meta http-equiv="refresh" content="5; url=http://ВАШ_НОВЫЙ_АДРЕС_САЙТА.ru">
</head>
<body>
<h1>Мы переехали на новый адрес http://....</h1>
</body>

Редирект 301 через .htaccess

RewriteEngine On
 RewriteCond %{HTTP_HOST} ^olddomain.net$ [OR,NC]
 RewriteCond %{HTTP_HOST} ^www.olddomain.net$ [NC]
 RewriteCond %{REQUEST_URI} !^/robots.*
 RewriteRule ^(.*)$ http://newdomain.net/$1 [R=301,L]

301-редирект полностью решает проблему, описанную в примере с мета-тегом. Он перенаправляет посетителей с одного домена на другой, сохраняя внутренний адрес страницы. Это происходит автоматически и незаметно для пользователя.

Чтобы настроить 301-редирект, создается правило в файле .htaccess. Оно обеспечивает перенаправление со старого домена, например, olddomain.netwww или без), на новый домен, например, newdomain.net.

Схема перенаправления примерно такая: 
http://olddomain.net/sitepage9.html –> 
http://newdomain.net/sitepage9.html