WordPress multisite — это мощный инструмент, позволяющий управлять несколькими сайтами из одной установки WordPress. Особенно популярна конфигурация с поддоменами, когда новые сайты создаются вида site1.example.com, site2.example.com и так далее. В этой статье подробно разберем, как правильно настроить multisite с поддоменами, какие есть нюансы, а также приведем примеры кода и полезные плагины для расширения функционала.
Что такое multisite с поддоменами и для чего он нужен?
Multisite позволяет объединить несколько сайтов на одной базе данных и общей установке WordPress. Использование поддоменов удобно, если вы хотите создать сеть сайтов с единым доменом, но разной тематикой или контентом. Это популярное решение для образовательных платформ, корпоративных порталов, франчайзинговых сайтов и т.д.
В отличие от подсистемы с папками (/site1, /site2), поддомены требуют правильной настройки DNS и веб-сервера, но дают большую гибкость и лучше подходят для SEO.
Технические требования для multisite с поддоменами
Для корректной работы multisite с поддоменами необходимы следующие условия:
- Настройка wildcard DNS — запись
*.example.comдолжна указывать на IP сервера. - Поддержка wildcard поддоменов на уровне веб-сервера (Apache или Nginx).
- Включение multisite в WordPress и выбор режима поддоменов при настройке.
Пример wildcard DNS записи для зоны example.com:
*.example.com. IN A 123.123.123.123
Где 123.123.123.123 — IP вашего хостинга.
Настройка multisite с поддоменами в WordPress: пошагово
1. Включите multisite. Откройте wp-config.php и добавьте перед строкой /* That's all, stop editing! Happy publishing. */ следующий код:
define('WP_ALLOW_MULTISITE', true);
2. Войдите в админку WordPress, перейдите в меню «Инструменты» - «Сеть» и выберите тип сети Поддомены. Следуйте инструкциям по добавлению необходимых строк в wp-config.php и .htaccess.
3. Настройте DNS и веб-сервер для поддержки wildcard поддоменов.
Пример конфигурации Apache для wildcard поддоменов
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
4. После настройки сети вы сможете создавать новые сайты в виде поддоменов через админпанель.
Решение распространенных проблем при работе multisite с поддоменами
Проблема 1: Ошибка "Сайт не найден" при доступе к поддомену
Причина обычно в неправильной настройке wildcard DNS или веб-сервера. Проверьте, что DNS-запись *.example.com существует и указывает на IP сервера, а в конфигурации веб-сервера прописан ServerAlias для поддоменов.
Проблема 2: SSL-сертификаты для поддоменов
Для работы https на поддоменах нужен wildcard-сертификат. Бесплатно получить такой сертификат можно через Let's Encrypt. Пример интеграции с Certbot:
sudo certbot --apache -d example.com -d '*.example.com'
Это позволит защитить все поддомены одним сертификатом.
Плагин для удобного управления multisite
Рекомендуется использовать плагин Network Site Switcher, который облегчает переключение между сайтами сети в админке. Также можно использовать Clearfy Pro для оптимизации multisite и выключения ненужных функций, что улучшит производительность.
Пример кода: добавление общего функционала для всех сайтов сети
Часто нужно добавить кастомный код, который будет работать на всех сайтах multisite. Добавим пример функции, которая выводит в админбаре ссылку на главный сайт сети:
function wptasks_add_network_link_admin_bar( $wp_admin_bar ) {
if ( is_multisite() ) {
$network_url = network_home_url();
$wp_admin_bar->add_node( array(
'id' => 'network-home',
'title' => 'Главный сайт сети',
'href' => $network_url,
'meta' => array( 'target' => '_blank' ),
) );
}
}
add_action( 'admin_bar_menu', 'wptasks_add_network_link_admin_bar', 100 );
Этот код можно добавить в functions.php вашей темы или в отдельный плагин.
Дополнительные советы по администрированию multisite с поддоменами
1. Регулярно делайте бэкапы всей сети — база данных и файлы.
2. Используйте плагины, совместимые с multisite. Не все плагины поддерживают работу в сети, проверяйте документацию.
3. Настройте централизованное обновление плагинов и тем, чтобы облегчить поддержку.
4. Следите за лимитами ресурсов хостинга — multisite может потреблять больше памяти и CPU.
Создание multisite с поддоменами — отличный способ масштабировать проекты на WordPress. При правильной настройке и грамотном администрировании вы получите гибкую и мощную систему для управления множеством сайтов.