Перенос сайта
на другой хостинг

от 5 980 руб.

Общие рекомендации

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

Требования к конфигурации

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

Вам даже не нужно разбираться в деталях. Достаточно при создании сайта запросить требования у веб-студии. При любых доработках обязывать обновлять этот список всех подрядчиков. При выборе нового хостинга предъявлять его консультантам для проверки на соответствие.

В качестве примера, чтобы вас быстрее поняли, можете использовать этот:

  • Версия языка PHP 5.4+, APC
  • Версия СУБД MySQL 5+
  • Размер диска 1 Гб
  • Размер выделяемой памяти на процесс 8 Мб
  • Веб-сервер Apache 2 (mod_rewrite, mod_headers)
  • Сделать копию файлов:
    • Настройки VirtualHost
    • Настройки php.ini
    • Настройки my.ini
    • Настройки crontab

Файловая система

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

Все пути к файлам сайта (картинки, модули, библиотеки, т.д.) должны быть указаны относительно корневой директории.

Пример файла конфигурации сайта:

Плохо Хорошо
Сайт = /var/www/
Фотогалерея = /var/www/assets/gallery
Блог = /var/www/assets/blog
Проекты = /var/www/projects
При переносе сайта для замены информации о папках вам нужно будет в нескольких тысячах файлах заменить все адреса, это довольно скучная, рутинная и болезненная операция.
Сайт = /var/www/
Фотогалерея = Сайт + /assets/gallery
Блог = Сайт + /assets/blog
Проекты = Сайт + /projects
Достаточно изменить корневую директорию /var/www на новую /home/u9986/www и все дочерние директории автоматически станут также доступны.

Тоже самое касается доменного имени сайта (прим. hardkod.ru) и протокола сайта http/https. Может случиться так, что вам придется их изменить. Везде и всегда при выводе ссылок на сайте (каталог, меню, ссылки в тексте), вставке картинок в тексте лучше использовать относительный адрес /o-kompanii или /files/logo.png вместо полного абсолютного https://hardkod.ru/files/logo.png включающего протокол http/https, домен, путь. К счастью, все современные системы: Joomla, WordPress, Bitrix, т.д. при переносе на другой хостинг делают это автоматически для каталогов и меню, контактных форм, а вам лишь остается соблюдать это простое правило при наполнении страниц текстами и картинками.

Вдруг вам будет интересно. Если ваш сайт принимает платежи или хранит пользовательские данные (личный кабинет), то в статье Как подключить SSL-сертификат и зачем нужен HTTPs описаны основные моменты, а главное содержится информация о том, как получить SSL сертификат БЕСПЛАТНО!
 

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

Пошаговая инструкция

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

Все сайты очень разные, поэтому ниже лишь общие рекомендации. Для переноса на другой хостинг систем: 1С-Битрикс (Bitrix), Opencart, Modx, WordPress вы найдете ссылки в конце статьи.

И так приступим, для начала нам понадобятся доступы (логин и пароль к услугам):

  • Регистратор домена (как восстановить пароль к домену)
  • Панель управления хостингом:
    • FTP/SSH доступы к серверу
    • Реквизиты базы данных
  • Требования к конфигурации (о которых мы говорили в начале статьи)

Общая картина

Когда вы набираете адрес в строке браузера, тот запрашивает информацию на каком хостинге находится сайт у вашего провайдера интернета. Поэтому после физического переноса файлов, базы данных, настроек сайта и полной проверки нам понадобится обновить эту информацию (подробнее в главе делегирование домена). Чтобы иметь возможность проверить работу сайта до делегирования, все современные хостинги предоставляют временное доменное имя (прим. ab123.tmweb.ru).

Перенос базы данных

Данный шаг является необязательным, т.к. не все сайты используют базы данных. Мы рассмотрим наиболее частый случай с популярной базой данных MySQL. Если ваш сайт работает под управлением систем: Битрикс (Bitrix), Joomla, Drupal, WordPress, Opencart, ModX, WebAsyst, UMI.CMS, NetCat, тд)

Процесс экспорта/импорта данных идентичен, поэтому нет смысла описывать операцию дважды. Удобнее всего скопировать базу, используя phpmyadmin, он гарантированно будет установлен на вашем старом и новом хостинге, а ссылка находится в письме от хостера доступами или в личном кабинете в разделе “Базы данных”.

Авторизуемся, используя доступы к базе данных или отдельно присланные вашим старым хостером. Выбираем в левой колонке нужную базу данных и переходим в закладку Экспорт / Export.

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

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

Резервную копию базы данных, да пусть немного дольше, но зато без поиска доступов к phpMyAdmin, можно получить оформив обращение в техподдержку из личного кабинета. Возможно, придется подождать в течение суток, но зато вы сможете скачать и базу, и файлы как описано в следующем пункте.

Перенос файлов сайта

Здесь нам понадобятся доступы к FTP или SSH и бесплатная программа FileZilla, которая поставляется для всех операционных систем.

Открываем менеджер сайтов (Site Manager)

Добавляем нужный протокол FTP/SSH + полученные в личном кабинете хостера логин и пароль.

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

  • httpdocs
  • html
  • public_html
  • htdocs
  • www
  • wwwroot

