Skip to content

Все для WordPress, веб-розробки — і не тільки

🔄 Як безпечно змінити тему WordPress

🔄 Як безпечно змінити тему WordPress

З вигляду, невинна операція. Пара кліків в адмінці, і сайт одягається в новий дизайн. Що може піти не так?

Багато чого. WordPress-сайт з часом обростає плагінами, правками у functions.php, кастомними типами записів і вибудуваною вручну структурою віджетів. Усе це тримається на темі, як вежа дженга. Висмикуєте тему, і вся конструкція ризикує посипатися: сторінки втрачають верстку, шорткоди перестають працювати, SEO-налаштування обнуляються, а відео на видному місці перетворюється на голий URL.

Але є спосіб змінити тему з нульовим ризиком. Без паніки, без нічного відновлення з бекапу і без дзвінка розробнику. Він вимагає дисципліни, але посильний навіть новачкові в phpMyAdmin. Нижче, повна послідовність: від вибору теми до активації на живому сайті.

💡 Швидкий огляд:

  • Зробіть повний бекап сайту, файли і базу даних, перед будь-якими діями з темою
  • Клонуйте сайт на staging або локальний сервер і тестуйте нову тему ТАМ, а не на проді
  • Після активації перевірте все: меню, віджети, кастомні типи записів, вибрані зображення, консоль браузера
  • Увімкніть режим WP_DEBUG на час тестування, приховані помилки PHP вилізуть одразу
  • SEO-налаштування теми не мігрують автоматично, перенесіть їх у плагін заздалегідь

Крок 1. Виберіть нову тему WordPress

Перший рубіж, знайти тему, яка не тільки подобається зовні, але й сумісна з вашим поточним стеком. Якщо ви не розробник, не женіться за «чистим полотном», беріть тему, яка з коробки виглядає близько до бажаного результату. Менше кастомізацій, менше шансів щось зламати.

Майданчики для пошуку: ThemeForest, найбільший маркетплейс преміум-тем із фільтрацією за нішею та рейтингом; WordPress.org Themes, офіційний репозиторій безкоштовних тем із відкритим вихідним кодом. У безкоштовному каталозі зараз понад 12 тисяч тем, вибір величезний, але перевіряйте дату останнього оновлення та кількість активних установок.

Пошук тем у репозиторії WordPress.org

Критичний чек-лист сумісності перед вибором:

  • Чи підтримує тема ваші ключові плагіни? Якщо у вас магазин на WooCommerce, тема зобов'язана мати явну позначку WooCommerce-ready. Для конструкторів на кшталт Elementor або Beaver Builder, та сама логіка.
  • Чи використовує тема кастомні типи записів для портфоліо, відгуків, слайдерів? При зміні теми без підтримки цих CPT контент «зникне» з адмінки, він залишиться в базі, але перестане виводитися.
  • Чи є у теми вбудовані SEO-поля? Якщо ви заповнювали їх, при зміні теми вони зникнуть. Краще перенести SEO-дані в плагін (Rank Math, Yoast SEO) заздалегідь.

Розробнику простіше: не шукаєте «ідеальну» тему, а берете мінімальний каркас (GeneratePress, Kadence, Blockstarter) і дописуєте потрібне. Але бекап і тестування обов'язкові і для вас.

Крок 2. Створіть резервну копію сайту

Бекап, не «рекомендується», а жорстка вимога. Без нього будь-який збій при зміні теми перетворюється з прикрої неприємності на катастрофу. Два надійні шляхи: автоматичний (плагін) і ручний (файли + база).

Метод 1: плагін резервного копіювання

Найбезпечніший для не-розробника шлях, плагін, який робить копію в хмару автоматично.

Флагманський варіант, Jetpack VaultPress Backup (колишній VaultPress, тепер частина екосистеми Jetpack). Працює в реальному часі: кожна зміна, новий снепшот у хмарі Automattic. Відновлення в один клік, 30-денний архів, 10 ГБ сховища. Вартість, від €4.95/міс (перший рік, далі €8.95/міс при річній оплаті). За цими цифрами, інфраструктура, на якій тримаються 32 мільйони WordPress.com-сайтів.

Інтерфейс плагіна Jetpack VaultPress Backup

