Black Friday! Даруємо до 3 місяців вашого тарифу VPS!

Детальніше

Переносимо сайт на WordPress за допомогою безкоштовного плагіну WP Migrate DB

post thumbnail

Міграція сайту між серверами або доменами досить часто необхідна в процесі розробки. Безліч встановлених плагінів і велике число різноманітних реалізацій WordPress ускладнюють процес. Для спрощення цього процесу існують плагіни, які можуть виконати міграцію за вас.

У цій статті ми розглянемо всі необхідні кроки для копіювання та перенесення WordPress-сайту з одного сервера на інший за допомогою безкоштовного і надзвичайно надійного плагіну WP Migrate DB від Delicious Brains.

Наша мета – розповісти вам про існуючі рішення і провести через нюанси міграції сайтів на WordPress. При виборі найбільш зручного модуля міграції слід враховувати багато факторів. Незалежно від того, вирішите ви використовувати WP Migrate DB або інші інструменти, розуміння, як працюють подібні плагіни, значно спростить ваш вибір.

Що являє собою міграція WordPress?

WordPress – це система управління контентом. По суті, весь контент і налаштування сайту знаходяться в базі даних WordPress. База даних управляє всіма темами, плагінами і мультимедійними об’єктами. Перенести файли вашого сайту з одного місця в інше відносно просто, однак, це не відноситься до бази даних. URL-адреси в базі даних пов’язані зі структурою каталогів на сервері. Таким чином, при міграції потрібна заміна всіх записів в базі даних на ті, які пов’язані з цільовим сервером і його файловою структурою.

Ядро WordPress і багато плагінів використовують серіалізовані масиви, об’єкти і JSON-кодування даних для зберігання інформації в БД. Серіалізація даних використовується так широко, оскільки вона допомагає скоротити записи в базі даних, що призводить до меншої кількості запитів в базу і підвищенню продуктивності.

Однак, такий хід впливає на мобільність WordPress, так як не можна просто замінити URL-адреси в серіалізованих даних. Інформація повинна бути десеріалізована, замінена і серіалізована знову. З вкладеними серіалізованими даними цей процес стає ще більш складним. В цьому випадку плагін WP Migrate DB і йому подібні займаються обробкою інформації самостійно, полегшуючи життя розробника.

Чотири сценарії міграції

Міграція WordPress може проходити по одному з наступних сценаріїв:

  1. З одного хостингу на інший (обидва сайти робочі).
  2. З хостингу на локальний тестовий сервер (на вашому ПК).
  3. Між двома локальними серверами.
  4. З локального тестового сервера (на вашому ПК) на хостинг.

У всіх цих випадках кроки міграції однакові. Все, що вам потрібно – визначитися звідки і куди буде виконуватися міграція.

Підготовка до міграції

Мінімальні права доступу, які потрібно для перенесення сайту на WordPress за допомогою плагіна WP Migrate DB:

1. У вихідній копії WordPress:

  • Доступ до адмін-панелі WordPress;
  • Доступ до тем, плагінів і медіа-файлів в каталозі wp-content по FTP або через диспетчер файлів панелі управління хостингом, наприклад cPanel, Plesk і т. д.

2. В цільової копії WordPress:

  • Доступ до цільового сервера по FTP і в панель керування хостингу для встановлення WordPress і копіювання необхідних файлів;
  • Доступ до phpMyAdmin або інструменту керування базами даних, які доступні для вашого сервера хостингу.

Налаштування міграції

Якщо сайт, який потрібно мігрувати, має велику кількість налаштувань, таких як модифікована тема, багато плагінів і віджетів, налаштованих під даний конкретний сайт, то виникне проблема незручності налаштування всього заново після міграції. У разі використання плагіна WP Migrate DB максимум, що потрібно буде зробити – це змінити налаштування підключення бази даних в wp-config.php на новому сервері і відредагувати правила в .htaccess.

Два важливих моменти, які потрібно врахувати перед міграцією

Перед початком процесу міграції є пара ключових моментів про які потрібно пам’ятати: каталог встановлення WordPress і префікс таблиць бази даних.

Каталог встановлення WordPress

Вам потрібно знати, куди встановлений WordPress на вихідному сервері – в кореневому каталозі сайту (за замовчуванням) або в підкаталозі. Це має вирішальне значення, оскільки на цільовому сервері каталог WordPress необхідно налаштувати аналогічним чином. Якщо на вихідному сервері WordPress встановлений в підкаталозі, то на цільовому WordPress також повинен бути встановлений в підкаталозі.

Крім того, ім’я підкаталогу WordPress має збігатися на обох серверах. Наприклад, якщо ви використовуєте каталог sandbox для встановлення WordPress, обидві установки WordPress повинні використовувати одне і те саме ім’я каталогу, тобто sandbox.

У нашому випадку WordPress встановлений в кореневу директорію сайту на хостингу, тобто в public_html.

Перенесення сайту на WordPress за допомогою плагіну WP Migrate DB | Wiki HostPro

Префікс таблиць

