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, это папка mu-plugins. Папка содержит одно-файловые плагины, которые не могут быть активированы или отключены. Если они находятся в папке mu-plugins папки wp-content, они активны. Иногда плагины 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.