От автора: переход WordPress сайта на новый хостинг может потрепать вам нервы. Если сделать это неправильно, могут возникнуть неожиданные и раздражающие ошибки. А вот если правильно, проблем возникнуть не должно. В этом уроке я покажу вам, как перенести WordPress сайт на новый хостинг и домен, избежав при этом большинства распространенных проблем.
Заметка: Существует множество способов миграции. В этой статье я покажу вам ручной метод. Это не всегда будет самый простой вариант, однако если вы поймете принцип его работы, вы будете лучше подготовлены и сможете решать любые проблемы во время миграции сайтов.
Отключите все плагины
Перед тем как начать я рекомендую отключить все плагины. При переходе WP сайта на новый хостинг плагины это то, что, скорее всего, сломается. Сам WordPress хорошо спроектирован и может адаптироваться под изменения, а вот плагины не особо.
Поэтому вам необходимо перейти в панель администратора и отключить плагины: Plugins — Installed Plugins — отметьте все — Bulk action — Deactivate — Apply
Создайте резервную копию базы данных и файлов WordPress
Перед любыми изменениями всегда делайте бэкап вашего сайта, и миграция не исключение. Есть несколько плагинов, с помощью которых можно это сделать, однако если вы хотите полностью контролировать процесс, лучше сделать это вручную. Ниже я покажу, как сделать бэкап WP сайта вручную и с помощью плагина.
Ручной бэкап
Для того, чтобы сделать бэкап базы данных WP вручную: зайдите в phpMyAdmin, кликните на нужную базу данных и выберите Экспорт, как показано на рисунке ниже.
Проверьте, чтобы формат бэкапа был SQL и кликните Go. После этого база данных выгрузится в файл .sql. Рекомендую сохранить этот файл в отдельной папке на вашем компьютере, чтобы вы могли к нему вернуться позже. Для экспортирования копии базы данных также можно воспользоваться командной строкой. Более подробно об этом можно прочесть по ссылке.
Для того, чтобы сделать бэкап файлов вручную: я рекомендую загрузить всю папку с WordPress, так вы точно ничего не потеряете.
С помощью любого FTP/SFTP клиента типа FileZilla авторизуйтесь под своим хостингом и загрузите htdocs или папку public_html (или любую папку, где установлен ваш WordPress).
Бэкап с помощью плагина
Загрузите и установите плагин UpdraftsPlus Backup and Restoration. На странице установленных плагинов найдите UpdraftsPlus и активируйте. После установки в панели администратора перейдите Settings — UpdraftsPlus Backups и кликните Backup.
В зависимости от размера сайта процесс копирования может занять некоторое время. После завершения копирования кликните на вкладку Exisiting Backups, чтобы загрузить копию сайта на компьютер, после чего вы можете перенести его в другую папку.
Подготовка бэкапа для загрузки на новый хостинг
Перед тем, как переместить наши бэкапы на новое место, необходимо внести некоторые изменения. Сначала зайдите в phpMyAdmin на новом хостинге и создайте новую базу данных. Запомните имя базы данных, оно нам позже понадобится.
Обновите файл wp-config.php
Перед перемещением необходимо внести некоторые изменения в файл конфигурации WordPress. Разархивируйте папку с WordPress и найдите там файл wp-config.php, откройте его в любом текстовом редакторе типа NotePad или Notepad++. Отредактируйте строки, указанные ниже, и внесите в них данные о новом хостинге и сохраните файл.
1 2 3 4 5 6 7 8 9 10 11 |
define('DB_NAME', 'замените_на_имя_новой_базы_данных'); /** MySQL database username */ define('DB_USER', 'замените_на_новое_host_mysql_user_name'); /** MySQL database password */ define('DB_PASSWORD', 'замените_на_новое_host_mysql_password'); /** MySQL hostname */ define('DB_HOST', 'замените_на_имя_нового_хостинга'); |
Загрузка бэкапа на новый хостинг
Почти закончили. Осталось с помощью FTP/SFTP загрузить модифицированную папку установки WordPress на новый хостинг.
После завершения копирования файлов, загрузите бэкап базы данных. Для этого зайдите в phpMyAdmin нового хостинга и кликните Импорт в меню, как показано ниже.
Выберите бэкап базы данных SQL и загрузите.
Обновите URL домашней страницы и URL сайта WordPress
Есть несколько способов задать свой URL в WP, мы рассмотрим несколько распространенных. Если кроме хостинга вы сменили еще и домен, проверьте, что вы привязали новый домен к новому хостингу (как это сделать, читайте в документации к вашему хостингу).
С помощью wp-config.php
Для смены адресов можно добавить соответствующие строки в wp-config.php, которые перепишут и отключат данные опции в панели администратора WordPress.
1 2 |
define('WP_HOME','//example.com'); define('WP_SITEURL','//example.com'); |
На странице кодекса WordPress есть подробное объяснение.
С помощью файла functions.php в теме
С помощью редактора в FTP/SFTP клиенте или обычного текстового редактора вставьте строки ниже в файл functions.php вашей темы сразу после
1 2 3 4 |
< ?php. update_option ( 'siteurl', '//your_new_domain_name.com' ); update_option ( 'home', '//your_new_domain_name.com' ); |
Строку //your_new_domain_name.com замените на ваш новый URL домена. Код выше автоматически обновит опцию siteurl home в базе данных. Зайдите на страницу авторизации или в панель администратора, и ваше сайт должен заработать. После полноценного развертывания бэкапа не забудьте удалить строки выше из файла functions.php, чтобы при каждом открытии страницы ваш сайт не обновлялся.
Ручное обновление URL домашней страницы и URL сайта
Для ручного обновления URL домашней страницы и сайта зайдите в phpMyAdmin, откройте вашу базу данных, кликните на таблицу wp_options и измените значения site_url и home на новые.
Заново подключите все плагины и обновите постоянные ссылки
Теперь, когда все работает, давайте активируем все необходимые плагины. Для этого перейдите Plugins — installed plugins, выберите activate из выпадающего списка Bulk action и кликните по кнопке Apply. Чтобы обновить постоянные ссылки перейдите Settings — Permalinks, выберите нужную вам структуру ссылок и сохраните изменения.
Настройка 301 редирект
При перемещении старого доменного SEO значения на новое место крайне важно настроить 301 редирект, как показано ниже.
В старой версии WordPress откройте .htaccess и в конец файла добавьте правила ниже, чтобы любой, заходящий на старый домен, перенаправлялся на новый домен.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST}^olddomain.com$ [OR] RewriteCond %{HTTP_HOST}^www.olddomain.com$ RewriteRule (.*)$ //www.newdomain.com/$1 [R=301, L] </IfModule> |
Файлы php.ini и .htaccess
В данных файлах могут быть настройки, которые будут работать только в вашем старом хостинге. Так что, если что-то не работает, сперва проверьте эти файлы. Попробуйте переименовать или закомментировать несколько строк, а также ищите тот код, который может отсутствовать в вашем новом хостинге.
Плагины кэширования
Некоторые плагины кэширования изменяют файл .htaccess и создают файлы с абсолютными ссылками, которые могут отсутствовать на новом хостинге.
Плагин Google reCaptcha
Если вы используете любой плагин Google reCaptcha, не забудьте получить новый ключ API для вашего домена, чтобы плагин смог отображать капчу.
Плагин Jetpack
Если у вас установлен плагин Jetpack, не забудьте заново подключить ваш WP сайт к WordPress.com, так как вы переехали на новый домен.
Модуль Genesis Club Lite Display
Если у вас установлен плагин Genesis Club Lite и активирован модуль отображения, не забудьте заменить домен в URL со старого на новый. Сделать это можно в Genesis Club Lite — Display — Logo.
Заключение
В этом уроке я показала вам, как перенести ваш WP сайт на новый хостинг, а также как изменить доменное имя, привязанное к нему. Если у вас используются абсолютные ссылки в контенте, вам придется их заменить. Также придется обновить большинство плагинов, но теперь, я надеюсь, вы знаете, как это сделать.
Автор: Doyin Faith Kasumu
Источник: //www.sitepoint.com/
Редакция: Команда webformyself.