Що таке WordPress Multisite і як він працює?
WordPress Multisite на VPS — це потужне рішення, що дозволяє розмістити цілу мережу незалежних WordPress-сайтів на одному екземплярі WordPress та одному віртуальному приватному сервері, що забезпечує централізоване управління, економію ресурсів та високу гнучкість для розробників, агентств та великих проєктів. Ця функціональність, вбудована в ядро WordPress, трансформує звичайну інсталяцію в масштабовану платформу для хостингу безлічі сайтів, кожен з яких може мати свій унікальний домен, піддомен або підкаталог.
По суті, WordPress Multisite створює єдину адміністративну панель, з якої так званий "Супер Адміністратор" (Super Admin) може керувати всією мережею. Це включає додавання та видалення сайтів, управління користувачами мережі, встановлення та оновлення плагінів і тем для всіх сайтів, а також контроль над загальними налаштуваннями. При цьому кожен окремий сайт у мережі зберігає свою власну базу даних (або набір таблиць у спільній базі даних), медіафайли, користувачів і навіть може мати своїх адміністраторів, які керують лише своїм сайтом, не маючи доступу до глобальних налаштувань мережі.
Технічно, мультисайт WordPress використовує одну базу даних MySQL, але для кожного окремого сайту в ній створюються свої унікальні таблиці з префіксом, наприклад, wp_2_posts, wp_3_users і так далі, якщо основний сайт використовує префікс wp_. Це дозволяє зберігати дані кожного сайту ізольовано, але в рамках однієї СУБД, що спрощує резервне копіювання та управління. Файли ядра WordPress, плагіни та теми також є спільними для всієї мережі, що суттєво економить дисковий простір та спрощує процес оновлення.
Основні компоненти мережі WordPress Multisite
Для розуміння роботи мережі WordPress Multisite важливо знати її ключові елементи:
- Супер Адміністратор (Super Admin): Це користувач з найвищими привілеями, який керує всією мережею. Він може встановлювати та видаляти теми та плагіни для всієї мережі, створювати та видаляти сайти, призначати адміністраторів для окремих сайтів та контролювати глобальні налаштування.
- Сайти (Sites): Кожен окремий веб-ресурс у мережі є "сайтом". Він має свій URL, адміністративну панель, користувачів, записи, сторінки та медіафайли. Адміністратори окремих сайтів можуть активувати доступні їм теми та плагіни, керувати контентом та користувачами свого сайту.
- Теми та плагіни мережі (Network Themes & Plugins): Теми та плагіни встановлюються Супер Адміністратором для всієї мережі. Після встановлення вони стають доступними для активації на будь-якому сайті в мережі. Супер Адміністратор також може "активувати для мережі" (Network Activate) плагін, що зробить його обов'язковим та активним на всіх сайтах без можливості деактивації локальними адміністраторами.
- Спільна база даних (Shared Database): Всі сайти в мережі використовують одну й ту саму базу даних MySQL, але з різними префіксами таблиць для кожного сайту, забезпечуючи логічну ізоляцію даних.
- Спільна файлова система (Shared File System): Ядро WordPress, а також всі встановлені теми та плагіни зберігаються в одній директорії, що зменшує дублювання файлів та спрощує обслуговування.
Переваги та недоліки використання мультисайту
Переваги:
- Централізоване управління: Один вхід до адмін-панелі для управління всіма сайтами. Встановлення та оновлення тем/плагінів один раз для всієї мережі.
- Економія ресурсів: Менше дискового простору та пам'яті, оскільки ядро WordPress, теми та плагіни не дублюються.
- Простота масштабування: Легко додавати нові сайти до мережі, що ідеально для проєктів, що швидко зростають, або клієнтських порталів.
- Єдинообразність: Можливість забезпечити єдиний набір плагінів та тем, а також стандарти безпеки для всіх сайтів у мережі.
- Зручність для розробників: Розробка та тестування плагінів/тем для всієї мережі стає простішою.
Недоліки:
- Складність налаштування та адміністрування: Налаштування WordPress Multisite, особливо на VPS, вимагає певних технічних знань в області веб-серверів, DNS та роботи з командним рядком.
- Спільна точка відмови: Якщо основний сайт або база даних мережі виходять з ладу, це зачіпає всі сайти.
- Залежність від плагінів: Не всі плагіни повністю сумісні з Multisite. Деякі можуть працювати некоректно або вимагати окремих ліцензій для кожного сайту.
- Проблеми з продуктивністю: Один погано оптимізований сайт або плагін може негативно вплинути на продуктивність всієї мережі. Потрібен ретельний wordpress multisite hosting з достатніми ресурсами.
- Резервне копіювання: Резервування всієї мережі може бути складнішим, ніж для одного сайту, хоча існують спеціалізовані плагіни та методи.
Коли варто використовувати мережу сайтів WordPress (WordPress Multisite)?
Рішення про перехід на WordPress Multisite або розгортання нової мережі сайтів на його основі має бути обдуманим. Ця функціональність не є універсальним рішенням для кожного випадку, коли потрібно кілька сайтів. Однак, у певних сценаріях, вона пропонує значні переваги в управлінні, масштабуванні та економії ресурсів.
Типові сценарії застосування
Мережа сайтів WordPress ідеально підходить для таких випадків:
- Освітні установи: Університети, школи або коледжі можуть надавати кожному факультету, кафедрі або навіть студентському клубу свій власний сайт, керований централізовано.
- Великі корпорації з дочірніми компаніями або відділами: Кожен підрозділ може мати свій власний сайт, зберігаючи при цьому єдиний бренд та структуру, керовані IT-відділом.
- Новинні портали або журнали: Різні рубрики або автори можуть мати свої блоги/розділи, об'єднані в одну мережу.
- Веб-агентства: Агентства можуть використовувати Multisite для хостингу та управління сайтами своїх клієнтів, пропонуючи їм обмежений доступ до адмін-панелі свого сайту, при цьому зберігаючи повний контроль над оновленнями та безпекою на рівні мережі.
- Сайти-каталоги або портали з користувацьким контентом: Наприклад, каталог нерухомості, де кожен ріелтор отримує свій міні-сайт, або соціальна мережа, де користувачі можуть створювати свої блоги.
- Багатомовні сайти: Кожна мова може бути окремим сайтом у мережі, що спрощує управління контентом та мовними версіями.
- SaaS-платформи на WordPress: Якщо ви пропонуєте послугу, де користувачі можуть створювати свої власні сайти (наприклад, конструктор блогів), Multisite є ідеальною основою.
У цих випадках, централізоване управління оновленнями, плагінами та темами, а також можливість швидкого створення нових сайтів, значно спрощують робочі процеси та знижують операційні витрати. Якщо ви запускаєте кілька проєктів, що вимагають схожої базової функціональності та об'єднаних спільною логікою, мультисайт WordPress на надійному VPS може стати вашим вибором.
Альтернативи та коли вони кращі
Незважаючи на всі переваги, існують ситуації, коли WordPress Multisite може бути не найкращим рішенням:
- Повністю незалежні проєкти: Якщо ваші сайти не мають нічого спільного, крім того, що вони зроблені на WordPress, і управляються різними командами без необхідності централізованого контролю, то окремі інсталяції WordPress на різних піддоменах або доменах будуть кращими. Це виключає "єдину точку відмови" і дає кожному проєкту повну автономію.
- Різні вимоги до плагінів/тем: Якщо кожен сайт вимагає унікального набору плагінів та тем, які сильно відрізняються один від одного, управління ними в рамках Multisite може стати громіздким. Деякі плагіни можуть конфліктувати або вимагати специфічного налаштування для кожного сайту, що нівелює переваги централізації.
- Високі вимоги до безпеки та ізоляції: Якщо компрометація одного сайту в мережі може мати критичні наслідки для інших (наприклад, для банківських або державних установ), то повна ізоляція на рівні окремих VPS або навіть керованих виділених серверів може бути безпечнішим варіантом.
- Обмежені технічні знання: Якщо у вас або вашої команди немає досвіду роботи з серверами, DNS та більш складними конфігураціями WordPress, підтримка Multisite може виявитися занадто складною. У цьому випадку, використання кількох окремих інсталяцій на звичайному хостингу або керованому VPS буде простішим.
Важливо зважити всі "за" і "проти", виходячи з конкретних потреб вашого проєкту. Іноді простота кількох окремих інсталяцій переважує потенційні вигоди від централізації.
Шукаєте надійний сервер для ваших проєктів?
VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.
Дивитись пропозиції →Підготовка VPS для WordPress Multisite: вибір хостингу та попереднє налаштування
Успішне розгортання WordPress Multisite на VPS починається з правильного вибору хостингу та грамотного попереднього налаштування сервера. Оскільки мережа сайтів може споживати значно більше ресурсів, ніж один стандартний WordPress-сайт, вкрай важливо забезпечити достатню продуктивність та стабільність.
Вибір оптимального VPS-тарифу для мультисайту
При виборі VPS для wordpress multisite hosting, слід звернути увагу на кілька ключових параметрів:
- Процесор (CPU): Для невеликої мережі (до 10-15 сайтів з помірним трафіком) буде достатньо 2-4 vCPU. Для середніх та великих мереж (до 50 сайтів або з високим трафіком) рекомендуються 4-8 vCPU. Для дуже великих мереж або високонавантажених проєктів може знадобитися 8+ vCPU або навіть виділений сервер.
- Оперативна пам'ять (RAM): Це один з найкритичніших ресурсів.
- Мінімально: 2 GB RAM для мережі з 2-3 сайтів з низьким трафіком.
- Рекомендується: 4-8 GB RAM для більшості середніх мереж (до 20-30 сайтів).
- Оптимально: 16 GB RAM і більше для великих мереж, особливо якщо використовуються ресурсомісткі плагіни, багато користувачів або високий трафік.
- Дисковий простір (Storage): Вибирайте NVMe-диски. Вони забезпечують значно вищу швидкість читання/запису порівняно з SSD або HDD, що критично для продуктивності WordPress, особливо при великій кількості дрібних файлів (зображень, кешу) та активній роботі з базою даних.
- Мінімально: 80-100 GB NVMe для старту.
- Рекомендується: 160-250 GB NVMe, щоб мати запас для медіафайлів, резервних копій та зростання.
- Пропускна здатність (Bandwidth): Переконайтеся, що ваш тариф включає достатній обсяг трафіку (наприклад, 1-2 TB/міс) та високу швидкість порту (1 Gbps або більше).
- Географічне розташування вашого VPS: Вибирайте дата-центр, розташований ближче до вашої основної аудиторії, щоб мінімізувати затримки (latency) та прискорити завантаження сайтів.
Наприклад, для мережі з 10-20 сайтів з помірним трафіком, тариф VPS з 4-6 vCPU, 8 GB RAM та 160 GB NVMe буде гарною відправною точкою. Valebyte.com пропонує різні тарифи VPS, які можна масштабувати в міру зростання вашої мережі.
Базове налаштування сервера: ОС, веб-сервер, база даних
Після вибору VPS необхідно налаштувати базове серверне оточення. Ми рекомендуємо використовувати операційну систему на базі Linux, таку як Ubuntu Server (LTS-версія) або Debian, через їх стабільність, широку підтримку спільноти та велику документацію.
- Оновлення системи: Завжди починайте з оновлення пакетного менеджера та встановлених пакетів:
sudo apt update sudo apt upgrade -y - Встановлення веб-сервера:
- Nginx (рекомендується): Відомий своєю продуктивністю та ефективністю при обробці статичного контенту та як зворотний проксі.
Приклад базової конфігурації Nginx (для піддоменів, з урахуванням PHP-FPM):sudo apt install nginx -yserver { listen 80; server_name example.com *.example.com; # Замініть на ваш основний домен root /var/www/html/wordpress; # Шлях до вашої інсталяції WordPress index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # Вкажіть вашу версію PHP-FPM fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # Для піддоменів у Multisite location ~ /\. { deny all; } # Захист від прямого доступу до файлів location ~* /(wp-content|wp-includes|wp-admin|uploads|themes|plugins)/.*\.(php|phps|phtml|py|rb|sh|bash|ini|log)$ { deny all; } } - Apache: Простіший у налаштуванні для Multisite завдяки файлу
.htaccess, але може бути менш продуктивним під високим навантаженням.sudo apt install apache2 -y
- Nginx (рекомендується): Відомий своєю продуктивністю та ефективністю при обробці статичного контенту та як зворотний проксі.
- Встановлення PHP та PHP-FPM: WordPress вимагає PHP. Для кращої продуктивності використовуйте PHP-FPM. Рекомендується PHP 8.1 або вище.
Після встановлення PHP-FPM, якщо використовуєте Nginx, переконайтеся, що його конфігурація вказує на сокет PHP-FPM (як у прикладі вище). Якщо використовуєте Apache, переконайтеся, що модульsudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-imagick -ymod_phpабоmod_fcgid/mod_proxy_fcgiналаштований правильно. - Встановлення бази даних MySQL/MariaDB: WordPress використовує MySQL або сумісну СУБД. MariaDB є чудовою альтернативою.
Створіть нову базу даних та користувача для WordPress:sudo apt install mariadb-server -y sudo mysql_secure_installation # Запустіть для налаштування безпеки MySQLsudo mysql -u root -p CREATE DATABASE wordpress_multisite_db; CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON wordpress_multisite_db.* TO 'wordpress_user'@'localhost'; FLUSH PRIVILEGES; EXIT; - Налаштування прав доступу: Переконайтеся, що веб-сервер має права на читання/запис у директорію WordPress.
(Замінітьsudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress/var/www/html/wordpressна ваш шлях до WordPress.)
Після виконання цих кроків ваш VPS буде готовий до встановлення WordPress та активації режиму Multisite. Пам'ятайте, що для інших складних веб-додатків, таких як Flarum, або навіть для ігрових серверів, як описано в наших статтях про встановлення ігрових серверів, наприклад, Palworld, базова підготовка VPS завжди є першим і найважливішим кроком.
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Покрокове встановлення WordPress Multisite на VPS
Встановлення WordPress Multisite на VPS включає кілька ключових етапів: спочатку встановлюється звичайний WordPress, потім активується режим мультисайту, і в кінці налаштовуються файли конфігурації веб-сервера та WordPress. Дотримуйтесь цих інструкцій, щоб правильно налаштувати вашу мережу сайтів.
Встановлення стандартного WordPress та налаштування файлу wp-config.php
1. Завантажте та розпакуйте WordPress:
Перейдіть до директорії вашого веб-сервера (наприклад, /var/www/html/) та завантажте останню версію WordPress:
cd /var/www/html/
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xvzf latest.tar.gz
sudo mv wordpress/* . # Переміщуємо файли в кореневу папку, якщо потрібно
sudo rm -rf wordpress latest.tar.gz
Переконайтеся, що права доступу встановлені правильно (див. попередній розділ).
2. Створіть файл wp-config.php: Скопіюйте приклад файлу конфігурації:
sudo cp wp-config-sample.php wp-config.php
Відкрийте wp-config.php у текстовому редакторі (наприклад, nano або vim):
sudo nano wp-config.php
3. Налаштуйте параметри бази даних:
Замініть значення DB_NAME, DB_USER, DB_PASSWORD та DB_HOST на дані, які ви створили раніше:
define( 'DB_NAME', 'wordpress_multisite_db' );
define( 'DB_USER', 'wordpress_user' );
define( 'DB_PASSWORD', 'your_strong_password' );
define( 'DB_HOST', 'localhost' );
4. Додайте унікальні ключі безпеки:
Згенеруйте нові ключі на офіційному сайті WordPress та вставте їх у файл wp-config.php.
5. Завершіть встановлення WordPress через веб-інтерфейс:
Відкрийте ваш домен у браузері (наприклад, http://yourdomain.com). Ви побачите сторінку привітання WordPress. Дотримуйтесь інструкцій, щоб створити основний сайт мережі, вказавши назву сайту, ім'я користувача, пароль та email.
Активація режиму Multisite та конфігурація .htaccess
Після успішного встановлення стандартного WordPress, ви готові активувати WordPress Multisite:
1. Дозвольте Multisite у wp-config.php:
Відкрийте wp-config.php та додайте наступний рядок перед рядком /* That's all, stop editing! Happy publishing. */:
define( 'WP_ALLOW_MULTISITE', true );
Збережіть та закрийте файл.
2. Оновіть сторінку в адмін-панелі:
Увійдіть до адмін-панелі вашого WordPress-сайту. Перейдіть до розділу Інструменти -> Налаштування мережі (Tools -> Network Setup). Якщо ви не бачите цей пункт, можливо, ви не додали WP_ALLOW_MULTISITE у правильне місце або не оновили сторінку.
3. Виберіть структуру мережі: На сторінці "Налаштування мережі" вам буде запропоновано вибрати між "Піддоменами" (Sub-domains) та "Підкаталогами" (Sub-directories).
- Піддомени (наприклад,
site1.yourdomain.com): Вимагають налаштування Wildcard DNS та конфігурації веб-сервера. Рекомендується для нових інсталяцій. - Підкаталоги (наприклад,
yourdomain.com/site1): Не вимагають Wildcard DNS, але можуть мати обмеження, якщо ваша інсталяція WordPress старша за один місяць (WordPress запобігає використанню підкаталогів для старих інсталяцій, щоб уникнути конфліктів з існуючими записами).
4. Оновіть wp-config.php та .htaccess: Після натискання "Встановити", WordPress згенерує два блоки коду. Вам потрібно скопіювати їх та вставити:
- Перший блок коду вставте у
wp-config.phpпід рядкомdefine( 'WP_ALLOW_MULTISITE', true );та перед/* That's all, stop editing! Happy publishing. */. Він буде виглядати приблизно так:define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); // Або false, якщо вибрали підкаталоги define('DOMAIN_CURRENT_SITE', 'yourdomain.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); - Другий блок коду замінить вміст вашого файлу
.htaccess(для Apache) або буде використовуватися для налаштування Nginx (для Nginx). Для Apache: Відкрийте.htaccessу кореневій директорії WordPress:
Замініть весь вміст файлу на наданий код, який буде виглядати приблизно так:sudo nano .htaccess
Для Nginx: Якщо ви використовуєте Nginx, вам потрібно буде вручну налаштувати файл конфігурації вашого віртуального хоста (наприклад,RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L]/etc/nginx/sites-available/yourdomain.com) відповідно до інструкцій, які WordPress надає на цій сторінці. Це буде включати директивиtry_filesтаrewriteдля правильної обробки запитів до піддоменів або підкаталогів. Приклад для піддоменів був наведений у попередньому розділі.
5. Перелогіньтесь:
Після збереження змін у wp-config.php та .htaccess, WordPress попросить вас знову увійти до системи. Тепер ваша мережа мультисайт WordPress активована. Ви побачите пункт "Мої сайти" (My Sites) у верхній панелі адмін-панелі, звідки зможете керувати мережею та окремими сайтами.
Піддомени проти підкаталогів: що вибрати для вашої мережі сайтів WordPress?
Одним з перших і найбільш важливих рішень при налаштуванні WordPress Multisite є вибір структури URL для вашої мережі: використовувати піддомени (наприклад, site1.maindomain.com) або підкаталоги (наприклад, maindomain.com/site1). Цей вибір впливає на SEO, простоту налаштування та гнучкість подальшого розвитку.
Переваги та недоліки кожного підходу
Піддомени (Sub-domains):
Приклад: blog.example.com, shop.example.com
Переваги:
- SEO-переваги: Вважається, що пошукові системи можуть розглядати піддомени як більш незалежні сутності, ніж підкаталоги, що може бути корисно, якщо кожен сайт у вашій мережі має дуже різну тематику.
- Гнучкість для доменного мапінгу: Піддомени легше інтегрувати з функцією доменного мапінгу, дозволяючи кожному сайту мережі мати свій унікальний домен (наприклад,
site1.comзамістьsite1.maindomain.com). - Чітке розділення: Візуально та логічно піддомени створюють відчуття більшої незалежності для кожного сайту.
- Простота налаштування для нових інсталяцій: WordPress рекомендує піддомени для свіжих інсталяцій Multisite.
Недоліки:
- Потрібен Wildcard DNS: Для підтримки піддоменів необхідно налаштувати Wildcard DNS запис (
*.example.com, що вказує на IP вашого VPS). Це може бути складніше для новачків. - Налаштування веб-сервера: Вимагає специфічної конфігурації Nginx або Apache для правильної маршрутизації запитів до піддоменів.
- SSL-сертифікати: Для кожного піддомену або для всієї мережі знадобиться Wildcard SSL-сертифікат (наприклад, Let's Encrypt Wildcard), що додає складності в налаштуванні.
Підкаталоги (Sub-directories):
Приклад: example.com/blog, example.com/shop
Переваги:
- Простота налаштування: Не вимагають Wildcard DNS. Налаштування веб-сервера зазвичай простіше, оскільки всі сайти знаходяться в одній кореневій директорії основного домену.
- SEO-переваги (для деяких випадків): Пошукові системи можуть розглядати контент у підкаталогах як частину основного домену, що може сприяти зміцненню авторитету основного домену. Ідеально, якщо всі сайти тісно пов'язані тематично.
- Один SSL-сертифікат: Достатньо одного SSL-сертифіката для основного домену, який покриє всі підкаталоги.
Недоліки:
- Обмеження WordPress: WordPress не дозволяє використовувати підкаталоги для існуючих інсталяцій, яким більше одного місяця, щоб уникнути конфліктів з вже існуючими сторінками/записами. Це робить їх менш гнучкими для міграції.
- Менша незалежність: Сайти виглядають як частини одного великого сайту, що може бути небажано, якщо ви хочете створити відчуття окремих брендів.
- Потенційні конфлікти: Можливість конфліктів URL, якщо назви підкаталогів збігаються з існуючими сторінками або записами на основному сайті.
Коли що вибирати:
- Вибирайте піддомени, якщо ви створюєте нову мережу, хочете надати кожному сайту більш незалежний вигляд, плануєте використовувати доменний мапінг, або якщо сайти мають різну тематику.
- Вибирайте підкаталоги, якщо всі сайти тісно пов'язані з основним доменом, ви хочете зміцнити SEO основного домену, і вам потрібне максимально просте налаштування без Wildcard DNS.
Налаштування DNS та веб-сервера для піддоменів/підкаталогів
Для піддоменів:
1. Налаштування Wildcard DNS: Перейдіть до панелі управління DNS вашого доменного реєстратора або DNS-провайдера. Додайте запис типу A (або CNAME, якщо ви використовуєте CDN):
Тип: A
Ім'я/Хост: *
Значення/Вказує на: IP-адреса вашого VPS
Цей запис направить всі неіснуючі піддомени (наприклад, site1.yourdomain.com, site2.yourdomain.com) на ваш VPS. Час розповсюдження DNS-записів може зайняти до 24-48 годин.
2. Налаштування веб-сервера:
- Nginx: У файлі конфігурації вашого віртуального хоста (наприклад,
/etc/nginx/sites-available/yourdomain.com) переконайтеся, що директиваserver_nameвключає Wildcard піддомени:
Решта конфігурації Nginx, як правило, вже містить необхідніserver_name yourdomain.com *.yourdomain.com;try_filesтаrewriteправила для WordPress Multisite, які ви отримали при активації мережі. - Apache: Файл
.htaccess, згенерований WordPress, вже містить всі необхідні правилаRewriteRuleдля обробки піддоменів. Переконайтеся, що модульmod_rewriteувімкнено:
Також, у конфігурації вашого віртуального хоста (наприклад,sudo a2enmod rewrite sudo systemctl restart apache2/etc/apache2/sites-available/yourdomain.com.conf), переконайтеся, щоAllowOverride Allвстановлено для директорії WordPress, щоб Apache міг читати.htaccess.
sudo systemctl restart nginx або sudo systemctl restart apache2.
Для підкаталогів:
1. Налаштування DNS:
Wildcard DNS не потрібен. Вам потрібен лише запис A для основного домену (yourdomain.com та www.yourdomain.com), що вказує на IP вашого VPS.
2. Налаштування веб-сервера:
- Nginx: Конфігурація Nginx для підкаталогів буде аналогічна конфігурації для одного сайту WordPress, але з урахуванням специфічних правил
try_filesтаrewrite, наданих WordPress при активації мережі. - Apache: Файл
.htaccess, згенерований WordPress для режиму підкаталогів, містить всі необхідні правила. Переконайтеся, щоmod_rewriteувімкнено, аAllowOverride Allвстановлено для директорії WordPress.
Вибір між піддоменами та підкаталогами — це фундаментальне рішення, яке вплине на всю архітектуру вашої мережі мультисайт WordPress. Уважно продумайте свої майбутні потреби, перш ніж робити вибір.
Мапінг доменів (Domain Mapping) у WordPress Multisite: управління індивідуальними доменами
Однією з найбільш потужних функцій WordPress Multisite є можливість мапінгу доменів (Domain Mapping). Ця функція дозволяє кожному окремому сайту у вашій мережі мати свій власний унікальний домен, відмінний від основного домену мережі. Наприклад, замість site1.maindomain.com або maindomain.com/site1, ваш клієнт або підрозділ може використовувати clientdomain.com. Це створює враження повністю незалежного сайту, при цьому зберігаючи всі переваги централізованого управління мережею.
Як працює мапінг доменів
Механізм мапінгу доменів у WordPress Multisite досить простий, але вимагає правильного налаштування DNS та веб-сервера:
- DNS-запис: Для кожного "замапленого" домену (наприклад,
clientdomain.com) необхідно створити DNS A-запис (або CNAME), що вказує на IP-адресу вашого VPS, де розміщений wordpress multisite hosting. Це гарантує, що при запиті доclientdomain.comбраузер користувача буде направлений на ваш сервер. - Веб-сервер: Ваш веб-сервер (Nginx або Apache) повинен бути налаштований так, щоб обробляти запити до всіх "замаплених" доменів та направляти їх у кореневу директорію вашої інсталяції WordPress. Це зазвичай досягається за допомогою Wildcard Virtual Host (для Nginx) або універсальної конфігурації (для Apache).
- WordPress Multisite: Всередині WordPress, Супер Адміністратор додає новий домен до конкретного сайту в мережі. WordPress потім використовує цю інформацію, щоб визначити, який сайт з мережі повинен бути завантажений при запиті до цього домену.
Раніше для мапінгу доменів були потрібні сторонні плагіни, але з версії WordPress 4.5 ця функціональність вбудована в ядро. Тепер достатньо просто додати домен у налаштуваннях сайту в адмін-панелі мережі.
Налаштування доменного мапінгу та SSL
1. Налаштування DNS для кожного нового домену:
Для кожного домену, який ви хочете "замапити" на сайт у вашій мережі, вам потрібно створити DNS A-запис, що вказує на IP-адресу вашого VPS. Наприклад, для домену clientdomain.com:
Тип: A
Ім'я/Хост: @ (або clientdomain.com)
Значення/Вказує на: IP-адреса вашого VPS
Тип: A
Ім'я/Хост: www
Значення/Вказує на: IP-адреса вашого VPS
Повторіть це для всіх доменів, які ви хочете використовувати.
2. Налаштування веб-сервера для обробки всіх доменів:
Ваш веб-сервер повинен бути готовий приймати запити для будь-якого домену, який ви мапите.
- Nginx:
Переконайтеся, що в блоці
serverвашого віртуального хоста (наприклад,/etc/nginx/sites-available/yourdomain.com) вказаноserver_name, яке включає як основний домен, так і Wildcard для піддоменів, а також, можливо, список всіх замаплених доменів, якщо ви не використовуєте універсальний підхід. Найкраще використовувати Wildcard-підхід, який вже був описаний для піддоменів, оскільки він дозволяє Nginx слухати всі домени, направлені на ваш IP.
Для більш гнучкого підходу можна використовувати Wildcard уserver { listen 80; server_name yourdomain.com *.yourdomain.com clientdomain.com client2domain.com; # Додайте всі замаплені домени root /var/www/html/wordpress; # Шлях до вашої інсталяції WordPress # ... решта конфігурації Nginx для WordPress Multisite ... }server_name, але це може ускладнити налаштування SSL для індивідуальних доменів без Wildcard SSL. - Apache: Apache зазвичай більш поблажливий, оскільки він буде направляти всі запити, що надходять на IP-адресу, на ваш default Virtual Host, якщо немає більш специфічного збігу. Переконайтеся, що ваш Virtual Host для WordPress Multisite є default або налаштований для обробки всіх доменів.
3. Додавання домену в WordPress Multisite:
Увійдіть до адмін-панелі мережі (як Супер Адміністратор). Перейдіть до Мої сайти -> Управління мережею -> Сайти (My Sites -> Network Admin -> Sites).
- Виберіть сайт, для якого ви хочете налаштувати мапінг, і натисніть "Змінити".
- У полі "Адреса сайту (URL)" (Site Address (URL)) змініть URL з піддомену/підкаталогу на новий домен (наприклад, з
site1.maindomain.comнаclientdomain.com). - Збережіть зміни.
4. Налаштування SSL для замаплених доменів:
Це критично важливий крок для безпеки та SEO. Для кожного замапленого домену вам потрібно буде встановити SSL-сертифікат.
- Let's Encrypt з Certbot: Це найбільш популярне та безкоштовне рішення.
Потім запустіть Certbot для кожного домену:sudo apt install certbot python3-certbot-nginx -y # Для Nginx sudo apt install certbot python3-certbot-apache -y # Для Apache
Certbot автоматично налаштує ваш веб-сервер та отримає сертифікати. Повторіть для кожного замапленого домену.sudo certbot --nginx -d clientdomain.com -d www.clientdomain.com # Для Nginx sudo certbot --apache -d clientdomain.com -d www.clientdomain.com # Для Apache - Wildcard SSL-сертифікат: Якщо ви використовуєте піддомени, і кожен підсайт повинен мати свій піддомен (наприклад,
site1.maindomain.com), то Wildcard SSL-сертифікат (*.maindomain.com) може покрити всі піддомени. Let's Encrypt також може видавати Wildcard сертифікати, але це вимагає використання DNS-01 методу перевірки.
Після налаштування SSL переконайтеся, що всі запити перенаправляються на HTTPS. Це можна зробити через конфігурацію веб-сервера або за допомогою плагінів WordPress (наприклад, Really Simple SSL), але конфігурація на рівні сервера завжди краща.
Мапінг доменів робить мережу сайтів WordPress неймовірно гнучкою та потужною, дозволяючи вам керувати безліччю різноманітних проєктів з одного сервера, створюючи при цьому унікальний брендинг для кожного з них.
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Продуктивність та оптимізація WordPress Multisite на VPS
Продуктивність є ключовим аспектом для будь-якої веб-платформи, і WordPress Multisite на VPS не виняток. Зі зростанням числа сайтів, користувачів та контенту, навантаження на сервер значно зростає. Ефективна оптимізація критично важлива для забезпечення швидкого завантаження сторінок, стабільної роботи та позитивного користувацького досвіду. Наша мета — вичавити максимум з вашого wordpress multisite hosting.
Кешування, CDN та оптимізація бази даних
1. Кешування: Кешування — це основний інструмент для підвищення продуктивності WordPress.
- Об'єктне кешування (Object Caching): Прискорює запити до бази даних WordPress. Рекомендується використовувати Redis або Memcached. Для Redis:
Потім встановіть плагін Redis Object Cache у WordPress та активуйте його на рівні мережі. Додайте вsudo apt install redis-server -ywp-config.php:define('WP_REDIS_HOST', '127.0.0.1'); define('WP_REDIS_PORT', 6379); define('WP_REDIS_PASSWORD', 'your_redis_password'); // Якщо встановлено define('WP_REDIS_DATABASE', 0); // Використовуйте різні бази даних для різних сайтів, якщо потрібно define('WP_CACHE_KEY_SALT', 'your_unique_salt_prefix_'); // Важливо для Multisite - Кешування сторінок (Page Caching): Зберігає повністю згенеровані HTML-сторінки, щоб не генерувати їх заново при кожному запиті.
- Плагіни WordPress: WP Super Cache або W3 Total Cache (вимагає складнішого налаштування для Multisite). Встановіть та налаштуйте на рівні мережі.
- Серверне кешування (Varnish/Nginx FastCGI Cache): Більш ефективне рішення, що працює на рівні веб-сервера. Varnish HTTP Cache є потужним зворотним проксі, який може значно прискорити доставку контенту. Nginx FastCGI Cache також дуже ефективний і простіший у налаштуванні, ніж Varnish.
- Кешування браузера: Налаштовується на рівні веб-сервера (Nginx/Apache) для вказівки браузерам, як довго зберігати статичні ресурси (CSS, JS, зображення).
2. Мережа доставки контенту (CDN): CDN (наприклад, Cloudflare, KeyCDN, BunnyCDN) розподіляє ваші статичні файли (зображення, CSS, JS) по безлічі серверів по всьому світу. Це скорочує відстань до користувача та значно прискорює завантаження сайту, знижуючи навантаження на ваш VPS. Cloudflare також пропонує додаткові функції безпеки та оптимізації.
3. Оптимізація бази даних:
- Регулярне очищення: Видаляйте старі ревізії записів, спам-коментарі, невикористовувані транзієнти. Плагіни на кшталт WP-Optimize можуть допомогти.
- Індексування: Переконайтеся, що всі необхідні таблиці бази даних проіндексовані для швидкого виконання запитів.
- Налаштування MySQL/MariaDB: Оптимізуйте конфігурацію бази даних (наприклад,
my.cnf) для вашого сервера. Параметри на кшталтinnodb_buffer_pool_size,query_cache_size(для MySQL 5.7 і нижче),max_connectionsмають велике значення. Наприклад,innodb_buffer_pool_sizeповинен бути встановлений приблизно в 50-70% від доступної RAM, якщо база даних є основним споживачем пам'яті.
4. Оптимізація зображень: Використовуйте плагіни для стиснення зображень (наприклад, Smush, Imagify) та конвертуйте їх у сучасні формати (WebP). Це суттєво знижує розмір сторінок.
Моніторинг ресурсів та масштабування
1. Моніторинг ресурсів: Регулярний моніторинг вашого VPS — це ключ до виявлення "вузьких місць" та проблем з продуктивністю.
- Інструменти командного рядка: Використовуйте
htopдля моніторингу CPU та RAM,iotopдля дискових операцій,netstatдля мережевої активності. - Моніторинг веб-сервера: Nginx Access Logs та Error Logs, Apache Access Logs та Error Logs.
- Системи моніторингу: Встановіть систему моніторингу, таку як Prometheus + Grafana, Netdata, Zabbix, або використовуйте хмарні сервіси моніторингу. Це дозволить відстежувати завантаження CPU, використання RAM, дискові операції, мережевий трафік, кількість активних PHP-процесів та запитів до бази даних у режимі реального часу. Багато з цих інструментів, як і інструменти моніторингу, подібні Dozzle, можуть бути легко встановлені на VPS.
- Моніторинг WordPress: Використовуйте плагіни для моніторингу продуктивності та налагодження, такі як Query Monitor, щоб виявити повільні запити до бази даних або ресурсомісткі плагіни.
2. Масштабування: У міру зростання вашої мережі WordPress Multisite може знадобитися масштабування VPS.
- Вертикальне масштабування: Збільшення ресурсів поточного VPS (додавання CPU, RAM, дискового простору). Valebyte.com дозволяє легко оновлювати тарифи VPS.
- Горизонтальне масштабування (для дуже великих мереж): Розділення компонентів на окремі сервери. Наприклад, виділення окремого VPS для бази даних (MySQL/MariaDB), окремого для кешування (Redis/Memcached) та кількох VPS для веб-сервера з балансувальником навантаження. Це значно складніше і зазвичай потрібно лише для високонавантажених корпоративних проєктів.
- Оптимізація коду: Регулярно перевіряйте та оптимізуйте код тем та плагінів. Видаляйте невикористовувані плагіни та теми.
Пам'ятайте, що кожен сайт у вашій мережі робить свій внесок у загальне навантаження. Погано оптимізований плагін на одному з сайтів може уповільнити всю мережу. Тому важливо стежити за тим, що встановлюють адміністратори окремих сайтів, і, за необхідності, обмежувати їх можливості.
Який VPS потрібен для WordPress Multisite: рекомендації Valebyte.com
Вибір відповідного VPS для WordPress Multisite критично важливий для стабільної роботи та продуктивності вашої мережі сайтів. Valebyte.com пропонує різні конфігурації, які можуть задовольнити потреби від невеликих особистих блогів до великих корпоративних мереж. Наводимо наші рекомендації, засновані на досвіді хостингу вимогливих веб-додатків.
Мінімальні та рекомендовані конфігурації
Вимоги до VPS для мультисайт WordPress сильно залежать від кількості сайтів у мережі, їх трафіку, складності використовуваних тем та плагінів, а також кількості активних користувачів. Ми розділили рекомендації на три рівні:
1. Початковий рівень (для невеликих мереж, до 5-10 сайтів з низьким трафіком):
- CPU: 2 vCPU
- RAM: 4 GB
- Диск: 80-100 GB NVMe
- Пропускна здатність: 1 TB/міс
- Приклад використання: Кілька особистих блогів, тестове середовище, мережа сайтів для маленького стартапу.
- Примітка: На цьому рівні критично важливо використовувати кешування (Nginx FastCGI Cache або плагіни) та оптимізацію зображень.
2. Середній рівень (для середніх мереж, до 20-50 сайтів з помірним трафіком):
- CPU: 4-6 vCPU
- RAM: 8-16 GB
- Диск: 160-250 GB NVMe
- Пропускна здатність: 2-4 TB/міс
- Приклад використання: Мережа сайтів для веб-агентства (клієнтські сайти), корпоративна мережа підрозділів, освітній портал.
- Примітка: Обов'язкове впровадження об'єктного кешування (Redis/Memcached) та CDN. Регулярний моніторинг ресурсів сервера стає критичним.
3. Просунутий рівень (для великих мереж, більше 50 сайтів або з високим трафіком/E-commerce):
- CPU: 8+ vCPU (або виділені ядра)
- RAM: 32+ GB
- Диск: 500 GB+ NVMe (або кілька дисків)
- Пропускна здатність: 5+ TB/міс
- Приклад використання: Великі SaaS-платформи на WordPress, великі медіа-портали, E-commerce мережі, що вимагають високої доступності та продуктивності.
- Примітка: На цьому рівні часто потрібне горизонтальне масштабування (окремі сервери для БД, кешу, веб-серверів), керований хостинг та/або використання високопродуктивних виділених серверів. Моніторинг з використанням просунутих систем (Prometheus/Grafana) є обов'язковим.
Порівняння тарифів Valebyte.com для WordPress Multisite
Представляємо орієнтовне порівняння тарифів Valebyte.com, що підходять для різних рівнів wordpress multisite hosting. Зверніть увагу, що ціни та точні специфікації можуть змінюватися, і для отримання актуальної інформації завжди краще відвідати наш сайт.
| Тариф Valebyte.com | vCPU | RAM (GB) | NVMe Диск (GB) | Трафік (TB/міс) | Орієнтовна ціна ($/міс) | Підходить для |
|---|---|---|---|---|---|---|
| VPS-Start | 2 | 4 | 80 | 1 | від $15 | Невеликі мережі (до 10 сайтів), особисті блоги, тестові проєкти |
| VPS-Standard | 4 | 8 | 160 | 2 | від $30 | Середні мережі (до 30 сайтів), невеликі агентства, корпоративні портали |
| VPS-Pro | 6 | 16 | 250 | 4 | від $60 | Великі мережі (до 50+ сайтів), високонавантажені проєкти, E-commerce |
| VPS-Enterprise | 8+ | 32+ | 500+ | 5+ | від $120 | Дуже великі мережі, SaaS-платформи, критично важливі бізнес-додатки |
Важливі рекомендації при виборі:
- Почніть із запасом: Завжди вибирайте тариф з невеликим запасом за ресурсами, щоб уникнути проблем з продуктивністю при раптовому зростанні трафіку або додаванні нових сайтів.
- Масштабованість: Переконайтеся, що ваш провайдер (як Valebyte.com) пропонує легке масштабування VPS-ресурсів без простою.
- NVMe-диски: Це не обговорюється. Для WordPress, особливо Multisite, швидкість дискової підсистеми має величезне значення.
- Підтримка: Наявність кваліфікованої технічної підтримки для допомоги з серверними питаннями (не WordPress-специфічними) дуже цінна.
- Моніторинг: Використовуйте вбудовані в панель управління VPS інструменти моніторингу або сторонні рішення, щоб завжди бути в курсі стану вашого сервера.
Вибираючи wordpress multisite hosting на VPS від Valebyte.com, ви отримуєте не тільки потужні та швидкі сервери, але й гнучкість, необхідну для зростання вашої мережі сайтів.
Висновки
WordPress Multisite на VPS є потужним та гнучким рішенням для централізованого управління безліччю веб-сайтів, пропонуючи значну економію ресурсів та спрощення адміністративних завдань. Для успішного розгортання та підтримки такої мережі критично важливим є вибір відповідного VPS з достатнім об'ємом RAM, продуктивними NVMe-дисками та потужним CPU, а також ретельне налаштування веб-сервера, бази даних та систем кешування. Valebyte.com пропонує оптимальні VPS-тарифи, які можна масштабувати в міру зростання вашої мережі, забезпечуючи стабільність та високу продуктивність.
Готові вибрати сервер?
VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.
Почати зараз →