Как перенести сайт на новый домен скриптом Search-Replace-DB быстро и правильно
Для переноса сайта на новый домен, нужно изменить старые записи в коyфигурациооных файлах вашей CMS (в этой статье речь идет о WordPress) и базы данных MySQL.
Преамбула задачи: Наш домен task42.topadm.in попал в бан, мы купили новый домен darkfire.cf и переносим сайт на него (а точнее на домен третьего уровня task42.darkfire.cf).
Решение
Все можно сделать ручками, но в наше время если поискать можно найти полуавтоматизированные решения почти на все случае жизни.
Рассмотрим программу на GitHub Search-Replace-DB. Скрипт Search-Replace-DB был создан, чтобы облегчить процесс переноса веб-сайтов на базе PHP и MySQL. Работает с большинством распространенных CMS.
Чтобы установить скрипт, скопируйте и поместите файлы в общую папку вашего сайта и перейдите по адресу yoursiteURL/Search-Replace-DB. Установите права:
chown -R nginx:nginx Search-Replace-DB/
Перехожу на старый сайт в браузере
https://task42.topadm.in/Search-Replace-DB/
Открывается веб-интрефейс скрипта
Сразу вижу страшную надпись (стрелочкой на скриншоте указал), которая гласит, что версия PHP у меня старая 7.2, а скрипт хочет минимум 7.3 и выше. Ладно, меняем на сайте версию PHP (в этой статье я не буду рассказывать как менять на сервере версию PHP).
Использование скрипта
- Переносим все файлы вашего сайта.
- Загружаем скрипт корневую папку вашего веб-сайта (рассказал как делать выше).
- Устанавливаем права на скрипт.
- Открываем скрипт в браузере
- Заполняем необходимые поля для подключения к Mysql и нажимам кнопку "Test connection", успешный результат выглядит так как на скриншоте ниже
- Заполняем в самому верху страницы раздел "SearchReplace", в моем случае получилась всего одна строка
- Нажмите кнопку «Do a safe test run», чтобы выполнить пробный прогон без поиска/замены.
- Внимательно читаем раздел "Let's go". И изучаем в самом низу, какие изменения скрипт предлагает сделать.
- Если все хорошо, то выполняем замену - нажмите кнопку "Search and Replace". Помните! Обратной дороги не убедт, только восстановление из бэкапа. Удачи!!!
Перенос кеша сайта (опционально)
Если вы тру админ, то также перенесите кеш старого сайта на новый. В моем случае используется Nginx и плагин кеширования WP Super Cache.
Для переноса кэша мне нужно сделать 2 действия:
- Переименовать директорию с кэш фалами.
- Рекурсивно во всех файлах заменить имя одного домена на другое
find /var/www/task42.topadm.in/wp-content/cache/supercache -type f -print0 | xargs -0 sed -i 's/task42\.darkfire\.cf/lastwp\.darkfire\.cf/g'
А если вы не тру админ, можете просто удалить все файлы кеша.
Читайте также
- Как перенести сайт с одного хостинга на другой. Перенос сайта на WordPress на новый домен.