Серед альтернатив із преміум-функціоналом, WPvivid (детальний розбір у нашому огляді WPvivid). WPvivid вміє не лише бекапити, а й мігрувати сайт між доменами, що зручно під час переїзду.

Бюджетний варіант, безплатний UpdraftPlus. Завантажує копії в Google Drive, Dropbox, S3 та ще з десяток хмарних сховищ. Відновлення, в один клік. Детально розбирали в огляді UpdraftPlus.

Головна перевага плагінного підходу, вам не потрібно пам’ятати про бекап. Налаштували раз і забули.

Метод 2: ручне резервне копіювання

Ручний бекап виглядає страшнішим, ніж він є насправді. По суті, чотири прості етапи.

1. Увійдіть до панелі керування хостингом. cPanel, Plesk або кастомна панель, у кожного хостера своя, але логіка одна. Шукайте вхід через сайт хостера.

2. Знайдіть FTP-доступ. У панелі керування знайдіть розділ «FTP-акаунти» або «FTP Access». Якщо пароля немає, створіть нового користувача та запишіть облікові дані.

Створення FTP-акаунта в панелі керування хостингом

3. Скопіюйте файли сайту. Найпростіший спосіб, без FTP-клієнта. Відкрийте Провідник Windows (або Finder на macOS), введіть в адресний рядок ftp://вашсайт.com і ввійдіть з обліковими даними з попереднього кроку. Скопіюйте всю папку сайту на комп’ютер і стисніть у ZIP.

Підключення до FTP через адресний рядок Провідника Windows

Після входу ви побачите файлову структуру вашого сайту, точнісінько як на сервері. Виділіть усе (Ctrl+A) і скопіюйте в локальну папку на комп’ютері.

Копіювання файлів WordPress через FTP у Провіднику

4. Відкрийте phpMyAdmin. У панелі хостингу знайдіть іконку phpMyAdmin, зазвичай вона в розділі «Бази даних».

Іконка phpMyAdmin у панелі керування хостингом

5. Виберіть правильну базу даних. Якщо на хостингу кілька сайтів, баз буде кілька. Дізнатися потрібну можна через wp-config.php: знайдіть рядок define('DB_NAME', '...'), значення в лапках і є ім’я вашої бази. Або відкривайте бази по черзі та знайдіть ту, де в таблиці wp_posts ваш контент.

Вибір бази даних WordPress у phpMyAdmin

6. Експортуйте базу. Натисніть «Custom» (або «Експорт»), виберіть потрібну базу, залиште формат SQL і натисніть «Go». Файл завантажиться на комп’ютер. Імпорт працює так само, стане в пригоді, якщо доведеться відновлювати.

Експорт бази даних WordPress через phpMyAdmin

Усе. У вас на руках ZIP із файлами та SQL-файл бази, повний бекап, який не залежить від жодного плагіна.

Крок 3. Клонуйте сайт для тестування

Змінювати тему одразу на продакшені — це як тестувати парашут у повітрі. Клон потрібен, щоб побачити: чи не поїхала верстка, чи не зникли кастомні поля, чи не зламався конструктор сторінок. Два варіанти клонування: staging через хостера та локальний сервер.

Клонування на staging-сайт

Багато хостингів WordPress надають staging «з коробки»: WP Engine, кнопка «Copy site from LIVE to STAGING» в адмінці; SiteGround, Staging Tool у панелі; Kinsta, Cloudways та інші, аналогічно. Процес триває від кількох хвилин до пів години залежно від розміру сайту.

Копіювання сайту на staging у WP Engine

Staging-клон живе онлайн, можна зайти з телефона, перевірити адаптивну верстку, скинути посилання колезі. Єдиний мінус, доступний лише якщо хостинг включив staging у тариф.

Клонування на локальний сервер

Локальний сервер безплатний, працює без інтернету та дає повний контроль. Встановіть XAMPP, MAMP, WAMP або Local by Flywheel, будь-який із цих застосунків піднімає Apache/MySQL/PHP на вашому комп’ютері за кілька кліків.

Метод 1: плагін міграції

Найпростіший шлях, взяти плагін, який запакує сайт в один файл.

Рекомендуємо All-in-One WP Migration, безплатний, працює «з коробки». Встановіть на вихідний сайт, натисніть «Export» і завантажте отриманий файл. Альтернатива, Duplicator, теж безплатний і з активною спільнотою.

