WordPress multisite: 2 structuren, subdomein en subfolder
WordPress multisite (WordPress Multisite) is een functie waarmee je meerdere sites met één WordPress-installatie tot een netwerk bundelt en beheert. Op een WordPress met Nginx + Apache hebben we multisite via het scherm Netwerk setup ingeschakeld, één subsite toegevoegd en de menupaden en de regels voor de configuratiebestanden gecontroleerd.
1️⃣ WordPress multisite en Netwerkbeheer
Bij multisite gebruiken alle sites in het netwerk samen één WordPress-installatie. Ook de corebestanden, plugins en thema's worden gedeeld, dus op de server komt er geen aparte WordPress-map per site.
Wat elke site apart krijgt, zijn de databasetabellen en de uploadmap voor media; alleen de gebruikerstabellen deelt het hele netwerk. De eerste site gebruikt de bestaande [/wp-content/uploads/], en vanaf de volgende site gebruikt elke site de map met het sitenummer onder [/wp-content/uploads/sites/].
De gebruiker die het hele netwerk beheert, is de superbeheerder (Super Admin). De schermen van Netwerkbeheer verschijnen pas nadat het netwerk is aangemaakt en zijn alleen zichtbaar voor superbeheerders.
Gebruikers worden aangemaakt als netwerkaccounts, maar hebben op elke site een rol nodig om die site te kunnen openen. Ook de rechten van sitebeheerders zijn beperkt: alleen de superbeheerder kan thema's en plugins installeren of de profielen van andere gebruikers bewerken.
In het diagram hieronder zie je hoe één installatie via het netwerk in meerdere sites wordt verdeeld, en de siteadressen per adrestype.
2️⃣ Verschil tussen subdomein en subfolder: adresvorm en keuzebeperkingen
Bij de netwerk setup kies je het adrestype van de sites: subdomein of subfolder. Een subdomein is een adres als site1.example.com, een subfolder (submap) een adres als example.com/site1.
| Onderdeel | Subdomein | Subfolder |
|---|---|---|
| Siteadres | site1.example.com | example.com/site1 |
| Naam in de officiële documentatie | Op domein gebaseerd (domain-based) | Op pad gebaseerd (path-based) |
| Voorbereiding op de server | Subdomeinen via DNS en op de server naar de WordPress-installatiemap leiden | Geen extra instelling als permalinks werken |
| Als gebruikers zelf sites aanmaken | Wildcard-subdomeinen nodig | Geen extra voorwaarden |
| Wanneer het niet te kiezen is | Als het WordPress-adres een pad heeft, of localhost of een IP-adres is | Sites met berichten die meer dan een maand geleden zijn gepubliceerd |
| Berichtadres van de hoofdsite | Geen verandering | /blog/ vóór de berichtadressen |
Met subfolders hoef je op een server waar permalinks werken niets extra in te stellen, maar op een site met berichten die meer dan een maand geleden zijn gepubliceerd, kun je dit type niet kiezen. Die beperking voorkomt botsingen tussen bestaande berichtadressen en nieuwe siteadressen, dus zulke sites worden met subdomeinen ingericht.
In een netwerk met subfolders wordt [/blog/] toegevoegd aan de berichtadressen van de hoofdsite. Zo overlappen ze niet met de adressen van subsites, en bij pagina-adressen wordt het niet toegevoegd.
Het gekozen type later wijzigen kost meerdere stappen. Volgens de officiële documentatie verhuizen bestaande siteadressen niet als je alleen de waarde van [SUBDOMAIN_INSTALL] en de herschrijfregels aanpast, en ook DNS en certificaten moet je apart instellen.
3️⃣ Voorbereiding voor de netwerk setup: back-up, permalinks en servervoorwaarden
De netwerk setup wijzigt de bestanden en de database van een bestaande site, daarom raadt de officiële documentatie aan eerst een back-up te maken, tenzij het een vers geïnstalleerde site is.
Maak een back-up van de database en de bestanden, controleer of de permalinks werken en deactiveer daarna alle actieve plugins. Activeer de plugins opnieuw nadat het netwerk is aangemaakt.
Ben je van plan WordPress vanuit een eigen map te laten draaien, doe dat dan vóór je multisite inschakelt. Gebruik je een www-adres met subdomeinen, maak [WordPress adres (URL)] en [Site adres (URL)] dan gelijk en rond ook een domeinwijziging af vóór de setup.
Heeft het WordPress-adres een ander poortnummer dan :80 of :443, dan kun je geen netwerk aanmaken.
De server moet de herschrijfregels voor multisite verwerken, en Apache heeft mod_rewrite nodig.
Bij Nginx + Apache geeft Nginx de verzoeken door aan Apache en leest Apache de .htaccess. Nadat we .htaccess hadden vervangen door de regels op het scherm Netwerk setup, gingen de adressen van de subsite open, en aan de kant van Nginx hebben we geen regels toegevoegd.
Op servers met alleen Nginx maakt WordPress geen herschrijfregels, dus moet je de Nginx-configuratie uit de officiële documentatie zelf in het configuratiebestand van de server zetten.
In omgevingen waar je de serverconfiguratie niet zelf kunt wijzigen, zoals bij shared hosting, moet je voorwaarden als wildcard-subdomeinen met de hostingprovider regelen (volgens de officiële documentatie).
4️⃣ Stappen van de netwerk setup
De constante [WP_ALLOW_MULTISITE] in wp-config.php toont alleen het menu [Tools] › [Netwerk setup]; daarmee alleen wordt multisite niet ingeschakeld. Het netwerk wordt pas actief nadat je het op dat scherm installeert en de getoonde regels aan wp-config.php en .htaccess toevoegt.
Open wp-config.php en voeg boven de opmerking over het einde van het bewerken een regel toe die [WP_ALLOW_MULTISITE] als true definieert. Die opmerking is de regel /* That’s all, stop editing! Happy publishing. */; ververs na het opslaan de browser.
define( 'WP_ALLOW_MULTISITE', true );Na het verversen verschijnt in het menu [Tools] onder [Persoonsgegevens wissen] het item [Netwerk setup], en als je erop klikt, opent het scherm [Maak een netwerk van WordPress sites].

