Mar
17
2014

Jak wyłączyć sieć WordPress MultiSite?

Dzisiaj postanowiłem napisać krótką poradę dotycząca likwidacji sieci WordPress MultiSite, czyli przywracania WP MS do podstawowego trybu WordPressa.

WordPress MultiSite

Oczywiście najczęściej ludzie pytają, jak stworzyć sieci MultiSite, ale takich poradników jest pełno w sieci.

Czasem jednak ktoś rezygnuje z sieci, bo np. odpalił ją jedynie testowo, a potem usunął wszystkie sub-blogi i teraz została mu jedynie denerwująca nakładka WP MultiSite, przez którą wiele czynności wymaga dodatkowych kliknięć :)

Problem może wydać się dla części Szanownych Czytelników trywialny, ale ostatnie tygodnie pokazały, że wiele osób może mieć z tym problem. Tak więc, aby już więcej nie przedłużać – przechodzimy do konkretów…

Całość możemy podzielić na 5 etapów:

I etap: robimy backup bazy!

To niby oczywista-oczywistość, ale wiele osób o tym zapomina.

II etap: usuwamy zbędne wpisy z pliku wp-config.php

Poniżej podaję przykładowe wpisy, które należy usunąć:

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'twoja_strona.pl');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

III etap: modyfikujemy .htaccess

Tutaj w zasadzie mamy dwie możliwości:

  1. możemy bawić się w usuwanie zbędnych elementów
  2. możemy usunąć cały plik .htaccess i wygenerować go od nowa w Ustawienia -> Bezpośrednie odnośniki (opcja jedynie w przypadku, gdy nie dodawaliśmy nic od siebie do tego pliku – 90% sytuacji)

Jeśli postanawiamy wybrać jednak opcję nr 1. to musimy poniższy fragment:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

uprościć do:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

IV etap: usuwamy dwie kolumny z tabeli użytkowników (np. wp_users)

Kolumnami tabeli wp_users, które związane są z WordPress MultiSite i nie będą nam już potrzebne są: deletedspam.

Aby je usunąć należy:

  • wejść do naszej bazy przez phpMyAdmin
  • odnaleźć odpowiednią tabelę twojprefix_users
  • przejść do trybu/widoku Struktura
  • zaznaczyć niepotrzebne kolumny i wybrać Usuń

V etap: usuwamy zbędne tabele z naszej bazy danych

Oczywiście każdy może mieć inny prefix, ale poniżej zaprezentuję listę tabel do usunięcia ze standardowym prefiksem wp_:

  • wp_blogs
  • wp_blog_versions
  • wp_registration_log
  • wp_site
  • wp_sitemeta
  • wp_signups
  • wp_sitecategories (ta tabela nie będzie występować we wszystkich instancjach WP MS)

Tada! Od tej chwili nasza instalacja WordPressa przestała być siecią typu WordPress MultiSite.

Powiązane wpisy

O autorze: Jakub Milczarek

Miłośnik wszystkiego co związane ze sprawami użyteczności, a także specjalista z dziedziny fizykochemii kryminalistycznej. Stronami internetowymi zajmuje się od 1997 roku, a z samym WordPressem zaprzyjaźnił się już w 2007 roku. Miał zaszczyt być szefem organizacji pierwszego polskiego WordCampu w 2010 roku, a w latach 2010-2012 prowadził z sukcesami firmę WP-Expert. Obecnie pracuje jako UX Specialist w OnTheGoSystems. W wolnych chwilach zdobywa Koronę Europy, poszukuje skrzynek OpenCaching i bloguje jako Lodzermensch.

2 komentarze + Dodaj komentarz

  • Bardzo praktyczny wpis. Internauci często pytają o to, w jaki sposób dokonać likwidacji sieci WordPress MultiSite. Czekamy na więcej porad, które przydadzą się na co dzień :)

  • „Czasem jednak ktoś rezygnuje z sieci, bo np. odpalił ją jedynie testowo”

    Albo nie może zainstalować strony z osobną domeną.

    >>>robimy backup bazy!

    a jak to zrobić?

Uwaga, leci reklama:



Gdzie nas czytać?

Autorzy »
Komentujący »
#wpzlecenia »