Если вы запрашивали техподдержку хостинга сделать резервную копию базы, то она будет лежать внутри корневого каталога сайта или рядом на уровень выше, возможно, в папках backup, restore, data

Перенос сайта на новый хостинг

По аналогии с экспортом/скачиванием файлов и базы вам необходимо проделать те же самые операции на новом хостинге, но в обратной последовательности.

  1. Перенести файлы сайта с компьютера в корневую директорию на сервере хостера.
  2. Импортировать ранее экспортированную базу данных с помощью phpMyadmin, выбрав самый быстрый способ. Для этого, возможно, вам заранее понадобится создать базу данных на новом хостинге. Это также делается в личном кабинете, в разделе “Базы данных”.

Теперь самое интересное. В зависимости от типа системы вашей управления вам необходимо найти и изменить настройки файловой системы и базы данных в файлах конфигурации. Ниже список для наиболее популярных систем.

Система управления (CMS) Расположение файлов конфигурации Путь указан от корневой папки сайта
Bitrix /bitrix/php_interface/dbconn.php
WordPress /wp-config.php
Joomla /configuration.php
ModX /config.core.php /connectors/config.core.php /manager/config.core.php
OpenCart /admin/config.php /config.php
Drupal /sites/default/settings.php
Prestashop /config/settings.inc.php

Не лишним будет проверить файл .htaccess на предмет жестко прописанных путей/перенаправлений, но будьте крайне осторожны, файл чувствителен к лишним спецсимволам, переносам строк. В случае опечаток/ошибок вы получите ошибку 500 при заходе на сайт.

Чек-лист проверки сайта на работоспособность

  • Убедитесь визуально, что сайт работает корректно. Пройдитесь по всем типовым страницам. Это значит, что если у вас есть раздел блог, то хорошо бы (но не всегда возможно) пройтись по всем его статьям, но минимум зайти хотя бы в одну из них. Также хотя бы в одну новость, пример работ из раздела портфолио, в один товар, в одну страницу каталога и т. д.Практически все современные системы управления имеют страницу самотестирования, которая содержит информацию обо всех ошибках и несоответствиях настройки системы. В случае обнаружения сообщений Warning, Notice, Fatal Error лучше всего обратиться за помощью к специалистам, это значит процесс переноса прошел с ошибками, нужно детально разбираться в причинах. Ваш сайт может быть уязвим для атак вирусов, работать некорректно, даже если визуально ничего не изменилось.
  • Проверьте файлы /robots.txt /sitemap.xml если вы изменяли корневую папку сайта, доменное имя или протокол, то эти изменения нужно также отразить.
  • Проверьте работу всех форм заявок, обратного звонка на отправку сообщений администратора.
  • Если вы изменяли доменное имя, то вам необходимо также изменить его в настройках виджетов онлайн-консультанта, счетчиков посещаемости (Яндекс.Метрика, Google Analytics, GTM).

Делегирование домена

Как только вы убедились, что все системы работают в штатном режиме можно переходить к делегированию домена. Идея проста. Нам нужно оповестить всех провайдеров в мире, что доменное имя должно ссылаться на новый хостинг. Сразу хочу предупредить, что этот процесс довольно длительный и вы практически не можете на это никак повлиять. Полное обновление информации занимает от 15 минут до 24 часов. Также возможны ситуации, когда два пользователя одновременно заходят на один и тот же адрес, но формально видят два разных сайта, поэтому так важно чтобы до окончания делегирования сайт на старом хостинге также работал.

Для наглядности, чтобы было легче определить какой из сайтов у вас открылся при заходе (при условии, что они полностью одинаковы) достаточно в корневой директории сайта создать текстовый документ с названием хостинга, например, /hosting.txt. Таким образом, запросив этот файл в браузере http://example.com/hosting.txt вы всегда сможете определить, завершен ли процесс делегирования.

Для того, чтобы делегировать домен на новый хостинг вам понадобится:

  • Доступы к регистратору домена
  • Список NS-серверов нового хостера (обычно находится в разделе помощи) выглядит как несколько доменных имен вида ns1.nic.ru, ns2.nic.ru, ns3.nic.ru

Все панели регистраторов/хостеров выглядят по разному, но суть вашей задачи проста. Вам нужно авторизоваться в панели регистратора, выбрать раздел “делегировать домен” или “управление NS-записями” и удалить старые, добавить новые адреса.

По истечению 24 часов убедитесь, что сайт отдает в файле /hosting.txt название вашего нового хостера и можно смело отключать старый хостинг. Резервные копии, созданные при переносе лучше не удалять (главный принцип бухучета – двойная запись), всегда полезно иметь копию своего сайта.

Поздравляю, ваш сайт успешно перенесен!

Помните, вы всегда можете обратиться за помощью к нам 8 (800) 350-81-86. HARDKOD работает со всеми существующими системами управления и имеем опыт переноса более тысячи сайтов, больших и маленьких, сложных и не очень.

Как еще можно увеличить скорость сайта?

По мере увеличения посещаемости веб-сайта часто возникает вопрос скорости его работы. Здесь есть несколько способов повысить скорость работы сайта, вот основные из них: