WordPress Multisite - це чудова опція WordPress. Але не завжди корисна. Я відключив Multisite для власного блогу. Раніше я використав його неправильно і потім переніс свої сайти у мережі. Настав час повністю відключити Multisite.
На цю тему існує не так багато документації, а повної я взагалі не зустрічав. Ось основні кроки, які описують, як потрібно відключити Multisite, щоб точно позбавитися всього.
Дивіться також:
1. Видаліть всі сайти, що залишилися
Видаліть всі сайти з вашої Multisite установки, крім основного сайту, перейшовши в Мої сайти → Сайти у консолі адміністратора WordPress. Якщо вам потрібно перенести підсайт у свій власний WordPress - це можливо, якщо ви закочуєте рукави і візьметеся за роботу, але ця інструкція не входить до цієї статті.
2. Видаліть небажаних користувачів
Видаліть користувачів, яким ви не хочете більше надавати доступ до вашого сайту. Просто вилучивши сайт, ви не видаліть користувачів, які були пов'язані з цим сайтом, тому що користувачі в Multisite є глобальними. Так що вам потрібно почистити облікові записи ваших користувачів, перейшовши до блоку Користувачі у консолі адміністратора.
3. Видаліть рядки включення Multisite із wp-config.php
У вашому файлі WP-config.php будуть деякі рядки коду, які включають Multisite. Вони будуть виглядати схожими приблизно так:
define('WP_ALLOW_MULTISITE', true); define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', true ); $base = '/'; define( 'DOMAIN_CURRENT_SITE', 'mysiteurl.com' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );
Вам потрібно видалити ці рядки з WP-config.php.
4. Відновіть .htaccess до вихідного варіанта
Далі буде трохи складніше. Потрібно видалити згадки про Multisite з вашого .htaccess файлу, якщо ваш хостинг працює на Apache (не на Nginx). Простий, стандартний WordPress .htaccess файл виглядає здебільшого так:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Але ваша установка може мати додаткові (цілком потрібні) рядки коду, які були додані плагінами, особливо якщо у вас є включені плагіни кешування.
Отже, звертайте увагу на коментарі до рядків коду, їх повинні використовувати плагіни, щоб відзначити початок і кінець включення коду. Наприклад, рядки в .htaccess, додані плагіном WP Super Cache, оточені рядками #BEGIN supercache и #END supercache.
5. Видаліть таблиці Multisite із бази даних
Тепер ваш сайт повинен працювати нормально в не-Multisite режимі, але вам ще є що прибирати. На цьому етапі необхідно видалити окремі таблиці в базі даних, що працюють для Multisite:
- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_signups
- wp_site
- wp_meta
Якщо ви використовуєте плагін прив'язки домену, Ви також можете видалити такі дві таблиці:
- domain_mapping
- domain_mapping_logins
Ви можете зробити це за допомогою phpMyAdmin, якщо у вас є доступ до вашого хостингу.
6. Видаліть плагіни, пов'язані з Multisite
У мене було кілька плагінів для Multisite, які робили речі на зразок прив'язки доменів, клонування підсайтів і т.д. Зараз саме час пройтися списком плагінів і видалити ті, які вам більше не потрібні.
Зауважу, деякі з цих плагінів (наприклад, згаданий мною раніше плагін прив'язки домену) створюють власні таблиці. Так що якщо у вас є інші таблиці, створені плагінами, які ви видалили, ви можете видалити також і їх. Але будьте обережні, переконайтеся, що таблиці, які ви видаляєте, більше не потрібні.
Ще одне місце, де у вас може бути плагін-другий для Multisite, це папка мю-плагіни. Папка містить однофайлові плагіни, які не можуть бути активовані або відключені. Якщо вони знаходяться у папці мю-плагіни папки WP-зміст, вони активні. Іноді плагіни Multisite вимагають приміщення саме у цю папку.
Так що подивіться на папку mu-plugins в папці wp-content і видаліть те, що вам не потрібно.
7. Видаліть непотрібні папки з wp-content
Крок, про який багато хто забуває - видалення непотрібних папок з папки wp-content. Multisite створює папку під назвою blogs.dir у wp-content. Коли Multisite увімкнено, папка blogs.dir містить папки для кожного сайту, де зберігаються завантаження для цього сайту. Отже, тепер ми можемо видалити папку blogs.dir.
8. Увімкніть плагіни, вимкнені після деактивації Multisite
Це крок, який легко упустити. У мене було кілька плагінів, які були активовані для мережі тому, що я використовував їх на кожному сайті мережі. Але коли ви відключаєте Multisite, ви видаляєте можливості мережної активації, тому на вашому головному сайті ці плагіни стають неактивними. Тому потрібно повернутися і активувати ті з них, які ви хочете продовжити використовувати.
Ще одна ремарка для читачів, що цікавляться (не тільки цього посібника), якщо у вас є активований для мережі плагін, і ви хочете відключити його для мережі, але залишити активним для сайтів, які його вже використовують, про це написав Костянтин Ковшенін.
9. Насолоджуйтесь вашим чистим WordPress
Вітаємо, все готове! Ви успішно деактивували WordPress Multisite і в ході цього зробили невелике прибирання вашого сайту.
Коментарі до запису: 7
Тепер ваш сайт повинен працювати нормально в не-Multisite режимі, але вам ще є що прибирати. На цьому етапі необхідно видалити окремі таблиці в базі даних, що працюють для Multisite:
wp_blogs
wp_blog_versions
wp_registration_log
wp_signups
wp_site
wp_meta
Останнє не wp_meta, а wp_sitemeta
чудова стаття допомогла
Після всього вищезробленого - "помилка з'єднання з базою даних", при спробі переходу в wp-admin сказало, що відсутні таблиці (вказані в статті), повернув назад запрацювало, але в адмінка від мультисайту залишилася. Версія 4.6.1
що буде при цьому із статтями сайтів? вони залишаться?
вони залишаться тільки на основному сайті( на першому ), а решта пропаде ... статтю правильніше було назвати як "Як правильно деактивувати і видалити сайти на WordPress Multisite "
Добрий день. на самому початку посту було сказано, що стаття не підходить для перенесення підсайту на власний сайт. де можна знайти статтю про те, як перенести окремий підсайт на інший домен? у мене є підсайт на домені, і я його хочу зробити окремим сайтом (перенести його на домен
Після цих дій зіткнувся із проблемою входу до адмінки. Після введення логіну та пароля «нічого не відбувалося». Проблема входу вирішилася лише шляхом зниження версії PHP до 7.1.