Перейти к содержимому

Управление несколькими сайтами WordPress

При self-hosted подходе каждый сайт WordPress независим. Управлять несколькими сайтами можно несколькими способами:

Каждый сайт — своя копия WordPress на хостинге. У каждого свои:

  • Пользователи с правами
  • Темы и плагины
  • Настройки и контент

Переключение — через закладки или менеджер паролей.

Встроенная функция WordPress, позволяющая создать сеть сайтов на одной установке:

wp-config.php
define('WP_ALLOW_MULTISITE', true);

После активации Multisite вы получаете:

  • Сеть сайтов с общим ядром, темами и плагинами
  • Супер-администратора, управляющего всей сетью
  • Каждый сайт может иметь своих администраторов

Подробнее в официальной документации Create a Network.

  • MainWP — бесплатный self-hosted дашборд для управления десятками сайтов (обновления, бэкапы, мониторинг)
  • ManageWP — облачный сервис для централизованного управления
  • WP Remote — бесплатный инструмент для мониторинга обновлений

Для self-hosted:

  1. Создайте новую установку WordPress на хостинге (или поддомен/подпапку при Multisite)
  2. Настройте домен и SSL
  3. Установите тему и плагины
  4. Импортируйте контент если нужно

Для клонирования существующего сайта:

  • Плагин Duplicator — создание пакета для переноса
  • Плагин All-in-One WP Migration — экспорт и импорт
  • Ручное копирование файлов и базы данных

Для тестирования изменений перед запуском в production:

  • Плагин WP Staging — создание staging-копии в один клик
  • Встроенная функция staging у некоторых хостингов

При работе с клиентскими сайтами:

  • MainWP — централизованное управление
  • InfiniteWP — панель управления несколькими сайтами
  • Передавайте сайт клиенту с отдельной учётной записью администратора
  1. Отвязать домен от старого сайта (DNS)
  2. Привязать к новому сайту (NS-серверы или A-запись)
  3. Подождать распространения DNS (до 24-48 часов)

PHP пример: проверка, находимся ли мы в Multisite

Заголовок раздела «PHP пример: проверка, находимся ли мы в Multisite»
if (is_multisite()) {
$site_count = get_blog_count();
add_action('admin_notices', function () use ($site_count) {
echo '<div class="notice notice-info"><p>';
echo 'Multisite: ' . $site_count . ' сайтов в сети.';
echo '</p></div>';
});
}

Что делает код:

  • Проверяет, активирован ли Multisite.
  • Показывает количество сайтов в сети администраторам.