Префікс таблиць в обох встановленнях WordPress також повинен збігатися. Причина по якій ми зупиняємося на цьому моменті полягає в тому, що краще за все поставити необхідні префікси таблиць під час встановлення Вашого цільового WordPress, а не пізніше, так як в результаті ви отримаєте непотрібні таблиці, які захаращують базу даних.

Щоб знайти префікс таблиці, який використовується вашим вихідним WordPress, перегляньте значення константи $table_prefix в файлі wp-config.php.

У нашому встановленні вихідний WordPress використовує префікс таблиці за замовчуванням wp_

Перенесення сайту на WordPress за допомогою плагіну WP Migrate DB | Wiki HostPro

І останнє, але не менш важливе зауваження – переконайтеся, що ви створили резервну копію сайту.

Крок 1 — Налаштування WordPress на цільовому сервері

Після того, як були виконані всі підготовчі дії, перше, що вам потрібно зробити, це встановити WordPress на цільовий сервер. У нашому прикладі ми встановили WordPress за допомогою утиліти Softaculous, яка доступна в cPanel хостинг-сервера.

Ми будемо виконувати міграцію для отримання тестової копії сайту на піддомені dev.testhostpro.com.ua. В процесі встановлення змінюємо поле каталогу, в який буде встановлений WordPress на порожнє (в нашому прикладі WordPress встановлений в кореневу папку сайту) і префікс таблиць на стандартний.

Інші параметри WordPress, такі як ім’я сайту, опис, користувачі і т.д., не матимуть значення в даний момент, оскільки вони будуть перезаписані з вихідного WordPress на більш пізньому етапі міграції. Користувач адмін-панелі, створений під час процесу встановлення, необхідний тільки для можливості входу в налаштування плагіну WP Migrate DB.

Встановлення ПЗ WordPress | Wiki HostPro

Примітка. Якщо ви виконуєте встановлення WordPress вручну через FTP, можете встановити префікс таблиць за допомогою файлу в wp-config.php або в процесі встановлення. Якщо запустити налаштування за замовчуванням, то встановиться префікс таблиці wp_

Префікс таблиці wp_ | Wiki HostPro

Крок 2 — Експорт вихідної бази даних за допомогою WP Migrate DB

Для міграції бази даних необхідно, щоб плагін WP Migrate DB був встановлений і активований як на вихідному, так і на цільовому сайті. Це пов’язано з тим, що плагіну повинен бути відомий шлях до папки сайту і URL-адреси на новому сервері, щоб правильно їх замінити у вихідній базі даних.

Встановлення і активація WP Migrate DB | Wiki HostPro

Після цього перейдіть в Інструменти → WP Migrate DB в обох WordPress:

Інструменти в WP Migrate DB | Wiki HostPro

Далі вам потрібно зробити наступне: на цільовому WordPress:

Увімкніть “Экспортировать файл” і скопіюйте записи, які ви побачите нижче в полях “Найти”.

Експортувати файл в Migrate DB | Wiki HostPro

На вихідному WordPress:

Вставте скопійовані записи в порожні поля “Заменить”.

Експорт вихідної бази даних за допомогою WP Migrate DB | Wiki HostPro

Ви можете також змінити деякі додаткові налаштування. Наприклад, якщо сайт був створений на локальному комп’ютері і переноситься на хостинг, то рекомендується увімкнути опцію “Заменить GUIDы”.

Далі натискаємо “Експорт” і чекаємо завершення. У результаті буде створена копія бази даних зі зміненими посиланнями у вигляді архіву і завантажена на ваш комп’ютер.

Експорт вихідної бази даних за допомогою WP Migrate DB | Wiki HostPro

Якщо ваша база даних досить велика, може спрацювати таймаут при експорті. В цьому випадку в налаштуваннях плагіна на вкладці “Налаштування” потрібно збільшити розмір запиту, щоб експорт відбувся швидше.

Збільшення розміру запиту в Налаштуваннях Migrate DB | Wiki HostPro

Крок 3 — Копіювання необхідних файлів

Наступний крок – це копіювання папок themes, plugins і uploads, розташованих в папці wp-content з вихідного сервера на цільовий з використанням FTP або іншого зручного вам способу.

Папка wp-content | Wiki HostPro

Переконайтеся, що під час копіювання не було помилок. Передача даних між серверами може зайняти деякий час, в залежності від кількості файлів. Створення zip-архіву через cPanel, а потім міграція папок через FTP можуть прискорити процес.

Усі плагіни також можна встановити заново на цільовому WordPress з адмін-панелі. Якщо ви вирішите це зробити, рекомендуємо, щоб версії плагіна на обох установках збігалися.

Крок 4 — Імпорт бази даних через phpMyAdmin

На наступному кроці потрібно, щоб ви імпортували дамп бази даних, згенерований на кроці 2, в базу даних WordPress на кінцевому сервері.

Для цього необхідно перейти до керування базами даних на кінцевому сервері за допомогою phpMyAdmin або іншого інструменту керування базами даних.

