Vóór WordPress 3.0 multisite was een volledig apart systeem met de naam WPMU (WordPress MultiUser). Het was enorm lastig om het te gebruiken. Het was een enorme vooruitgang toen het opgenomen werd in de core van WordPress. De installatie is nu zo eenvoudig dat bijna iedereen een netwerk kan opstarten.
WordPress MultiSite niet de beste oplossing
Het delen van thema’s en plugins in een MultiSite is vaak geen voordeel meer voor ontwikkelaars. Met één klik kan een plugin van WordPress.org gedownload worden. Updates van plugins en thema’s is nog maar één klik werk. Daarbij gaat WordPress steeds verder met de automatische updates. Standaard kan WordPress zichzelf en de plugins automatisch updaten. Dit staat standaard aan voor beveiligings- en kleine release. Onderhoud aan verschillende sites is op deze manier veel eenvoudiger geworden.
Ontwikkelaars kunnen eenvoudig thema’s en plugins updaten vanuit een Git-repository. Met een script kan dit geïmplementeerd worden zodat automatisch een onbeperkt aantal sites de aangepaste code krijgt.
Is er dan nog wel toegevoegde waarde van het gebruik van een WordPress MultiSite t.o.v. losse sites?
WordPress Multisite User Management
De belangrijkste reden om voor een Multisite te kiezen is de voorwaarde dat gebruikers toegang moeten kunnen hebben tot de andere sites en dat de content zo verschillend is dat het niet logisch is om het in één website te ontwikkelen. Dit is ook op te lossen met user sync plugins. Ik gebruik liever de core functionaliteit van WordPress.
Wanneer een gebruiker zich registreert op een site, wordt deze geregistreerd voor alle sites binnen de Multisite. Dus wanneer gebruikers inloggen, kunnen ze ook naar de subsites navigeren terwijl ze ingelogd blijven.
Voor iedere site kunnen rollen aan andere gebruikers gekoppeld worden. Een gebruiker in de rol Author kan deze rol bijvoorbeeld alleen toegewezen krijgen voor één of meerdere sites. In WordPress MultiSite is een nieuwe rol Super Admin. Gebruikers met deze rol zijn admin voor alle sites. De bekende rol Administrator heeft deze rol voor een specifieke site binnen de MultiSite oplossing.
Meerdere themes of één theme voor meerdere sites
Een site als emerce.nl heeft een blog, vacatures en acedemy. Drie sites met verschillende layouts en functionaliteiten. Als het interessant is dat geregistreerde gebruikers toegang hebben tot alle drie de sites, is het mogelijk om met een WordPress MultiSite per site een andere theme te koppelen. Ook hier geldt dat er plugins zijn die per site meerdere themes mogelijk maken. Als multi user management niet van toepassing is en het niet noodzakelijk is om meer dan twee themes te gebruiken, kan een aanpassing in de bestaande theme of een plugin die multi themes aankan, een goede optie zijn. Bij aangeschafte themes is vaak wel per site een licentie nodig. Ook in een MultiSite omgeving.
Meertalige sites zonder multilanguage plugin
Een site die bijvoorbeeld op Nederland gericht is, maar wel meerdere talen nodig heeft, is een meertalige plugin zoals WPML of Polylang de eenvoudigste oplossing. De site bestaat uit een .nl domeinnaam en WPML, Polylang of enige andere multilanguage plugin regelt de meertaligheid. Per post, pagina en of Custom Post Type kan je per taal de inhoud invoeren.
Als een website een .nl domein gebruikt voor de Nederlandse taal en een .com voor de engelse taal, dan is het mogelijk om deze elk in hun eigen taal te maken. Het biedt pas voordeel om een WordPress Multisite te activeren ingelogde bezoekers bij beide sites moeten kunnen inloggen. Eventuele vertalingen kunnen met de gratis tool poedit aangemaakt worden.
WooCommerce en WordPress MultiSite
WooCommerce ondersteunt MultiSite. Dit betekent dit dat het mogelijk is een heel netwerk van individuele winkels te bouwen. Iedere webshop kan los van elkaar onderhouden worden.
Zo is het mogelijk om per branche een shop op te zetten, maar ook per land. Iedere shop heeft zijn eigen instellingen. Van valuta tot BTW en verzendopties.
Doordat alle shops totaal onafhankelijk zijn van elkaar moet voor elke shop de producten opnieuw worden ingevoerd. Ook voorraad is standaard zo dat je geen algemeen overzicht hebt als een product in verschillende shops wordt aangeboden.
Het grootste nadeel is dat klanten niet automatisch kunnen inloggen in de verschillende shops. Ook is er geen overzicht als klant waar je alle producten ziet die je in de verschillende shops hebt gekocht.
Aangezien alle data van de verschillende shops wel in één database zitten, zijn er WooCommerce plugins die de voorraad van de verschillende winkels op één plaats laat beheren. Ook zijn er plugins die het mogelijk maken om met één winkelwagen te werken binnen verschillende MultiSite WooCommerce winkels.
Het grootste voordeel van de database structuur van zowel WooCommerce als WordPress MultiSite is dat je met PHP zelf aanpassingen en uitbreidingen kunt maken om je eigen business concept te stroomlijnen.
WordPress MultiSite en plugins
Wanneer een ontwikkelaar een plugin ontwikkeld, zal de ontwikkelaar niet snel testen of de plugin werkt in een MultiSite omgeving. Het zijn voornamelijk de functies die kijken of de plugin voor de specifieke site wel of niet actief is die missen. Om een plugin in de WordPress.org store te plaatsen, is er geen controle vanuit WordPress die kijkt of de plugin deze controles heeft.
Als je met een WordPress MultiSite werkt, zorg altijd dat je in een staging omgeving test of een plugin geschikt is voor je MultiSite oplossing.
WordPress MultiSite maakt voor elke site eigen tabellen aan. Als de plugin zelf informatie in eigen tabellen opslaat, moeten deze extra tabellen per site worden aangemaakt. Dit is een kleine foreach lus . Als die niet aanwezig is, krijg je fouten zodra de plugin geactiveerd wordt.