Експорт сайту через плагін All-in-One WP Migration

Потім на свіжому локальному WordPress встановіть той самий плагін і натисніть «Import». Вкажіть завантажений файл, плагін розгорне точну копію.

Імпорт сайту через плагін All-in-One WP Migration

Дочекайтеся завершення, на великих сайтах імпорт може тривати кілька хвилин.

Метод 2: ручне клонування

Якщо ви робили ручний бекап у Кроці 2, пів справи вже зроблено.

1. Підготуйте сервер. Встановіть XAMPP/MAMP і локальний WordPress через стандартний інсталятор.

2. Скопіюйте файли. Розпакуйте ZIP із бекапом у папку локального сервера: для XAMPP це htdocs/имя_папки/, для MAMP, htdocs/имя_папки/.

3. Імпортуйте базу через phpMyAdmin. У локальному phpMyAdmin (зазвичай localhost/phpmyadmin) натисніть «Import», виберіть SQL-файл із бекапу та натисніть «Go».

Імпорт бази даних WordPress у локальний phpMyAdmin

4. Відновіть облікові дані БД. Відкрийте wp-config.php зі скопійованих файлів, знайдіть DB_USER і DB_PASSWORD. Створіть користувача з цими самими значеннями в локальному phpMyAdmin (вкладка «Privileges» → «Add user»).

Облікові дані бази даних у файлі wp-config.php

5. Виправте URL. У локальній базі відкрийте таблицю wp_options, знайдіть рядки siteurl і home та замініть їхні значення на http://localhost/имя_папки. Без цього сайт намагатиметься відкриватися за старим доменом.

Заміна siteurl і home у таблиці wp_options

Готово, точний клон вашого сайту працює локально.

Крок 4. Протестуйте нову тему на клоні

Ось тепер встановіть і активуйте нову тему на клоні. Нижче наведено контрольний список перевірок. Кожна зекономить вам години правок на продакшені.

Увімкніть WP_DEBUG. Відкрийте wp-config.php і встановіть:

1define('WP_DEBUG', true);

Це виведе всі PHP-помилки та попередження прямо на екран. Не кожне сповіщення фатальне, але кожне варто виправити, особливо ті, що посилаються на функції теми.

Помилки WordPress після ввімкнення WP_DEBUG на екрані сайту

Кастомні типи записів (CPT). Стара тема могла реєструвати свої CPT: портфоліо, відгуки, слайдери, команду. Коли ви змінюєте тему на таку, що не підтримує ці CPT, контент перестає виводитися, хоча з бази нікуди не зникає. Рішення: плагін Post Types Unlimited, він перереєструє CPT у новій темі. Якщо не пам’ятаєте точних назв, знайдіть register_post_type у файлах старої теми, імена CPT вказані в першому аргументі.

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

Меню. Перевірте всі зареєстровані області меню в новій темі: основне, мобільне, футер-меню. Може виявитися, що нова тема підтримує лише одне меню, а у вас їх налаштовано три, неприємний сюрприз, який краще зловити на клоні.

Формати записів. Якщо стара тема використовувала формати (video, gallery, audio) і виводила їх через кастомні поля, нова тема може цього не зрозуміти. Вирішується через дочірню тему з add_post_meta().

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

Консоль браузера. Відкрийте DevTools (F12 → Console) і пройдіться основними сторінками. Помилки JavaScript, червоні рядки, ознака конфлікту скриптів теми з плагінами. Особливо уважно, якщо є слайдери, спливні вікна, анімації.

Помилки JavaScript у консолі браузера під час тестування теми

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

SEO. Якщо ви заповнювали вбудовані SEO-поля теми, meta title, description, Open Graph, вони зникнуть при зміні теми. Перенесіть їх у SEO-плагін (Rank Math або Yoast SEO) на живому сайті до перемикання. І переконайтеся, що новий шаблон виводить canonical-посилання та мета-теги.

Мобільна верстка. На staging-сайті відкрийте сторінки з телефона та планшета. Для локального сервера використовуйте вбудований Device Mode у Chrome DevTools (F12, значок телефона/планшета зліва вгорі). Перевірте: головну, один запис, одну сторінку та картку товару WooCommerce (якщо є).

