- 04.12.2023
Я буду устанавливать мультисайт на свежеустановленный WordPress. Потому что при установке мультисайта, старый сайт обновится и информация может потеряться.
Т.е. если у Вас старый сайт как и у меня, то сначала надо установить локально или на тестовый домен новый WP, затем поставить мультисайт и затем импортировать информацию со старого сайта на новый.
Далее вы узнаете про:
Почему я хочу перейти на мультисайт?
Есть некий сайт, с двумя языковыми версиями (русской и английской), для разделения версий на нем используется плагин qTranslate-X, который на данный момент не обновляется разработчиком. Соответственно сайт тоже нельзя обновлять, из-за этого очень много уязвимостей и т.д. и т.п..
Я буду устанавливать и настраивать мультисайт без каких либо плагинов, используя стандартные возможности WP.
Как включить мультисайт?
Нужно:
1. Зайти в плагины и удалить (если они не нужны) или деактивировать все плагины.
2. Открыть файл wp-config.php, который находится в корне сайта. И перед строкой
или
добавить
define( 'WP_ALLOW_MULTISITE', true );
Сохранить, загрузить изменения на сервер.
3. Затем перейти в "Инструменты" - "Установка сети".
На следующей странице обратите внимание на предупреждение про mod_rewrite.
4. В разделе "Адреса сайтов вашей сети" выбрать как будут использоваться сайты, как поддомены или как подкаталоги.
Я выбираю подкаталоги, именно такая структура была у меня на старом сайте.
5. Далее ввести название сети и электронную почту администратора сети и нажать на кнопку "Установить".
6. На следующей странице WP скажет, что надо сделать 3 шага.
1. Бэкап файлов wp-config.php и .htaccess.
2. Добавить в wp-config.php, строки
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'ВАШ.ДОМЕН' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
3. Заменить в .htaccess все строки на эти
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]
После этого мультисайт активируется и нужно будет повторно войти в админку.
Настройка мультисайта
Слева вверху появится меню "Мои сайты", а также слева в меню.
Если нажать в меню на "Мои сайты" - откроется список сайтов сети.
Если навести вверху на "Мои сайты" дополнительно отобразится "Управление сетью" и "Сайт1", "Сайт2" и т.д.
Как создать многоязычный сайт без плагинов
Чтобы добавить англоязычную версию, захожу в "Управление сетью"- "Сайты". На этой странице, можно добавить, удалить или отредактировать существующий сайт.
Нажимаю "Добавить сайт" и ввожу следующие данные
- Адрес сайта (URL) - en;
- Название сайта - на английском;
- Язык сайта - Английский;
- E-mail администратора.
И нажимаю "Добавить сайт".
Получается у меня будет английская версия в папке, а русская версия просто без папки.