6 Шагов: Как Перенести Сайт Wordpress на Новый Домен
Для переноса сайта на новый домен, нужно изменить старые записи в коyфигурациооных файлах вашей CMS (в этой статье речь идет о WordPress) и базы данных MySQL.
Перенос сайта WordPress на новый домен включает в себя несколько ключевых шагов. Вот общая последовательность действий:
1. Подготовка
Резервное копирование: Создайте полную резервную копию вашего сайта WordPress, включая файлы и базу данных. Можно использовать плагины, такие как UpdraftPlus, для автоматизации этого процесса.
-
2. Копирование файлов и базы данных на новый домен
Перенос файлов: Загрузите файлы WordPress с вашего старого хостинга и перенесите их на новый сервер. Это можно сделать через
FTP или используя SSH.
Экспорт базы данных: Экспортируйте базу данных с вашего старого сайта. Это можно сделать через phpMyAdmin или с помощью команды
mysqldump.
Импорт базы данных: Импортируйте базу данных на новый сервер. Для этого также можно использовать
phpMyAdmin или командную строку.
3. Обновление настроек WordPress (3 способа)
Обновление файла wp-config.php: Измените настройки в файле wp-config.php на новом сервере, чтобы они соответствовали новой базе данных, пользователю и паролю.
Обновление URL-адресов: Нужно найти и заменить все
URL-адреса в базе данных, чтобы они указывали на новый домен.
Этот этап может быть выполнен одним из трех нижеследующих способов:
Это самый простой способ, требующий от вас минимум действий. Зайдите в админ-панель вашего сайта на страницу «Настройки — Общие». В полях «Адрес WordPress» и «Адрес сайта» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения». Готово. В тот же момент WordPress переадресует вас на страницу входа в админ-интерфейс, но уже на новом домене.
Зайдите в phpMyAdmin и выберите базу данных.
Нажмите на вкладку «SQL» и поочередно выполните следующие 3 запроса, заменив
http://domain.ru и
http://newdomain.ru соответственно на старый и новый адреса сайта (обратите внимание, что в конце адреса не должно быть слеша):
UPDATE wp_options
SET option_value = REPLACE(option_value, 'http://domain.ru', 'http://newdomain.ru')
WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts
SET guid = REPLACE(guid, 'http://domain.ru','http://newdomain.ru');
UPDATE wp_posts
SET post_content = REPLACE(post_content, 'http://domain.ru', 'http://newdomain.ru');
Готово. Теперь сайт будет открываться по новому адресу.
4. Тестирование и исправление проблем
Тестирование сайта: Проверьте новый сайт, чтобы убедиться, что все работает правильно. Проверьте ссылки, изображения, страницы и функциональность плагинов.
Исправление возможных проблем: Если вы обнаружите неработающие ссылки или другие проблемы, вам может потребоваться внести дополнительные коррективы в базу данных или настройки WordPress.
5. Обновление DNS и переадресация
Бесплатные Быстрые Публичные DNS Сервера (DNS Leak)
Обновление записей DNS: Измените записи
DNS для вашего нового домена, чтобы они указывали на новый хостинг-сервер.
Настройка переадресации: Настройте 301 переадресацию со старого домена на новый, чтобы поддержать SEO и перенаправить посетителей и поисковые системы на новый домен.
6. Завершение
Обновление Google Analytics и Search Console: Обновите информацию о домене в Google Analytics и Google Search Console.
Проверка SEO: Убедитесь, что SEO вашего сайта не пострадало от переезда. Проверьте наличие сломанных ссылок и убедитесь, что переадресация настроена правильно.
Важно: Перенос сайта может занять некоторое время и потребовать внимательности к деталям, особенно при работе с базой данных и настройками. Если вы не уверены в своих навыках, рассмотрите возможность обращения за помощью к профессионалу.
Способ 3 при помощи скрипта Search-Replace-DB
Все можно сделать ручками, но в наше время если поискать можно найти полуавтоматизированные решения почти на все случае жизни.
Рассмотрим программу на GitHub Search-Replace-DB. Скрипт Search-Replace-DB был создан, чтобы облегчить процесс переноса веб-сайтов на базе PHP и MySQL. Работает с большинством распространенных CMS.
В некоторых сложных случаях, например из-за неподдерживаемых плагинов WordPress, которые любят портить вашу базу данных, скрипт не сработает. И тогда только ручками переносить
Чтобы установить скрипт, скопируйте и поместите файлы в общую папку вашего сайта и перейдите по адресу 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'
А если вы не тру админ, можете просто удалить все файлы кеша.