Коли всі пункти пройдено, можна переходити до активації на проді.

Крок 5. Встановіть та активуйте тему на живому сайті

Фінальний етап. Але перед активацією, ще один запобіжний захід.

Встановіть плагін режиму обслуговування, WP Maintenance Mode або Coming Soon by SeedProd. Активуйте його на хвилину-дві, відвідувачі побачать заглушку замість верстки, що розвалилася, поки ви фінально все перевіряєте.

Потім, «Зовнішній вигляд» → «Теми», наведіть на нову тему та натисніть «Live Preview». WordPress покаже сайт у новій темі без фактичної активації. Швидко пройдіться основними сторінками, якщо все ок, тисніть «Activate».

Попередній перегляд теми WordPress перед активацією

Одразу після активації, контрольний обхід: головна, один запис, одна рубрика, контакти. Вимкніть режим обслуговування. Переконайтеся, що сайт відкривається в анонімного користувача (відкрийте в режимі інкогніто).

Якщо щось пішло не так, не панікуйте. У вас є повний бекап (Крок 2), і відновлення займе рівно стільки, скільки потрібно, щоб натиснути «Restore» у плагіні або імпортувати базу назад. Саме заради цього моменту й робилися всі попередні кроки.


Візуальне резюме процесу, у цьому відео. Усі кроки розібрано на живому сайті WordPress, від бекапу до фінальної активації.

⁉️🤔 Часті запитання

Чи можна змінити тему взагалі без бекапу?

Формально так, натиснути «Activate» можна й без бекапу. Але якщо щось піде не так (а без тестування ви цього не знаєте), відкотитися буде нікуди. Десять хвилин на бекап проти потенційних годин відновлення, вибір очевидний.

Як зрозуміти, що нова тема сумісна з моїми плагінами?

Відкрийте сторінку теми в каталозі або на маркетплейсі та знайдіть блок «Compatible plugins» або «Features». Для WooCommerce-магазину шукайте явне маркування «WooCommerce-ready». Якщо сумніваєтеся, запитайте розробника теми. А головне, перевірте на клоні: встановіть тему та пройдіться по всіх критичних плагінах. Конфлікт скриптів зазвичай видно в консолі браузера одразу.

Що робити з контентом, який «зник» після зміни теми?

Найімовірніше, він не зник, а прив’язаний до кастомного типу записів, який реєструвала стара тема. Нова тема про нього не знає й не виводить. Встановіть плагін Post Types Unlimited, зареєструйте CPT із тим самим іменем (знайдіть його в register_post_type() старої теми), контент повернеться в адмінку.

Чи обов’язковий staging, якщо я змінюю тему на порожньому сайті?

На порожньому сайті, ні. Якщо у вас ще немає контенту, користувачів і замовлень, змінюйте напряму через Live Preview. Але якщо на сайті є хоча б 10 записів і пара плагінів, клон збереже вам нерви. Краще витратити пів години на staging, ніж годину на лагодження верстки, що роз’їхалася, на очах у відвідувачів.

Чи потрібно перестворювати мініатюри після зміни теми?

Майже завжди, так. Кожна тема задає свої розміри для вибраних зображень, мініатюр блогу та карток товарів. Плагін Regenerate Thumbnails робить це автоматично: запустили, зачекали, готово. Без нього старі зображення будуть або обрізані не по центру, або розтягнуті до чужих пропорцій.

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

Ви активували нову тему. Сайт працює. Але роботу не завершено, ось три завдання на найближчі 24 години:

  • Моніторинг пошуку. Зайдіть у Google Search Console, перевірте, чи немає різкого падіння індексації. Зміна HTML-структури іноді збиває пошуковики, переконайтеся, що сторінки продовжують індексуватися.
  • Швидкість завантаження. Нова тема, новий CSS і JS. Проженіть сайт через PageSpeed Insights. Просідання більше ніж на 10 пунктів, дивіться на розмір бандла теми та кількість HTTP-запитів.
  • Форми й транзакції. Зробіть тестове замовлення (якщо магазин) і тестове надсилання форми. Це два місця, де зміна теми ламає функціонал найчастіше: обгортки кнопок, AJAX-хуки, стилізація полів.

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