otto

woensdag, 13 september 2023


Drupal multisite - meerdere sites verbinden met Drupal

Drupal staat bekend als een van de beste weboplossingen voor bedrijven. Maar hoe zorg je ervoor dat het zo efficiënt mogelijk blijft werken als je meerdere websites tegelijk moet beheren? Het antwoord ligt in de Drupal multisite module.
drupal ladekast
Wat is een Drupal multisite?

In het kort bestaat een Drupal multisite (ook wel Drupal multi-installatie genoemd) uit meerdere sites gecombineerd in één Drupal core. Elke site bevindt zich in een andere map van de systeemmap van het platform en heeft aparte instellingen.php en databasebestanden. Natuurlijk hebben de sites verschillende webadressen en kunnen ze andere content bevatten- het hangt maar net van je behoeften af.

Drupal multisite - hoe werkt het?

In het geval van een Drupal multisite delen de verschillende sites het volgende:

  • dezelfde versie van Drupal core
  • de beschikbare modules,
  • de beschikbare thema's,
  • de basiscode.

Tegelijkertijd delen de sites het volgende juist niet:

  • de domeinen
  • de URL's
  • de databases
  • de ingeschakelde modules
  • de ingeschakelde thema's
  • de configuraties
  • de gebruikersprofielen
  • de content
  • de bestanden.

Zo’n structuur maakt het mogelijk om een set pagina's te maken die gemakkelijk gemaakt, beheerd, geïmplementeerd en bijgewerkt kunnen worden vanaf één locatie, maar toch variëren in inhoud en ontwerp.

Voordelen van het gebruik van Drupal multisite

Maar waarom zou je deze structuur dan willen implementeren De fundamentele reden hiervoor is simpelweg om tijd te besparen bij het beheren van veel sites die dezelfde versie van Drupal core gebruiken. Telkens wanneer er een nieuwe Drupal-update wordt uitgebracht, hoeft deze namelijk maar op één codebase te worden uitgevoerd in plaats van voor elke site afzonderlijk.

De voordelen van een dergelijke installatie zijn niet alleen duidelijk bij het beheer van de site, maar ook bij het bouwen van de site. In het geval van Drupal multisite is het namelijk voldoende om één hoofdthema te ontwerpen. Vervolgens kun je met het overervingsmechanisme van het thema deze basis doorgeven aan volgende projecten, zodat je snel kunt werken aan unieke, op maat gebouwde  functies voor deze projecten.

Drupal multi-installatie biedt je bovendien tal van voordelen op de lange termijn. Het helpt om de toekomstige technical debt te verminderen en af te betalen, die ontstaat wanneer je compromissen sluit met developers. Het grote probleem ontstaat wanneer de technical debt te groot wordt. Als gevolg daarvan wordt het steeds moeilijker om sites te onderhouden en is het implementeren van grote wijzigingen (bijvoorbeeld het veranderen van een thema) te ingewikkeld vanwege legacy code, die bovendien voor elke site anders is.

Websites die draaien op Drupal multisite hebben niet alleen minder last van technical debt, maar worden ook gekenmerkt door een betere kwaliteit dan veel websites die afzonderlijk worden opgezet. Dat komt omdat deze oplossing middelen bespaart die anders bijvoorbeeld zouden moeten worden gebruikt voor het inhuren van een bureau om een ander project te maken. Ontwikkelaars zelf zullen bij het leggen van de fundamenten voor een multisite-project ook meer moeite doen om flexibele en duurzame oplossingen voor te bereiden als ze zich realiseren dat de nodige inspanningen op dit gebied zich in de toekomst zullen terugbetalen.

Nadelen van Drupal multisite

Net als eigenlijk elke functionaliteit die je maar kunt bedenken, zijn er behalve de talloze voordelen natuurlijk ook enkele nadelen voor het gebruik van de multisite structuur. Drupal multisite is namelijk niet de beste oplossing  als de sites die je wilt bedienen aanzienlijk verschillen in functionaliteit en ontwerp. Natuurlijk is het wel mogelijk om alsnog van deze structuur gebruik te maken, maar dan ben je onnodig veel tijd kwijt aan het stoeien met het platform zelf in plaats van het benutten van de mogelijkheden ervan. Dit druist dus eigenlijk compleet in tegen het hele principe van de multisite structuur.

Een ander punt om rekening mee te houden is de beveiliging. Als er op dit gebied problemen ontstaan op één site, zullen ze waarschijnlijk ook de rest van de gerelateerde sites beïnvloeden. Ook de gevolgen van fouten tijdens de installatie of upgrades zullen verstrekkende gevolgen hebben. Het is hierbij echter wel belangrijk om te bedenken dat een multisite structuur in het algemeen beter beveiligd zal zijn dan vele losse sites, omdat veel middelen bespaard kunnen worden als er slechts één sterk fundament hoeft te worden gebouwd in plaats van vele losse. Deze middelen kunnen vervolgens worden geïnvesteerd worden in het verstevigen van dat fundament. 

Drupal multisite - soorten configuratie

Er is geen sprake van één soort configuratie om een multisite te bouwen. Dit kan op verschillende manieren. Hieronder beschrijven we ze kort:

1. Klassieke multisite aanpak

Deze aanpak ziet er niet anders uit dan de eerder besproken aanpak - met aparte configuraties, databases, enz. De basiscode is echter gemeenschappelijk. Aan de andere kant maakt de module Features het mogelijk om dezelfde functionaliteit te gebruiken door configuraties te importeren. Met Configuration Split is het daarentegen mogelijk om te beslissen welke configuraties moeten worden gedeeld en welke moeten worden geëlimineerd.

2. Multisite met de Domain Access module

Met de Domain Access module is het mogelijk om verschillende domeinen aan te maken binnen je Drupal website. Elk domein is toegankelijk via een eigen URL. In dit geval wordt de database gedeeld, waardoor het mogelijk is om content en gebruikers tussen de sites te delen. Ook als je nieuwe functionaliteit creëert, zoals een nieuw paragraaf type of een API-weergave voor zoeken, kunnen alle sites profiteren van deze verbeteringen.

Bespaar tijd en geld met Multisites

Een multisite-oplossing gebouwd met Drupal en Domain Access heeft veel voordelen. Je  kunt eenvoudig een nieuwe website maken en content en gebruikers delen tussen de verschillende domeinen. Je hoeft maar één Drupal-installatie up-to-date te houden. Maar zorg ervoor dat je dat doet, want als je Drupal code onveilig is, zijn meteen al je sites kwetsbaar. 

Het is ook mogelijk om functionaliteit te delen tussen de sites, waardoor je tijd bespaart om deze opnieuw te creëren in elke andere Drupal-installatie. Het grootste nadeel is de compatibiliteit van modules van derden. Dit kan je dwingen creatief te moeten zijn in het zoeken naar een oplossing of het moeten doen zonder de gewenste functionaliteit.

Meer weten?

Heb je vragen over het bouwen van je multisite met Drupal? Neem dan gerust contact op met onze developers! Zij zijn niet alleen goed in het realiseren van Multisites, maar kunnen jou bovendien gedegen advies geven omtrent de mogelijkheden die het jou al dan niet kan bieden.