Techniek

Meerdere sites eenvoudig beheren met een multisite

Wanneer je slechts een enkele WordPress site te beheren hebt, is het beheren van accounts, updates en thema’s vaak nog goed te doen. Heb je echter meerdere sites, dan wordt dit al snel complexer en een vervelend werkje. Wanneer je meerdere websites beheert is het daarom fijn om gewoon één keer in te kunnen loggen op het beheergedeelte. Je kunt vanaf daar doorklikken maar de verschillende websites binnen jouw multisite.Zo hoef je ook maar één WordPress installatie te beheren. Plugins, thema’s en de WordPress “core” hoeven allemaal, maar één keer bijgewerkt te worden naar de nieuwe versie. Dit is een stuk minder werk dan alle blogs individueel te upgraden. Bovendien is het beheren van gebruikers in een multisite omgeving een stuk eenvoudiger. Gebruikers kunnen worden aangemaakt op de hoofd website en vervolgens gekoppeld worden aan individuele blogs.

In dit blogartikel gaan we in op de mogelijkheden binnen WordPress om een multisite te gaan gebruiken.

Upgraden naar een multisite

Het upgraden van een normale WordPress installatie naar een WordPress MS is wegens de technische aard lastig uit te voeren voor de meeste gebruikers. Bovendien kan een verkeerd uitgevoerde migratie de hele website kapot maken. Voordat je zelf aan dit proces begint is het dan ook zeer belangrijk eerst een reservekopie van je WordPress te maken.

Wanneer je zelf niet over voldoende technische kennis beschikt is het dan ook verstandig om een WordPress expert in te schakelen.

Durf je het aan om zelf de migratie uit te voeren? Volg dan onderstaande instructies.

Instructies voor een goede migratie

De eerste stap in de migratie is natuurlijk het maken van een reservekopie. Ook wanneer je de migratie laat uitvoeren door een derde partij is het zeer belangrijk dat je je er van verzekerd dat zij een reservekopie van je website maken voor de migratie.

Hoe de backup van de website precies uitgevoerd moet worden verschilt per hosting provider. Informeer bij je hoster hoe je een backup maakt van:
1. Bestanden op de FTP
2. De database

Ga niet verder totdat je weet hoe het maken van deze backups werkt.

Wanneer je je verzekerd hebt dat je een goede backup hebt kunnen we beginnen met de eerste echte stap. Dit is een wijziging in het configuratiebestand van WordPress, wp-config.php

Open dit bestand met je favoriete teksteditor en scroll tot aan de lijn “/* That’s all, stop editing! Happy blogging. */”. Dit ligt waarschijnlijk ergens rond regel 80.

Voeg voor deze regel de volgende regel in:

define(“WP_ALLOW_MULTISITE”, true);

Sla het bestand op en log in op de backend van je website. Hier navigeer je naar Extra -> netwerk instellen.

Nu moet je een belangrijke keuze gaan maken: wil je subdomeinen, of submappen gebruiken? Subdomeinen zien er uit als:
a.jouwwebsite.nl
b.jouwwebsite.nl

En submappen zien er uit als:
jouwsite.nl/a
jouwsite.nl/b

Voor beide posities zijn argumenten, afhankelijk van vele factoren. Één belangrijke factor is techniek: het is niet altijd mogelijk subdomeinen te gebruiken. Welke keuze je ook maakt, hij is definitief. Het is niet mogelijk om een subdomein-MS te converteren naar een submap-MS. Wanneer je je keuze hebt gemaakt en de gegevens hebt ingevuld moet je enkele wijzigingen gaan maken in de mappen binnen WordPress.

De eerste is het aanmaken van de map “blogs.dir” in de map wp-content. Hier komen voortaan onder andere de media-bestanden, in plaats van wp-content/uploads.

Let op dat je de juist rechten geeft aan de blogs.dir-map, zodat je nog steeds media kunt uploaden!

Open nu de wp-config.php weer en schrijf onder de vorige regel:
define( ‘MULTISITE’, true );
define( ‘SUBDOMAIN_INSTALL’, false );
$base = ‘/’;
define( ‘DOMAIN_CURRENT_SITE’, ‘jouwsite.nl’ );
define( ‘PATH_CURRENT_SITE’, ‘/’ );
define( ‘SITE_ID_CURRENT_SITE’, 1 );
define( ‘BLOG_ID_CURRENT_SITE’, 1 );

Dit voorbeeld is voor een submap-installatie. Let op dat je de juiste code kopieërt vanaf de backend in WordPress.

Open vervolgens je .htaccess en maak de wijzigingen zoals aangewezen in de backend. Dit betekent waarschijnlijk dat je de hele .htaccess kunt vervangen met de volgende inhoud:

RewriteEngine On
RewriteBase /
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).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*.php)$ $1 [L]
RewriteRule . index.php [L]

Ook dit is weer voor submappen, niet subdomeinen. Heb je meer in je .htaccess staan dan de standaard WordPress regels? Neem contact op met een WordPress specialist voor je begint.

Na deze wijzigingen log je opnieuw in op je backend. Wanneer je nu opnieuw bent ingelogd zul je nog niet direct zien wat er gewijzigd is, alles lijkt nog hetzelfde.

Niets is minder waar: er zijn belangrijke wijzigingen. In de admin bar zie je nu linksboven het kopje “My Sites” met hier onder “Network Admin” en “jouwsite.nl“. Onder Network Admin > Dashboard kun je vervolgens nieuwe websites maken.

Wanneer je hier de naam van de site en enkele andere gegevens invoert zul je deze website zien verschijnen onder het kopje “My Sites“. Vanaf daar kun je naar de website, het dashboard (de backend) en direct een nieuwe post maken. Zo wissel je heel eenvoudig tussen de verschillende websites binnen het netwerk.

Door terug te gaan naar de Network Admin kun je naar plugins en vanaf daar een “Network Activate” doen. Dit betekent dat de plugin direct geactiveerd wordt voor alle websites binnen het netwerk.

Conclusie: WordPress multisite maakt je leven een stuk makkelijker

Wanneer je meerdere WordPress websites moet beheren wordt dat een stuk simpeler op het moment dat ze allemaal in een zelfde installatie leven. Het vereist de nodige technische kennis om op te zetten, maar wanneer het draait is het een stuk makkelijker dan verschillende losse WordPress sites te beheren.