Перенос WordPress сайта на другой домен без плагинов

Практически все плагины по миграции сайта на WordPress имеют ограничения в плане объёма сайта. Рано или поздно, любой сайт перерастает эти ограничения, и пользоваться бесплатными версиями плагинов для переноса сайта на WordPress больше не получится.

На самом деле, ручной перенос сайта ничем не сложнее простого переноса сайта с помощью плагинов. В некоторых моментах так даже проще).

Для ручного переноса сайта на нашем движке нам понадобится всего лишь:

  1. Доступ к папке с файлами WordPress;
  2. Доступ к базе данных, например PHPmyadmin. Он присутствует на большинстве хостингов и в панелях управления VDS.

Статей по переносу сайтов на другие домены в интернете море. Я скорее пишу эту статью как заметку для себя, но может она кому-то ещё пригодится, ибо данный способ самый быстрый и эффективный.

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

  1. Деактивируем плагины сайта на старом домене, во избежание конфликтов;
  2. Копируем файлы WordPress со старого местоположения;
  3. Экспортируем старую DB;
  4. Простым копированием переносим старые файлы WordPress на новый хостинг и домен;
  5. На новом месте создаём базу и импортируем в неё данные с прошлой базы. Меняем две строки в базе wp_options, подставляя актуальный URL сайта с новым доменом;
  6. Заменяем пару строк в файле wp-config, подключая его к новой базе данных на новом месте.
  7. Переписываем URL адреса вручную, либо с помощью бесплатного плагина.
  8. Profit!

Для тех же, кто не понимает, что тут происходит, более подробный процесс переноса:

Действия на старом адресе при переносе сайта на WordPress

Краткий порядок действий таков:

  1. Создание копии файлов вашего сайта на WordPress;
  2. Экспорт базы данных.

Для примера мы предположим, что я хочу перенести сайт одного моего клиента с хостинга timeweb на арендованную там же виртуальную машину. Ну и домен ему тоже нужно поменять.

Внимание! Я показываю на примере Timeweb, но по факту на каждом хостинге вам доступны точно такие же функции админ-панели. Просто они выглядят по-разному, но назначение одинаково. Я просто люблю Timeweb и всем рекомендую пользоваться именно их услугами. О том, почему я так его люблю, можно почитать в статье Шаг №2 Выбор хостинга для размещения сайта. В моём случае, главное преимущество timeweb — возможность расширения дискового пространства без покупки доп. тарифа.

Первым делом заходим в панель управления хостингом и скачиваем все файлы из текущей директории WordPress, можно в виде архива. На timeweb это пункты файловый менеджер — архиватор — запаковать и скачать.

Как итог — мы получаем .zip архив со всем содержимым нашего прошлого сайта.

Далее мы идём в базы данных и входим в админку phpmyadmin. Тут важно понимать, что phpmyadmin — всего лишь оболочка для управления БД, а потому в левой части страницы нужно будет выделить именно ту БД. которая отвечает за переносимый сайт.

Выбрав именно нужную нам БД нажимаем на «экспорт», жмём «вперёд» и получаем файл с дампом базы в формате sql.

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

Действия на новом хостинге и домене.

Первым делом, мы берем и закидываем папку с файлами нашего старого WordPress сайта на новое место, попутно разархивируем все файлы в рабочий каталог нового домена. На тестовой VDS тестовый каталог у меня находится по пути www/lescom.shadani.ru/

Все файлы на новое место мы скопировали, теперь нужно создать базу данных. Большинство хостинг-провайдеров не позволят вам создать БД с тем же именем, что и на прошлом месте. Потому, имя БД скорее всего у вас изменится. После создания БД нам нужно запомнить 3 вещи, её имя, имя её админа и пароль.

Создали БД? Отлично! Первым делом нам нужно отредактировать файл wp-config в нашей новой папке сайта. Все данные новой БД вписываем в нужные строки.

DB_NAME — имя нашей базы. DB_USER — имя пользователя базы, ну и DB_PASSWORD — его пароль. Окей, сохраняем и закрываем.

Теперь нам нужно импортировать в новую базу данные из старого дампа. Идём в phpmyadmin, авторизуемся под логином и пользователем, созданным ранее и прописанным в wp-config. Выбираем нашу базу прожимаем Импорт. Указываем файл с БД, который мы скачали с прошлого хостинга и жмякаем «Вперёд».

Следующее, что нам следует сделать — заменить старый URL, хранящийся в базе, на новый. Данная информация находится в wp_options, в строка siteurl и home.

На этом моменте сайте уже должен заработать. Вход в админку сайта производится по старым учётным данным. Единственное НО — на сайте остались старые ссылки, ведущие на прошлый домен. Их нужно переписать, но делать это вручную или через автозамену в БД не стоит.

Во избежание конфликтов рекомендуется так же удалить содержимое папки wp-content/cache/ , однако у меня ни разу не возникало проблем даже когда я забывал это сделать.

Замена старых ссылок на новые при переносе Worpress сайта

Для правильной замены старых ссылок на актуальные лучше всего положиться на плагины. Плагинов с данным функционалом куча, лично я уже привык к Velvet Blues Update URLs, тем более что он ни разу пока что не подводил.

После установки и активации Velvet Blues Update URLs в интрументах появится дополнительная функция — Update URLs.

В верхнее поле заносим старый адрес сайта, в нижнее — новый. Отмечаем галками нужные пункты и прожимаем единственную кнопку.

Плагин радостно оповестит вас об успехе операции. Можно идти проверять — всё должно быть на своих местах, все старые ссылки перебиты на новые и сайт полностью функционирует, словно и не было никакого переноса =)

Если после обновления URL сайт потерял оформление и ругается на незащищённый протокол, значит в настройках WordPress на вкладке «Общие» нужно указать https.