Перенос сайта на WordPress чаще всего выполняется в двух случаях:
- Нужен перенос WordPress на хостинг с локального сервера.
- Требуется выполнить перенос с одного хостинга на другой.
Независимо от причины переноса алгоритм всегда одинаковый и состоит из создания резервной копии файлов сайта и базы данных, распаковка резервной копии на новом месте, импорт базы данных и замена информации о домене в БД. В зависимости от способа переноса все эти действия будут выполнены либо вручную, либо автоматически, если использовать плагин миграции.
В этой статье мы рассмотрим оба метода переноса: ручной перенос WordPress сайта, и с помощью плагина.
Перед переносом
Добавление домена и создание БД
Перед началом переноса выполним необходимые действия, чтобы сайт заработал на новом месте.
Прежде всего, необходимо добавить новый домен, на который вы переносите сайт WordPress, в панель хостинга. Рассмотрим пример, как это делается на хостинге beget.ru.
Добавление домена на хостинг
Зайдите в личный кабинет хостинга и перейдите в раздел Домены и поддомены. Введите в поле ваш домен и нажмите Добавить домены.

Домен добавлен и одновременно с этим добавится новый сайт (директория на хостинге). Посмотреть можно в разделе Сайты.
В нашем случае появилась папка test-wpevo.ru/public_html
.

Если вы регистрировали домен в beget, то домен и сайт будет добавлен автоматически при регистрации.
Создание базы данных
Следующий шаг – создание новой базы данных.
- Перейдите в раздел MySQL.

- Заполните поля Имя базы, Пароль и нажмите Добавить.

На хостинге Beget имя пользователя БД всегда совпадает с названием базы данных.
- Новая база данных создана и все готово к переносу сайта.
Перенос сайта на WordPress вручную
Шаг 1.
Перенос файлов сайта
Первым делом необходимо перенести все файлы сайта в папку домена на хостинге. Это можно сделать через файловый менеджер FileZilla ручным переносом.
Или перенести все файлы сайта с помощью архива.
- Создайте архив сайта WordPress.

- Когда архив будет готов, зайдите в файловый менеджер хостинга. На beget откройте раздел Файловый менеджер. Откройте папку домена.
- Загрузите архив на хостинг.

- Распакуйте его в текущую папку.

- Готово! Все файлы сайта уже на новом месте. Теперь займемся базой данных.
Шаг 2.
Перенос базы данных
Для переноса базы данных понадобятся доступы к MySQL на локальном сервере (если перенос вы переносите локальный сайт) и доступы MySQL на хостинге, куда переносим.
- Откройте phpMyAdmin на локальном сервере и выберите базу данных сайта.

- Откройте раздел Экспорт и выполните экспорт базы данных.

- Сохраните файл на компьютере.
- Теперь необходимо открыть в phpMyAdmin базу данных, которую вы создали на хостинге. В beget откройте раздел MySQL. Найдите БД и нажмите на логотип phpMyAdmin.

- Откройте раздел Импорт и загрузите файл базы данных. Нажмите Вперед.

- После успешного импорта перейдите в раздел Структура и откройте таблицу
wp_options
.

- Установите новые значения для опций
siteurl
иhome
. Новым значением будет URL вашего сайта. В нашем примере это – test-wpevo.ru.

- Перенос базы данных завершен!
Шаг 3.
Изменение данных БД в WordPress
Теперь нужно указать в конфиге сайта название новой базы и доступы к ней.
- Откройте корневую папку с сайтом, куда вы переносили все файлы WordPress. См. раздел Перенос файлов сайта.
- Откройте файл
wp-config.php
в текстовом редакторе и найдите такие строки
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', '' );
/** Database username */
define( 'DB_USER', '' );
/** Database password */
define( 'DB_PASSWORD', '' );
- Установите новые значения. См. раздел.
DB_NAME
– название базы данных.DB_USER
– имя пользователя БД.DB_PASSWORD
– пароль пользователя. - Сохраните файл.
Шаг 4.
Замена URL старого сайта на новый
Заключительный шаг ручного переноса сайта WordPress – замена старых URL на новые в записях, вложениях, кастомных полях. Делать это вручную не рекомендуется из-за риска повредить базу данных. Проще и безопаснее сделать плагином Update URLs.
Установите плагин и перейдите к настройкам. Укажите старый URL в поле Search For и новый URL в поле Replace With в настройках, отметьте все пункты, где заменять ссылки и нажмите кнопку Update URLs NOW.

