Проблема / Необходимость
Вы, вероятно, задавались вопросом, как создать сайт WordPress внутри уже установленной системы WordPress. Этот метод может быть очень полезен как для многосайтовой сети, так и для среды разработки или тестового сайта. К концу этой статьи вы сможете создавать и управлять сайтом WordPress внутри другой установки WordPress безопасно и эффективно.
Краткое резюме
- Создание многосайтовой сети WordPress.
- Использование подкаталогов или поддоменов.
- Конфигурация файла
wp-config.phpet.htaccess. - Управление дочерними сайтами осуществляется через главную административную панель.
- Меры предосторожности и контроля качества.
Когда использовать это решение
Это решение особенно актуально, если вы хотите:
- Управляйте несколькими сайтами WordPress с помощью единой панели управления.
- Легко создавайте различные среды (тестовую, производственную).
- Тестируйте плагины или темы, не затрагивая основной сайт.
- Предлагайте своим пользователям дополнительные сайты, например, личные блоги.
Когда НЕ следует использовать это решение
Избегайте этого решения, если:
- У вас ограниченные серверные ресурсы, поскольку многосайтовые конфигурации могут быть ресурсоемкими.
- Для вашего проекта требуются специфические конфигурации серверов, несовместимые с многосайтовыми системами.
- Вам неудобно работать со сложными функциями управления WordPress и файлами конфигурации.
Предварительные условия / перед началом обучения
- Обязательно сделайте полную резервную копию своего сайта.
- Перед переходом к производственной среде проведите пробную эксплуатацию.
- Для работы требуется WordPress 6.9.4+ и PHP 8.1+.
- Предоставьте доступ по FTP/SSH для изменения конфигурационных файлов.
- Убедитесь, что ваш хостинг поддерживает многосайтовую функциональность.
Наивный подход (и почему его следует избегать)
Распространенная ошибка — это ручное копирование папки WordPress в существующий каталог и попытка его установки. Это часто приводит к конфликтам баз данных и проблемам с путями. Кроме того, этот метод игнорирует конфигурации, необходимые для корректной работы мультисайтовой инфраструктуры, такие как управление... wp-config.php et .htaccess.
Правильный подход — пошаговое руководство
- Редактировать файл
wp-config.php// Ajouter cette ligne juste avant /* That's all, stop editing! Happy publishing. */ define('WP_ALLOW_MULTISITE', true); - Получите доступ к инструменту установки сети.
Войдите в панель управления WordPress, затем перейдите в раздел «Инструменты» > «Настройка сети».
- Выберите между поддоменами и подкаталогами.
WordPress предложит вам выбрать один из двух вариантов. Используйте поддомены для отдельных сайтов или подкаталоги для внутренних нужд.
- Настройте файл
wp-config.phpet.htaccess// Exemple pour wp-config.php define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); // Remplacez par true si vous utilisez des sous-domaines define('DOMAIN_CURRENT_SITE', 'votresite.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); // Exemple pour .htaccess # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L] RewriteRule . index.php [L] # END WordPress - Создавайте и управляйте веб-сайтами через интерфейс.
Для добавления новых сайтов перейдите в раздел «Мои сайты» > «Администрирование сети» > «Сайты».
Полный код
Код Пояснение
Данный код вносит изменения в файл. wp-config.php Для активации и настройки мультисайтовой версии WordPress. Определенные константы позволяют WordPress определить, что это мультисайтовая установка, и указать, используете ли вы поддомены или подкаталоги. Файл .htaccess Настроено на корректное переписывание URL-адресов в соответствии с выбранной структурой.
использование define('SUBDOMAIN_INSTALL', false);Вы выбираете организацию подкаталогов, что полезно для тестовых или внутренних сайтов. И наоборот, true Для поддоменов это идеально подходит для инсталляций, где каждый сайт требует четкого разграничения, например, site1.yoursite.comУбедитесь, что ваша DNS-система и хостинг-провайдер поддерживают поддомены с подстановочными знаками, если вы выберете этот вариант.
Варианты и сценарии использования
- Используйте поддомены: + Изменить
SUBDOMAIN_INSTALLàtrueвwp-config.php. - Среда разработки: Установите тему или плагин на дочерний сайт, не затрагивая основной сайт.
- Сеть блогов: Предоставьте пользователям возможность создавать собственные блоги на вашем основном домене.
Интересный пример использования — создание сети для компании с несколькими брендами. Каждый бренд может иметь свой собственный веб-сайт под поддоменом, при этом используя общие ресурсы, такие как пользователи и глобальный контент. Многосайтовое решение также позволяет централизованно управлять обновлениями и безопасностью, упрощая обслуживание.
Дополнительный пример: плагин для мультисайтов
Добавить плагин, который активируется только на определенных дочерних сайтах, может быть непросто. Вот как это сделать:
// Installer un plugin seulement sur un site enfant spécifique
function activer_mon_plugin_sur_un_site_specifique() {
if (get_current_blog_id() == 2) { // Remplacez 2 par l'ID de votre site enfant
include_once(ABSPATH . 'wp-admin/includes/plugin.php');
activate_plugin('mon-plugin/mon-plugin.php');
}
}
add_action('wp_loaded', 'activer_mon_plugin_sur_un_site_specifique');
Этот код использует действие wp_loaded Чтобы проверить текущий ID сайта и активировать плагин только в том случае, если ID совпадает с указанным. Это удобный способ управления функциями на конкретных сайтах без загромождения главной панели управления.
Совместимость с Divi 5 / Elementor / Avada
Для каждого из этих конструкторов страниц убедитесь, что ваши плагины и темы совместимы с многосайтовой установкой. Для некоторых плагинов может потребоваться лицензия на каждый дочерний сайт или определенные настройки.
В Divi 5 вы можете создавать глобальные макеты, которые применяются ко всем дочерним сайтам. Elementor требует подтверждения включения каждого пользовательского виджета на каждом подсайте, а Avada упрощает управление общими макетами с помощью Fusion Builder. Всегда тестируйте изменения на дочернем сайте, прежде чем применять их ко всем сайтам.
Распространенные ошибки и ловушки
| ERREUR | Вызывать | Решение |
|---|---|---|
| Ошибка 404 на дочерних сайтах | Неправильная конфигурация .htaccess | Проверьте и исправьте правила перезаписи. |
| Проблемы с подключением к базе данных | Конфликт при установке | Проверьте префиксы таблиц и конфигурацию базы данных. |
| Несовместимые плагины | Некоторые плагины не поддерживают мультисайтовую установку. | Ознакомьтесь с документацией к плагину. |
| Недоступные поддомены | Проблема с настройкой DNS | Убедитесь, что DNS настроен для поддоменов с подстановочными знаками. |
Советы по безопасности, производительности и техническому обслуживанию
- Отслеживайте производительность серверов; многосайтовые конфигурации могут потреблять больше ресурсов.
- Убедитесь, что каждый дочерний сайт защищен индивидуально.
- Регулярно обновляйте темы и плагины, чтобы избежать уязвимостей в системе безопасности.
- Для повышения скорости загрузки рекомендуется использовать CDN и кэширование.
- Запланируйте регулярные проверки безопасности для каждого объекта в сети.
Послемонтажные проверки
- Попробуйте создать новый сайт и проверьте его доступность.
- Протестируйте основные функции (добавление контента, установка плагинов) на дочернем сайте.
- Проверьте журналы сервера на наличие возможных ошибок.
- Для оптимизации каждого сайта проведите проверку производительности с помощью таких инструментов, как GTMetrix или PageSpeed Insights.
Если это не сработает
- Проверьте свой файл
wp-config.phpдля синтаксических ошибок. - Убедитесь, что файл
.htaccessНастроено правильно, особенно если используются поддомены. - Проверьте журналы сервера на наличие конкретных ошибок.
- Используйте инструменты отладки, такие как Query Monitor, для анализа SQL-запросов и ошибок PHP.
Ресурсы
- Официальная документация WordPress по многосайтовой конфигурации
- Инструкция по работе с файлом .htaccess
- Trac WordPress Core
- Репозиторий WordPress на GitHub
- Документация PHP
- GTMetrix для анализа производительности
- Google Insights PageSpeed
FAQ
- Как активация многосайтового режима влияет на производительность? Многосайтовая загрузка может потреблять больше ресурсов, поэтому проверьте возможности вашего хостинга.
- Можно ли отключить многосайтовую сеть? Да, но для этого потребуется отменить изменения, внесенные в конфигурационные файлы.
- Как дочерние сайты управляют темами и плагинами? Темы и плагины устанавливаются во всей сети, но могут быть активированы индивидуально для каждого сайта.
- Все ли хостинг-провайдеры поддерживают мультисайтовую конфигурацию? Нет, важно уточнить это у вашего хостинг-провайдера.
- Какой тип проекта идеально подходит для проекта, охватывающего несколько объектов? Блоговые сети, школы с множеством факультетов или компании с несколькими брендами.
- Как управлять пользователями в многосайтовой сети? Пользователям можно назначать роли на один или несколько сайтов в зависимости от необходимости.