WordPress Multisite Funktionalität entfernen

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 13 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

Die Multisite Funktionalität von WordPress ist relativ schnell aktiviert, siehe dazu ein Beitrag bei WordPress Deutschland, und die nötigen Schritte werden im Backend der Installation dargestellt. Nicht immer will man aber die Funktionalität erhalten und so kann es vorkommen, dass man einen Schritt zurück will und so müssen diverse Schritte durchgeführt werden, um die Netzwerk-Funktionalität wieder zu entfernen.
Nicht ganz einfach und vermutlich nicht alltäglich – daher eine kleine ToDo Liste um keinen Schritt zu vergessen und die Standard-Installation wieder her zustellen und in der bekanntesten Anwendung zu Bloggen oder das CMS zu nutzen.

  1. Sicherung aller Daten – Datenbank und Dateien via FTP o.ä.
  2. Setze die Konstante WP_ALLOW_MULTISITE auf FALSE oder lösche die Definition
  3. Entferne die zusätzlichen Zeilen in der wp-config.php; Auskommentieren reicht.
    
    /**
    define( 'MULTISITE', true );
    define( 'SUBDOMAIN_INSTALL', false );
    $base = '/wordpress/';
    define( 'DOMAIN_CURRENT_SITE', 'localhost' );
    define( 'PATH_CURRENT_SITE', '/wordpress/' );
    define( 'SITE_ID_CURRENT_SITE', 1 );
    define( 'BLOG_ID_CURRENT_SITE', 1 );
    */
    
  4. Entferne die Einträge für das Netzwerk aus der .htaccess im Root der Installation
    
    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteRule ^index\.php$ - [L]
    
    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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]
    # END WordPress
    
  5. Nun erstelle die Permalinks neu, füge die notwendigen Zeilen der .htaccess bei (wp-admin/options-permalink.php)
  6. Die Felder spam and deleted in der user-Tabelle entfernen (Präfix anpassen)
    
    ALTER TABLE `wp_users` DROP `spam`, DROP `deleted`;
    
  7. Folgende Tabellen in der Datenbank können entfernt werden (Präfix anpassen)
    • wp_blogs
    • wp_blog_versions
    • wp_registration_log
    • wp_signups
    • wp_site
    • wp_sitemeta
    • wp_sitecategories (Wenn globale Bedingungen aktiv waren)
      
      DROP TABLE 
          `wp_blogs`, 
          `wp_blog_versions`, 
          `wp_registration_log`, 
          `wp_signups`, 
          `wp_site`, 
          `wp_sitemeta`, 
          `wp_sitecategories`;
      
  8. Das eigentliche Blog ist nun wieder eine Standard-Installation. In der Datenbank sind nun noch die Tabellen der ehemals angelegten Blogs noch vorhanden. Hier gilt es zu prüfen, ob eventuell Inhalte übernommen werden müssen. Dazu sind eventuell diverse weitere Schritte notwendig, je nach Anforderung. Am besten geht das via SQL. Sollte auch hier alles unnötig sein, dann können die Tabellen entfernt werden.

Zum Abschluss nochmal der Hinweis: es sollte in jedem Fall mindestens eine Sicherung im Vorfeld angefertigt werden.

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.