Een WordPress in een submap toont geen veld om het adrestype te kiezen, alleen de regel [Sub-folder installatie]. De tekst op die regel luidt [Omdat je installatie in een folder staat, moeten de sites in je WordPress netwerk subfolders gebruiken.]
Controleer [Netwerktitel] en [E-mailadres netwerkbeheerder] en klik dan op [Installeren].
Volgens de officiële documentatie verschijnt bij installaties waar je het adrestype kunt kiezen een melding over wildcard-DNS als je subdomeinen kiest, en die voorwaarde geldt alleen voor netwerken waar gebruikers zelf sites aanmaken.
Na de installatie toont het scherm de regels voor wp-config.php en .htaccess die op die site zijn afgestemd. Maak een back-up van beide bestanden, plak de regels in wp-config.php onder de regel [WP_ALLOW_MULTISITE] en vervang in .htaccess de bestaande WordPress-regels door de nieuwe.

In de uitleg op het scherm na de installatie staat de opmerking over het einde van het bewerken vertaald in de taal van het beheer, maar de opmerking in wp-config.php blijft Engels.
De regels die in wp-config.php komen, zijn zes constanten, waaronder [MULTISITE] en [SUBDOMAIN_INSTALL]. De waarde van [SUBDOMAIN_INSTALL] is true bij subdomeinen en false bij subfolders.
In [DOMAIN_CURRENT_SITE] en [PATH_CURRENT_SITE] staan het domein en het installatiepad van de site. Hieronder staan de regels voor een installatie in de root van example.com met subfolders.
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );In hetzelfde geval vervang je de WordPress-regels in .htaccess door de volgende, en in de regel [RewriteBase] staat het installatiepad.
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [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]Log na het opslaan van beide bestanden opnieuw in via de link [Login] op het scherm; daarna verschijnt [Netwerkbeheer] onder [Mijn sites] in de adminbalk. Lukt inloggen niet, wis dan de cache en cookies van de browser en log opnieuw in.

