Подробная инструкция — как сделать правильный перенос сайта WordPress.
Решил написать эту статью после последнего переноса сайта для клиента, в котором я перепробовал все методы и определил самый рабочий. Расскажу как подготовиться к переносу и сделать его без ошибок и потери данных. А если что-то не получится, подготовим план Б и быстро откатим всё обратно.
Бывают проекты, когда нужно сайт настроить на одном домене (резервном или поддомене типа new.site.ru) и потом перенести на другой (основной) домен (site.ru). Частая история, когда делаем сайт не с нуля, а обновляем, и нужно чтобы сайт продолжал работать, пока готовим новую версию.
Перенос будем делать в рамках одного хостинга Timeweb, с одного домена на другой, с http на https. Хостинг проверенный, размещаю на нём сайты 8+ лет.
ЧЕК-ЛИСТ из 15-ти шагов для правильного переноса сайта WordPress
Бэкап старого сайта (файлы + база данных);
Бэкап нового сайта (файлы + база данных);
Не удаляйте архив файлов и базу данных старого сайта;
Проверка версии php двух доменов;
Проверка отправки писем;
Создание новой базы данных и загрузка туда данных с бэкапа;
Удаляем файлы старого сайта;
Переносим файлы нового сайта;
Соединяем БД с сайтом через файл wp-config.php;
Замена ссылок в БД с помощью Search Replace DB;
Переносим лицензии шаблона и плагинов;
Настройка редиректов;
Замена ссылок в Elementor;
Проверяем ссылки на сайте;
Проверяем ссылки картинок.
Сохраните вкладку в браузере, чтобы список всегда был под рукой.
Теперь подробно покажу каждый шаг.
Подготовка к переносу сайта
Чтобы показать нагляднее, я сделал два сайта http://old.yourperfectwebsite.ru/ и http://new.yourperfectwebsite.ru/ и буду с old переносить сайт на new.
Хотите научиться делать сайты?
Чтобы сэкономить на разработке или зарабатывать деньги создавая сайты для других? Недавно я записал новый курс "Идеальный сайт на Wordpress" и "Лендинг в Elementor", где рассказал пошаговый план как создавать крутые сайты.
Разработкой занимаюсь более 7-ми лет, на сайтах зарабатываю более 50 тысяч в месяц и в курсе я выложил всю технологию как делать такие сайты.
Делаем копию сначало старого сайта. Она пригодится на тот случай, если что-то пойдет не по плану.
(1) Переходим в папку сайта на хостинге, (2) выбираем папку public_html, на Timeweb именно там находятся все файлы сайта, (3) раскрываем меню и (4) выбираем Архивировать.
Храним архив его на хостинге + скачиваем на компьютер в отдельную папку.
(1) Переходим в раздел Базы данных, а затем в (2) phpMyAdmin. Тут у нас хранятся все базы данных.
(1) Выбираем ту базу, которая относится к нашему сайту, (2) переходим в Экспорт и (3) нажимаем Экспорт. Начнётся скачивание файла БД.
Файл с базой данных добавляем в папку с архивом файлов.
Базу данных с хостинга не удаляем на случай, если нужно будет сделать откат.
1.2 Бэкап нового сайта (файлы + база данных)
Как и в предыдущем шаге, скачиваем архив файлов и базу данных нового сайта, который будем переносить.
В итоге должно получится две папки, в каждой по архиву и файлу с БД.
Дополнительные советы
Не удалять архив файлов и базу данных старого сайта
Файлы мы оставляем в архиве, а базу данных можно вообще не трогать, потому что для нового сайта мы будем создавать новую.
Если что-то пойдем не по плану, то мы сможем разархивировать файлы старого сайта, чтобы была доступна старая рабочая версия.
Проверка версии php двух доменов
Важно чтобы php версии у двух сайтов совпадали, иначе возникнет ошибка и сайт не будет открываться.
Проверка отправки писем
У меня был случай, когда я делал сайт клиенту и, после переноса сайта, с форм не отправлялись письма. Я подумал что-то не правильно настроил, но потом написал в поддержку хостинга с вопросом, мне ответили что на сайте уже 10 месяцев стоит запрет на отправку писем, потому что с сайта отправлялся спам.
В итоге я написал, что мы обновили сайт и почистили вирусы, ограничение на отправку писем нам сняли.
Перенос сайта на WordPress с одного домена на другой
2.1 Создание новой базы данных
Создаём новую БД и туда загружаем данные с файла скачанной БД нового сайта.
2.2 Удаляем файлы старого сайта
Переходим в папку сайта, который будем заменять и удаляем все файлы.
2.3 Переносим файлы нового сайта
Перенести можно с помощью архива, который мы делали ранее. Или через инструментарий хостинга (копировать/вставить).
В моем случае из old.yourperfectwebsite.ru/public_html в new.yourperfectwebsite.ru/public_html
Обратите внимание, чтобы файлы были перенесены именно в папку public_html.
2.4 Соединяем БД с сайтом через файл wp-config.php
Теперь нам нужно указать сайту из какой базы данных подгружать информацию.
Для этого в корневой папке сайта открываем файл wp-config.php и редактируем три строки: (1) имя базы данных, (2) пользователь и (3) пароль. На Timeweb имя БД и пользователь это название БД, а пароль тот, который указывали при создании новой БД в шаге 2.1.
Не забудьте сохранить файл.
2.5 Замена ссылок в БД с помощью Search Replace DB
Теперь наша задача заменить все ссылки в базе данных с http://old.yourperfectwebsite.ru на https://new.yourperfectwebsite.ru
Самый лучший способ это использовать скрипт Search Replace DB
Закачиваем архив с файлами (Search-Replace-DB-master) на хостинг в корневую папку, в моём случае public_html и разархивируем.
Переходим по ссылке этой папки https://new.yourperfectwebsite.ru/Search-Replace-DB-master
Откроется такое окно, которое нужно заполнить:
(1) cсылка на домен, с которого переносим сайт, (2) ссылка на домен, на который переносим сайт (указывайте правильные домены, сохраняйте http или https и в конце домена уберите знак косой черты /), (3) название новой базы данных, (4) название пользователя базы данных, в нашем случае дублирует название БД, (5) пароль от БД, (6) в поле host на Timeweb пишем localhost. Нажмите (7) Test connection, чтобы проверить соединение с базой данных.
Если всё вписали правильно, увидите зеленую надпись (1). Теперь можем нажимать Search and Replace (2), чтобы началась замена домена в базе данных.
Перенос занимает несколько секунд. В моём случае у сайта мало страниц,
Может показать (1) ошибки при переносе, но в нашем случае они незначительные и не влияют на работу сайта. (2) В описании можем видеть сколько было сделано изменений в БД.
Проверяем сайт, если перенос выполнен правильно, нажимаем кнопку (3) delete me, чтобы удалить скрипт с хостинга.
Другие варианты заменить адрес сайта в БД
Заменить в ручном режиме через блокнот, например Notepad++
Использовать плагин Velvet Blues Update URLs, который делает замену ссылок
Использовать плагин Duplicator, который переносит сайт
Я сначала пробовал эти 3 метода, но при переносе возникали различные ошибки, наиболее стабильно работает только скрипт Search Replace DB, потому что он умеет заменять закодированные ссылки, которые не видны при простой замене ссылок.
Проверка после переноса сайта
Доступ к админке, логин и пароль для входа такие же, как у сайта откуда делали перенос.
Давайте авторизуемся в админ панели.
Переносим лицензии шаблона и плагинов
В моём примере нужно перенести лицензию шаблона Reboot и плагина Clearfy Pro.
Настройка редиректов
Если url’ы не совпадают старого и нового сайта, то нужно проставить редиректы (перенаправление). Для меня наиболее удобный вариант это сделать в плагине Clearfy Pro. Там есть вкладка Редиректы.
Пример сайта клиента, где я настраивал редиректы через данный плагин.
Совет: установите плагин Broken Link Checker, он покажет, если на сайте есть битые ссылки.
Замена ссылок в Elementor
Если у вас есть страницы, сделанные в Elementor, там нужно отдельно заменить ссылки. Переходим в Elementor — Инструменты — Сменить URL — в поле (4) пишем старый сайт, в поле (5) пишем новый сайт, также с соблюдением http/https и без / на конце ссылки. Нажимаем (6) Сменить URL.
В модальном окне нам покажет сколько ссылок было изменено.
Проверяем ссылки на сайте
Пройдите по страницам и статьям, посмотрите, чтобы ссылки были правильными.
Проверяем ссылки картинок
Наведите курсор на картинки или откройте в новом окне, проверьте, чтобы путь файла был на новом домене.
На этом всё. Надеюсь инструкция вам была полезна. Напишите в комментариях, получилось сделать перенос?
Будем на связи, Илья Чигарев.
Поделитесь в соцсетях? Благодарю ✌
Илья Чигарев
Привет. Меня зовут Илья и я автор сайта. Делаю на заказ: сайты, блоги, лендинги на Wordpress и Tilda. Веду блог, где рассказываю все секреты и фишки, которые мне принесли результат в онлайн-маркетинге.