Блог

Інструкції, посібники й новини про продукт.

Посібники

Вибір сервера для WooCommerce

3 листопада 2026 4 хв читання
Поділитися записом

Офіційна документація WooCommerce вимагає PHP 8.3 або новіший, MySQL 8.0 чи MariaDB 10.6 або новіший, HTTPS і ліміт пам’яті WordPress не менше 256 МБ. Цифри для RAM сервера вона не називає. Для невеликого магазину розумно починати з 2-4 ГБ RAM (орієнтир, що залежить від магазину). Зі зростанням товарів і замовлень зростає й навантаження на базу даних та процесор.

Магазин не поводиться як блог. Сторінки кошика й оформлення замовлення різні для кожного відвідувача, тож їх не можна кешувати, а замовлення цілий день записуються в базу даних. Тому за того самого трафіку магазину часто потрібно більше ресурсів, ніж блогу.

Офіційні вимоги

Документ «Вимоги WooCommerce до сервера» (офіційна рекомендація) називає:

  • PHP 8.3 або новіший.
  • MySQL 8.0 або новіший чи MariaDB 10.6 або новіший.
  • Підтримку HTTPS.
  • Ліміт пам’яті WordPress від 256 МБ.
  • Apache або Nginx як вебсервер.
  • Підтримку багатобайтових рядків (mbstring), якщо ваш магазин не англійською. Документ вважає це вимогою, що залежить від магазину, і турецький магазин належить до цієї групи.

Ліміт 256 МБ — це стеля для одного запиту PHP, а не RAM сервера. За потреби додайте цей рядок у wp-config.php:

define( 'WP_MEMORY_LIMIT', '256M' );

Старіші версії, як-от PHP 7.4, згадано в документі лише як запасний варіант для застарілих систем, і їх не рекомендують.

Чим магазин відрізняється від блогу

  • Сторінки, які не можна кешувати. Посібник WooCommerce із кешування радить виводити з кешу сторінки кошика, оформлення замовлення та акаунта, бо вони показують дані саме цього відвідувача. Деякі cookie, наприклад cookie кошика, теж слід виключити. Переконайтеся, що ваш плагін кешування це робить.
  • Навантаження на запис. Створення замовлень, оновлення залишків і збереження сесій постійно пишуть у базу даних. Блог пише рідко, а магазин пише цілий день.
  • Фонові завдання. WooCommerce виконує відкладену роботу (листи, вебхуки, платежі за підписками) через вбудовану чергу завдань Action Scheduler. Чергу запускає WP-Cron, тож у магазині з малим трафіком завдання можуть виконуватися із запізненням. Якщо налаштувати на сервері завдання cron, що запускає WP-Cron за розкладом (разом із параметром DISABLE_WP_CRON), ця залежність зникає. Чергу можна побачити в розділі WooCommerce > Status > Scheduled Actions.

Дані замовлень і HPOS

High-Performance Order Storage (HPOS) зберігає замовлення в спеціальних таблицях, створених саме для цього, а не в загальних таблицях записів WordPress. У нових встановленнях він типовий починаючи з WooCommerce 8.2. Старіші магазини самі не переходять. Його вмикають у розділі WooCommerce > Settings > Advanced > Features, а режим сумісності підтримує синхронність двох структур. Для сервера суть така: структуру оптимізовано під замовлення, але базі даних усе одно потрібні пам’ять і диск.

Початковий розмір

Ці значення — орієнтири, що залежать від магазину. Вони не є твердою обіцянкою.

МагазинПочаткова RAMvCore
Новий магазин: мало товарів, мало замовлень2-4 ГБ1-2
Магазин, що зростає: тисячі товарів, регулярні кампанії4-8 ГБ2-4
Завантажений магазин: часті кампанії, багато плагінів та інтеграційвід 8 ГБвід 4

Кількість плагінів, розміри зображень і раптове навантаження під час кампанії важать не менше, ніж кількість товарів. Кеш об’єктів (наприклад, Redis) знижує навантаження на базу даних, але потребує пам’яті. Починайте з малого, а потім зростайте, перевіряючи вивід free -h і top у години пік.

Поширені причини, чому магазин гальмує

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

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

Резервні копії: щоденної може бути недостатньо

У Seturack сервер копіюється щоночі, а останні 7 днів зберігаються. У магазині замовлення надходять цілий день, тож самого цього може не вистачити. Якщо ви відновлюєте дані, замовлення, оформлені після останньої копії, буде втрачено. Робіть дамп бази даних частіше й копіюйте його кудись інде:

mysqldump --single-transaction -u USER -p DATABASE | gzip > orders-$(date +%F-%H%M).sql.gz

У запланованому завданні не вказуйте пароль у командному рядку. Використовуйте файл ~/.my.cnf з правами 600. На готовому сервері WooCommerce застосунок працює в Docker, тож команди бази даних виконуйте зсередини контейнера. База даних там — MariaDB. У контейнері може не бути mysqldump, тому використовуйте mariadb-dump. Зображення товарів лежать у папці wp-content/uploads, тож копіюйте й її.

Що підготувати, окрім розміру

  • HTTPS. Для WooCommerce він обов’язковий. Готовий сервер WooCommerce відкривається через HTTPS на адресі, утвореній з вашого IP через sslip.io. Щоб підключити власний домен, див. цю статтю.
  • Електронна пошта. Установіть плагін SMTP, щоб листи про замовлення надсилалися. Під час встановлення надсилання пошти не налаштовується.
  • Оновлення. Після встановлення оновлення WordPress, WooCommerce і ваших плагінів — на вашому боці. Перед великим оновленням зробіть знімок у панелі. Знімок не замінює резервну копію, він лише дає змогу повернутися до моменту до оновлення.

Сервер із попередньо встановленим WooCommerce готовий приблизно за 3,5-4 хвилини, а в міру зростання магазину його можна збільшити з панелі. Загляньте на сторінку сервера WooCommerce.

Коментарі0

Коментарів поки немає

Поділіться своєю думкою першим.

Долучайтеся до обговорення

Будь ласка, увійдіть або зареєструйтеся, щоб залишити коментар.

Не пропускайте нові записи

Отримуйте наші свіжі інструкції, посібники та новини продукту на пошту.

Ви підписалися на нашу розсилку.