[Netwerkbeheer] heeft zes menu's: Dashboard, Sites, Gebruikers, Thema's, Plugins en Instellingen, en een klik op [Sites] opent de lijst met sites in het netwerk.

Subsites voeg je toe via [Site toevoegen] naast de titel van de lijst, of links via [Sites] › [Site toevoegen].

In [Site adres (URL)] mogen alleen kleine letters, cijfers en koppeltekens, en als het [Beheerder e-mailadres] niet in de database staat, wordt een nieuwe gebruiker aangemaakt.
Na het toevoegen van één subsite verscheen in de uploadmap de map [sites/2], en in de database kwamen 10 tabellen bij met het sitenummer na het voorvoegsel, zoals [wp_2_].
De permalinks van een subsite volgen niet de instellingen van de hoofdsite en beginnen met de standaardstructuur met jaar, maand, dag en berichtnaam, dus stel je ze apart in bij de permalink instellingen van de subsite.
In de simulator hieronder kun je het pad van [Tools] › [Netwerk setup] tot [Site toevoegen] stap voor stap doorklikken.
네트워크 설치 절차에 오신 것을 환영합니다!
아래의 정보를 채우고 워드프레스 사이트의 네트워크를 만들 수 있습니다. 다음 단계에서 구성 파일을 만들 것입니다.
다음 단계를 완료하여 사이트의 네트워크 만들기 기능을 활성화하세요.
- /var/www/html/wp/의 wp-config.php파일에 /* 그게 다입니다. 편집을 멈추세요! 즐겁게 발행하세요. */행 위에 다음을 추가합니다:wp-config.php에 대한 네트워크 환경설정 규칙define( 'MULTISITE', true );define( 'SUBDOMAIN_INSTALL', false );define( 'DOMAIN_CURRENT_SITE', 'example.com' );define( 'PATH_CURRENT_SITE', '/wp/' );define( 'SITE_ID_CURRENT_SITE', 1 );define( 'BLOG_ID_CURRENT_SITE', 1 );
- 다른 워드프레스 규칙을 교체하는 /var/www/html/wp/의 .htaccess 파일에 다음을 넣습니다:.htaccess에 대한 네트워크 환경설정 규칙RewriteEngine OnRewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]RewriteBase /wp/RewriteRule ^index\.php$ – [L]# add a trailing slash to /wp-adminRewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ – [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]RewriteRule . index.php [L]
이 단계를 완료하고나면, 네트워크를 활성화하고 구성합니다. 다시 로그인해야 합니다.
위의 이메일 주소가 데이터베이스에 없으면 새 사용자를 만들 것입니다.
비밀번호를 설정하는 사용자 이름과 링크를 이 이메일 주소로 보낼 것입니다.
5️⃣ Wanneer multisite niet past
Multisite past als je, zoals bij regionale sites, thema's en plugins deelt en de inhoud apart beheert. Moeten sites gegevens of gebruikers nauw delen, dan is multisite volgens de officiële documentatie misschien niet de beste aanpak.
Moet alleen het ontwerp er anders uitzien, dan los je dat op één site op met een plugin die thema's of stylesheets wisselt. Als elke gebruikersgroep alleen andere informatie moet zien, kan dat ook op één site met plugins die rechten en menu's aanpassen.
Controleer ook eerst de plugins die je gebruikt. Niet elke plugin uit de plugin-directory werkt met multisite, daarom raadt de officiële documentatie aan de ondersteuning na te gaan op de pluginpagina of bij de ontwikkelaar.
🔢 FAQ & aanbevolen content
Server
WordPress htaccess basisinstellingen
Een bericht dat de standaardregels van .htaccess voor gewone sites en voor multisite apart op een rij zet.
SEO
Subdomein VS submap
Een bericht dat subdomeinen en submappen vergelijkt op wat beter is voor SEO.
Instellingen
WordPress permalinks en slugs
Legt de permalinkstructuur en slugs uit die je per subsite apart instelt.
ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.