Когда замена URL будет выполнена, появится сообщение об успешном выполнении.

- Готово! Перенос сайта WordPress на хостинг вручную завершен.
Перед тем, как зайти на новый сайт очистите кэш браузера.
Частые проблемы, которые могут возникнуть при ручном переносе WordPress
Редирект на старый домен
У данной проблемы может быть несколько причин:
- Проверьте, правильно ли указаны значения опций
siteurl
иhome
в базе данных. См. пункт 7. - Откройте файл
.htaccess
в корне сайта и проверьте, не установлен ли редирект для старого домена. - На сайте установлены плагины редиректа. Отключите плагин.
Ошибка установки соединения с базой данных (Error establishing a database connection)
Проверьте, правильно ли вы указали название базы данных, пароль и имя пользователя в файле wp-config.php
. См. пункт 9.
Ошибка 404
Проверьте, есть ли файл .htaccess
в корне сайта. При отсутствии файла создайте новый. Стандартное содержимое файла .htaccess можно скопировать в официальной документации WordPress.
Перенос сайта WordPress с помощью плагина
Огромное преимущество CMS WordPress – это наличие плагина практически под любую задачу. В репозитории плагинов WordPress вы сможете найти с десяток плагинов для переноса (миграции) WordPress. В текущей инструкции мы рассмотрим плагин – Duplicator.
Перенос с помощью плагина предпочтительнее, так как позволяет автоматизировать рутинные задачи по переносу файлов сайта, БД. А еще, плагин предупредит, если возникнут проблемы с сервером при переносе (несоответствие версии PHP, кодировки и пр.)
Начнем переносить сайт WordPress.
- Зайдите в админку сайта и установите плагин Duplicator.
- В админке сайта откройте новый раздел Duplicator.
- Создайте новую резервную копию сайта.

- В настройках резервной копии оставляем все как есть.

- Дождитесь окончания сканирования сайта. Когда сканирование успешно завершено, можно продолжить создание резервной копии.

- Началось создание резервной копии сайта. Дождитесь окончания процесса.
- Когда все файлы будут созданы скачайте Установщик и Архив.

- Загрузите файлы в папку нового сайта на хостинге. Для загрузки можете использовать FileZilla или файловый менеджер хостинга. Процесс загрузки файлов был рассмотрен выше.
- Чтобы запустить перенос сайта на новый домен, откройте в браузере ссылку ваш-сайт.ru/installer.php. Откроется страница настроек. Необходимо заполнить поля с информацией о базе данных (Database, User, Password). Создание БД было рассмотрено в начале статьи.

- Нажмите Validate. Система проверит правильность заполнения данных. Если все успешно, откроется следующая вкладка Validation.
Плагин может показать предупреждения (Notice) в случае, если версии PHP локального сервера и хостинга не совпадают.

- Установите галочку I have read and accept all terms & notices и нажмите Next.
- Подтвердите OK во всплывающем окне. И дождитесь окончания переноса сайта.

- Когда перенос успешно завершится, появится таблица со статусами всех этапов переноса.

- Зайдите в админку по кнопке Admin Login.
- В админке вас ждет информация, что перенос сайта был успешно завершен.

- Сайт готов к использованию! Других действий при переносе сайта WordPress с помощью плагина не требуется.
После переноса сайта, рекомендуем сразу поменять пароль администратора сайта.
Возможные проблемы при переносе сайта плагином Duplicator
После переноса сайта вновь появляется страница установки installer.php
- Запустите установщик повторно.
- Убедитесь, что в корневой директории сайта находятся только два файла: zip-архив сайта и установщик installer.php
- Очистите кэш браузера. Зайдите на сайт в режиме инкогнито.
- Изучите отчет об установке. Вероятно, там будут указаны возникшие ошибки. Отчеты хранятся по адресу
wp-content/backups-dup-lite
Возникновение ошибок при создании резервной копии
Самая частая причина ошибок при создании копии – большой вес сайта. Бесплатная версия плагина Duplicator позволяет переносить сайты весом не более 500 Мб. Используйте версию PRO, если ваш сайт весит больше. Либо выполните перенос вручную по инструкции выше.