Перенос сайта WordPress на другой домен: полное руководство по шагам
- Составляющие переноса
- Перенос сайта на примере хостинга Beget
- Загрузка баз данных
- Загрузка файлов на том же хостинге
- Файлы и база данных нового сайта
- Создание новой базы данных
- Загрузка файлов на новый сайт
- Плагина duplicator – автоматический перенос сайта на другой домен и хостинг
- Серверная настройка
- Изменение robots.txt
- Правильное SEO при изменении домена
- Проблема с кириллическими адресами
- Заключение
Составляющие переноса
Составляющих переноса выделяю ровно 3:
- Файловая, отвечающая за перенос движка WordPress и баз данных
- Серверная, отвечающая за редиректы и правильное отображение основного домена
- SEO составляющая, обеспечивает плавные и равномерный переезд на новый домен без особой потери позиций в поиске
Давайте разберем все пункты, от начал и до конца. Процедура очень деликатная и требует максимум внимания.
Перенос сайта на примере хостинга Beget
Первая часть это перенос файлов и базы данных на новый основной домен. В примере разберу два тестовых поддомена, new.burn-photo.ru его перенесем на pro.burn-photo.ru, используя инструменты на одном хостинге Beget.
Загрузка баз данных
В панели хостинга входим в раздел MySQL, отсюда будем скачивать БД и менять в ней следы от старого ресурса.
Находим базу данных соответствующую старому домену и выбираем оранжевый значок панели PhpMyAdmin.
Откроется панель, в верхнем меню нажимаем кнопку Экспорт, запустим приложение по выгрузке. Выбираем быстрый режим, формат SQL и на Вперед.
Загрузится архив, в котором будет один элемент, давайте сразу отредактируем его, чтобы потом залить на новый домен. Разархивируем в формате SQL и откроем с помощью любого текстового редактора, я использую Notepad++.
Откроется большой текстовый документ с информации о сайте, здесь нужно поменять старый домен на новый. Жмем комбинацию клавиш Ctrl+f и переходим в раздел заменить.
- В поле найти – вставляем старый адрес
- В поле – заменить новый URL
- Жмем Заменить все
Если перенос осуществляется по протоколу HTTP, то действуем как в примере выше. Если перенос осуществляется с HTTP на HTTPS то вписываем для замены с этими префиксами, как указано на скриншоте ниже.
После запуститься процесс замены, и Notepad++ выведет во всплывающем окне сколько затронуто элементов, тем самым целиком изменим массив url старого ресурса. У меня 210 записей, у вас будет другая цифра, в зависимости сколько было записей, плагинов и т.д.
Загрузка файлов на том же хостинге
Оставим пока базу данных, и перейдём к загрузке WordPress. Переходим в панели бегета в раздел Файловый менеджер.
Находим папку с названием домена с которого происходит перенос, нажимаем правой кнопкой мыши и выбираем Скачать архивом zip. Произойдёт загрузка архива, ждем окончания процесса.
Со старым доменом работу закончили и подготовили к загрузке. Далее будем настраивать уже новый сайт.
Файлы и база данных нового сайта
На этом этапе у вас должен быть зарегистрированный и активный новый домен для переноса. Мы будем переносить сайт WordPress на pro.burn-photo.ru.
Создание новой базы данных
Снова заходим в MySQL, вводим название базы, пароль и выбираем добавить.
Не забываем записывать, что вводите в отдельный блокнот с логинами и паролями.
Записываем в отдельный документ:
- Имя базы valent5k_453
- Имя пользователя на бегете совпадает с именем базы valent5k_453
- Пароль SKwovFrr
- Сервер localhost
Базу создали, она появиться в списке, расположенный ниже. Находим оранжевый значок PhpMyAdmin.
Откроется страницы чистой базы данных, покажу пошагово, что тут нужно делать.
- Открываем вкладку Импорт
- Теперь на кнопку Выберите файл, откроется окно выбора загружаемой БД. Находим на компьютере ту базу, которую скачивали и меняли ранее
- Выставляем режим SQL
- Жмем Вперед
Посмотрите остальные настройки и сделайте по аналогии у себя. Успехом станет сообщение, что таблицы WordPress перенесены и в левом столбце появятся таблицы с записями.
Загрузка файлов на новый сайт
Создадим каталог под сайт на который будем переносить. В панели Beget заходим в раздел Сайты. Вводим название (сделаю pro-burn-new) и на Добавить, соответствующий пункт появится в списке снизу, нажимаем на значок цепочки.
Из списка выбираем доменное имя, на которое будем переносить.
Должно получится так.
Остался один шаг, это загрузка на хостинг движка WordPress и синхронизация их с базой. Переходим в файловый менеджер Бегета:
- Открываем папку нового сайт, в нашем случае pro.burn-photo.ru
- Заходим в папку public_html
- Нажимаем на кнопку Загрузить
- Выбираем тот архив, который скачивали ранее
- Нажимаем Загрузка
- Дожидаемся 100% и закрываем
Появится архив в корневой папке, нужно его разархивировать, нажимаем на него правой кнопкой мыши и выбираем Распаковать архив, запуститься процесс, по окончании появиться папка с таким же названием, как и архив.
Но нам нужно, чтобы в корневом каталоге располагались файлы WordPress, пока что они находятся внутри распакованной папки. Не беда, экран разделен на два окна, в правой части открываем распакованную папку, а в левой папку public_html нового сайта pro.burn-photo.ru. Обводим в правом окне все элементы и нажимаем переместить. Объекты переместятся в корневую папку.
Мы переместили объекты из одной директории в другую, вордпресс должен лежать в каталоге public_html, а не в подкаталоге. Можно удалить архив, и получившуюся после распаковки папку.
Находим wp-config.php, нажимаем правой кнопкой мыши и выбираем Правка.
Появится всплывающее окно, в нем меняем значения на новые для подключения базы данных, которую мы создавали выше и на Сохранить.
Готово, давайте откроем новый домен и посмотрим на его работу.
Все отлично и перенос без смены хостинга на новый домен произведен корректно. Может появиться ошибка error establishing a database connection, значит введенные текст подключения в wp-config неправильный. Походите по сайту, посмотрите на работу. Для наглядности процесса приложу собственное видео.
Плагина duplicator – автоматический перенос сайта на другой домен и хостинг
Плагин Duplicator поможет справиться с переносом немного быстрее. Принцип действия у него такой:
- Подготовка CMS и БД
- Архивация
- Создание установщика, запускающий процесс
- Настройка параметров входа и создание новых пользователей
Подробное описание есть в нашем видео, как происходит весь процесс, способ подходит для всех хостингов. В ролике показан процесс когда хостеры разные, но система одинаковая.
Серверная настройка
Если вы хотите перенести блог WordPress на другой домен, то необходимо прописать редиректы (перенаправление) для всех страниц. Нужно чтобы при заходе пользователя на старый сайт, его автоматически перекидывало на аналогичную страницу нового.
Для этого в корне старого сайта есть .htaccess, если нет, то создайте. Добавляем код в .htaccess – заходим в файловый менеджер, и как с wp-config редактируем и сохраняем, с добавлением кода в начало.
Код для вставки выглядит так:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.ru$ [NC]
RewriteRule ^(.*)$ http://domain2.ru/$1 [R=301,L]
Вместо domain1 вставляем доменное имя откуда идёт перенаправление, а domain2 домен куда идёт редирект, в третьей строчке если есть сертификат у нового домена, то пишем https. Вставив и сохранив проверяем работу сайта, зайдя по старому адресу, должно сработать перенаправление.
Изменение robots.txt
Необходимым действием после окончания процесса переноса и настройки редиректов – это правка robots txt. Если такого документа нет, то нужно создать роботс для WordPress (ссылка на инструкцию). Если такой документ существует, то нужно изменить директиву sitemap, и при наличии host. Открываем его на сервере и меняем текст.
Правильное SEO при изменении домена
Конечно можно оставить как есть, и поисковики через некоторое время увидят редирект, переиндексируют и заменят выдачу с новым доменом. Но если не помогать поисковикам, то этот процесс пойдет очень долго.
Описывать как помочь с переездом на новый домен не будем, потому что процесс долгий, и для каждого сайта он индивидуальный. Процесс подробно расписаны в справочнике по помощи вебмастерам. Вот подробная инструкция как правильно переехать. Выведу план действий
- Добавление нового домена в панель webmaster.yandex.ru
- Настройка редиректа с одного домена на другой (делали в предыдущем пункте)
- Изменение robots
- Проверка что сайты совпадают между собой структурно
Проблема с кириллическими адресами
Проблема с переездом будет если один из доменов будет кириллический. Конечно мы изменим ссылки на новый урл в базе данных, но остальная часть адреса останется на другом языке – это грубейшая ошибка оптимизации. Выхода тут три:
- Вручную перезаписывать адреса статей в WordPress и на каждую страницу делать перенаправление
- Подумать над тем, чтобы оставить как есть
- Если перенос обязательно нужен, то изменять адрес домена только на аналогичную раскладку.
Переиндексация, особенно кириллических адресов, к хорошему не приведет, ресурс опустят в выдаче.
Заключение
В заключении выведем краткий чек–лист действий по переезду WordPress с одного домена на другой.
- Скачиваем базу и файлы
- Заменяем в БД домен
- Создаем новую и экспортируем базу данных
- Загружаем на новый сайт
- Изменение подключения БД в wp-config.php
Главное не боятся и делать согласно инструкции, если будут вопросы, задавайте, рад помочь, успехов.
Пожалуйста, оцените материал:
При настойке 301 редиректа возникла проблема.
Добавил правило в файл .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.ru$ [NC]
RewriteRule ^(.*)$ http://domain2.ru/$1 [R=301,L]
Редирект раотает только с главной страницы. Все нутренние старницы при этом отдают код ответа 200 ОК, т.е. с них редирект не работает. В чём может быть проблма? Сайт на WP.
Приветствую, в таком случае напишите хостингу в поддержку, у некоторых серверов есть особенности редиректов на https. Например вдруг у вас nginx вместе с apache, там другие правила нужны.
Спасибо за лучшую и в то же время простую инструкцию! У меня все сработало как раз не Бегете (пример переехавшего сайта в поле “сайт”).
Отдельная благодарность за предостережения по кириллическим доменам.
Был рад помочь.
Добрый день, все выполнил как вы рекомендуете, но при открытии нового адреса, в строке высвечивается старый. В чем причина, как устранить?
Спасибо! Статья помогла. Очень доходчиво объяснено про перенос на новый домен. Получилось с первого раза!
Самая лучшая инструкция. Я сам не заметил как сайт перенес и с подводными камнями в процессе переноса не столкнулся. Два чая Гринфилда автору!
У меня после переноса сайта оказалась проблема со входом в админку на новом адресе. Старый пароль не подходил, установить в wp_users не получилось. Пришлось восстанавливать через почту. Может дополните статью про проблемы со входом в админ-панель после переноса?
Большое спасибо, всё получилось!
Перенёс по инструкции в пределах одного хостинга, с домена на латинице на домен на кириллице.
Всё заработало на php 7.4