Как перенести сайт на новый домен скриптом 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).

  1. Переносим все файлы вашего сайта.
  2. Загружаем скрипт корневую папку вашего веб-сайта (рассказал как делать выше).
  3. Устанавливаем права на скрипт.
  4. Открываем скрипт в браузере
  5. Заполняем необходимые поля для подключения к Mysql и нажимам кнопку "Test connection", успешный результат выглядит так как на скриншоте ниже
  6. Заполняем в самому верху страницы раздел "SearchReplace", в моем случае получилась всего одна строка
  7. Нажмите кнопку «Do a safe test run», чтобы выполнить пробный прогон без поиска/замены.
  8. Внимательно читаем раздел "Let's go". И изучаем в самом низу, какие изменения скрипт предлагает сделать.
  9. Если все хорошо, то выполняем замену - нажмите кнопку "Search and Replace". Помните! Обратной дороги не убедт, только восстановление из бэкапа. Удачи!!!

Если вы тру админ, то также перенесите кеш старого сайта на новый. В моем случае используется Nginx и плагин кеширования WP Super Cache.

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

  1. Переименовать директорию с кэш фалами.
  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'

</file>

А если вы не тру:-) админ, можете просто удалить все файлы кеша.

Zomro хостинг в Нидерландах. Курс - Английский для IT специалистов Источник.