О сайтах и не о сайтах

Теперь и в tg!

tg

Переехал с твиттера на t.me/tulvit_blog, если что.

Переезд сайта на новый домен

Вот вроде бы и завершился переезд сайта SComedy с домена standupcomedyportal.com на scomedy.com. В трафике не потерял, по нужным запросам вывожусь в выдаче новым сайтом, все страницы проиндексировались успешно. Впору инструкцию написать. Хотя получится больше не абстрактная инструкция, а просто мой опыт, т. к. в разных случаях могут быть разные же особенности и подводные камни.

Итак, для переезда сайта со старого домена на новый с минимальными потерями, следует выполнить следующие пункты.

1. Сайт-заглушка на новом домене

Создаем сайт, вешаем на него одностраничник-заглушку, привязываем к нему домен, на который планируем переехать.

Я создал заглушку с таким текстом:

Stand-Up Comedy

Just in a few days this domain will be a new home for a Stand-Up Comedy Portal, currently located at standupcomedyportal.com (a rather long URL, huh, scomedy.com is a little bit shorter, though).

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

Для ускорения индексации заглушки имеет смысл добавить ее в AddUrl форму гугла или же поставить внешнюю ссылку. Я разметил ссылку на новый домен в подвале сайта, с которого и планировал съезжать. Бот гугла пришел уже через час, а сама заглушка появилась в индексе спустя три дня.

2. Два домена и один сайт

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

Намного проще и правильней будет держать один сайт, просто сделать новый домен основным, а старый его алиасом. Как я и поступил. Все что требуется, это немного отредактировать файл нашего виртуального хоста (в моем случае это scomedy.com.conf):

# domain: scomedy.com

# public: /home/tulvit/public/scomedy.com/

# Admin email, Server Name (domain name), and any aliases

ServerAdmin admin@scomedy.com

ServerName scomedy.com

ServerAlias www.scomedy.com standupcomedyportal.com www.standupcomedyportal.com
 

# Index file and Document Root (where the public files are located)

DirectoryIndex index.html index.php

DocumentRoot /home/tulvit/public/scomedy.com/public

# Log file locations

LogLevel warn

ErrorLog /home/tulvit/public/scomedy.com/log/error.log

CustomLog /home/tulvit/public/scomedy.com/log/access.log combined

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

3. Настраиваем редирект

Теперь надо сделать так, чтобы при обращении к сайту по старому домену нас перебрасывало на новый домен 301-ым редиректом. Или, если брать в общем, то чтобы с сайтов:

old.site

www.old.site

www.new.site

нас перебрасывало на new.site.

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

RewriteCond %{HTTP_HOST} ^www\..+$ [NC,OR]

RewriteCond %{HTTP_HOST} ^standupcomedyportal\.com$ [NC]

RewriteRule ^ http%{ENV:protossl}://scomedy\.com%{REQUEST_URI} [L,R=301]

После чего все проверяем руками, ожидаемо ли работает. Ну и ответы сервера тоже проверяем каким-нибудь сервисом для удобства, я использовал HTTP Status Code Checker:

scomedy ответ сервера

Замечание: браузер частенько кэширует все подряд, в том числе и редиректы, т. е. если мы поставили на домен 301-ый редирект, зашли на него, потом поменяли на 200 OK и снова зашли - браузер весьма вероятно нас все равно средиректит. Это может слегка запутать, дескать все вроде сделал правильно, ан не работает. Обновление кэша по Ctrl+R не помогло, открытие анонимных окон тоже. Поэтому тут только один 100%-ый вариант - обращаться к доменам с каким-нибудь случайным GET параметром, вида site.com?jkl.

4. Сервисы гугла

Можно считать, что мы уже переехали. Сайт по новому домену начнет неспешно индексироваться, но в выдаче некоторое время будет отдаваться все еще старый домен. Спустя пару недель (может быстрее, может дольше, в зависимости от самого сайта, одно дело сайт из двух страниц, другое дело из миллиона) проиндексируется значительная часть страниц по новому домену и в выдаче соответственно будет уже новый сайт.

Если наш сайт зарегистрирован в Гугл Вебмастерс и Аналитиксе, явно не лишним будет их перенастроить.

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

Что касается Аналитикса, то код остается старым, просто в административных настройках нужного сайта и его представления (колонка VIEW) меняем старый адрес сайта на новый. Скришноты с инструкцией делать не буду, уже забыл что там и как. Соглашусь, поначалу процесс кажется ну ни разу не интуитивным. Но метод научного тыка в данном случае работает на ура.

5. И никаких изменений на сайте!

Обычно переезд сайта на новый домен планируется совместно с какими-то еще глобальными изменениями, например сменой структуры или редизайном. Ни в коем случае не надо это делать одновременно. Гугл запутается. Мы ему говорим, что дескать старый сайт теперь на новом домене живет. Он заходит туда и туда, видит что таки да, старый сайт переехал, все нормально. А если мы сделаем редизайн? Гугл заходит на старый домен - там редирект. Заходит на новый домен - а там совершенно другой сайт, с точки зрения гугла. Совершенно другая верстка, другой исходный код и т. д. Может он в конечном итоге и разберется что к чему, но зачем ему жизнь усложнять.

В общем, ждем несколько недель после переезда на новый домен прежде чем вносить какие-то существенные изменения. Да даже несущественные. Например, на старом сайте у меня был формат тайтла "Blah-Blah-Blah | Stand-Up Comedy Portal" и, понятное дело, с переездом его надо было сменить на "Blah-blah-blah | SComedy". Я и сменил. Но только совсем недавно, через собственно несколько недель после переезда.

6. Внешние ссылки

Хорошо бы, конечно, отписаться самым топовым ресурсам, которые ссылаются на нас, чтобы они поменяли адрес ссылки. Но я не стал этим заниматься, хотя некоторое количество "вкусных" ссылок имеется. Ленивый я. Только вчера вот дошли руки в аккаунтах в соц. сетях заменить старый адрес сайта на новый, а тут по почтам кому-то писать. Но это не помешало бы, да.

PS

Также не лишним будет и прочитать статью Best practices when moving your site на официальном блоге гугла и посмотреть видео от Мэтта Кацца:

 

PS2

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