Переконайтеся, що ви вибрали правильну базу даних WordPress. Це та ж сама база даних, яка була створена при встановленні WordPress на кроці 1. У нашому випадку ім’я бази даних, вказане для цільового WordPress, було wp35. Однак, більшість серверів також додають префікс з імені користувача до цього імені, наприклад, у нас hostpro_wp35.

Визначення потрібної бази даних має вирішальне значення, оскільки імпорт в неправильну базу призведе до того, що на вашому хостингу буде пошкоджений інший сайт. Якщо на сервері призначення є інші установки WordPress, обов’язково створіть резервні копії перед проведенням міграції.

Щоб бути впевненими у виборі бази, рекомендуємо наступний чекліст:

  • перевірте ім’я бази даних у файлі wp-config.php на цільовому сервері, воно буде включати повне ім’я, включаючи будь-якої префікс;
  • переконайтеся, що префікс таблиць бази даних в phpMyAdmin співпадає з wp-config.php;
  • перевірте поля ‘siteurl’ і ‘home’ в таблиці someprefixwp_options – в них повинно бути зазначено ім’я цільового домену;

Імпорт БД за допомогою phpMyAdmin | Wiki HostPro

Тепер, коли ви впевнені, що вибрали правильну базу, можна імпортувати в неї створений раніше дамп в форматі sql.zip.

Імпорт дампу в форматі sql.zip | Wiki HostPro

Коли процес імпорту завершиться, цільовий WordPress буде мати всі налаштування, контент, користувачів і т.д. з вихідного WordPress. Таким чином, міграція буде завершена.

Завершальні кроки

На цільовому сайті все буде аналогічно вихідного. Ви зможете увійти в адмін-панель з тими ж користувачами, і будь-які зміни, які ви, можливо, зробили в цільовому WordPress, будуть перезаписані.

Єдине, що можемо порадити після міграції, це перезберегти постійні посилання. Тобто перейдіть в Налаштування → Постійні посилання і просто натисніть “Зберегти зміни”.

Останнє, але не менш важливе – переконайтеся, що після міграції всі сторінки, віджети, форми зв’язку працюють коректно і немає “битих” посилань.

Усунення проблем

Існує багато причин, які можуть призвести до збою міграції. Ось кілька рішень, які допоможуть вам усунути ці рідкісні випадки:

  • Якщо ви отримуєте помилку при імпорті бази даних на цільовий сервер, спробуйте на кроці 2 створити дамп без опції “Стиснути файл за допомогою gzip”.
  • Якщо ви не можете потрапити в адмін-панель сайту після міграції, спробуйте додати такі рядки у ваш файл wp-config.php:

define( 'WP_SITEURL', 'http://example.com/subdir_if_any' );
define( 'WP_HOME', 'http://example.com/subdir_if_any' );

Ці параметри перевизначають ім’я домену в налаштуваннях адмін-панелі і таблиці wp_options, але не вносять ніяких постійних змін в базу даних. Якщо в результаті ви змогли увійти в адмін-панель з додаванням цих рядків, то стає зрозуміло, що з посиланнями виникла якась проблема.

  • Відсутні мультимедійні дані будуть вказувати на помилки під час процесу копіювання папки uploads на кроці 3.
  • Якщо ви бачите білий екран (також званий “білим екраном смерті”), перевірте правильність копіювання файлів тем і активуйте правильну тему.

Якщо у процесі міграції сайту у вас виникнуть питання або буде потрібна допомога техпідтримки, сміливо звертайтеся, ми з радістю допоможемо! Перенести ваш сайт з іншого хостингу на HostPro максимально легко: ви заповнюєте заявку, а ми – швидко переносимо, допомагаємо з вибором тарифу і вирішуємо всі технічні питання. На нашому сайті ви також можете обрати оптимізований тариф WordPress хостингу, який підійде саме вашому сайту.

Telegram Hostpro

Наш телеграм

з важливими анонсами, розіграшами й мемами

Приєднатися

Можливо, вас зацікавить

Плагін AllinOneSEOPack Частина 2. Продуктивність та налаштування модулів

Плагін AllinOneSEOPack Частина 2. Продуктивність та налаштування модулів

Нагадаємо, що ми розбираємо налаштування плагіну «All in One SEO», який стане для вас...

Ruslan Holovatiuk | Оновлено: 22.07.2024

Плагін AllinOneSEOPack Частина 1. Основні налаштування

Плагін AllinOneSEOPack Частина 1. Основні налаштування

Якщо ви створюєте свій сайт не тільки для «краси» і розумієте, що органічний трафік...

Diana Honcharenko | Оновлено: 04.07.2024

Огляд преміумтеми Divi

Огляд преміумтеми Divi

"Divi від Elegant Themes – один з кращих преміумшаблонів WordPress", – у такій думці...

Diana Honcharenko | Оновлено: 11.06.2024

Як виправити код мови в URL з uk на ua у WPML? 

Як виправити код мови в URL з uk на ua у WPML? 

Загальноприйнято, що для URL української версії сайту використовується код “ua”. Однак у налаштуваннях WPML...

Diana Honcharenko | Оновлено: 05.05.2023