Schat eerst de architectuur in
De moeilijkheid zit niet in het aantal pagina’s, maar in wat Drupal achter die pagina’s met elkaar verbindt.
Een brochurewebsite met enkele inhoudstypen kan relatief rechtlijnig migreren. Meertaligheid, veldcollecties, taxonomieën, revisies, rechten, zoekindexen en maatwerkmodules maken er een architectuurproject van.
Drupal 7 is sinds 5 januari 2025 end-of-life, maar WordPress is daarom nog geen universeel antwoord. De doelarchitectuur moet eerst bewijzen dat workflows en inhoudsmodellen zonder een nieuwe stapel kwetsbare plug-ins blijven werken.
- Inhoudstypen en velden
- Relaties en taxonomieën
- Talen, revisies en rechten
- Maatwerkmodules en koppelingen
Map modellen, geen schermen
Een Drupal-type met velden en taxonomieën wordt niet vanzelf een correct WordPress-bericht.
Elk type, veld en verband krijgt een bestemming in een native of gecontroleerde WordPress-structuur.
Afgewezen inhoud verschijnt in een rapport. Een “voltooide” migratie met stilletjes verloren velden is niet voltooid.
- Typen en velden
- Taxonomieën en relaties
- Media en alt-teksten
- Gebruikers en rollen
Behoud adressen met geschiedenis
Drupal-aliases blijven bestaan of verwijzen naar een gelijkwaardige bestemming.
We exporteren alle URL’s en vergelijken ze met WordPress. Redirects zijn rechtstreeks en interne links wijzen al naar de nieuwe adressen.
Elke taal behoudt een eigen URL en wederkerige taalverwijzingen. Alles naar één taal sturen breekt de route.
- Aliasinventaris
- Oud → nieuw register
- 301 zonder keten
- Wederkerige hreflang
Bewijs het met een moeilijke steekproef
Een goede steekproef bevat de uitzonderingen, niet enkel drie nieuwsberichten.
We migreren een rijke pagina, openbaar en privébestand, relatie, formulier, account en meertalige inhoud. Bron- en doelaantallen, verweesde bestanden, rechten en accounttoegang worden verzoend.
De steekproef gebruikt fictieve of geanonimiseerde gegevens. De volledige omschakeling volgt pas na tests van redactie, zoeken, formulieren, indexering en terugval.
De proefmigratie wordt incrementeel herhaald met een hervattingspunt of wijzigingstracking. We benoemen de schrijvende bron, draineren jobs en webhooks, bevriezen kort de redactie en verzoenen de einddelta.
Terugval is alleen veilig wanneer het doel alleen-lezen bleef of nieuwe schrijfbewerkingen terug naar de bron kunnen. DNS terugzetten herstelt geen data.
- Bron- en doelaantallen
- Privé- en verweesde bestanden
- Accounts en rechten getest
- Afwijkingsrapport
- Getimed terugvalplan
- Idempotente incrementele imports
- Redactiestop en einddelta
- Jobs en webhooks draineren
- Reconciliatie of terugwaartse sync
Houd beide versies compatibel tijdens de overgang
Een redactiestop volstaat niet wanneer een oude worker nog leest wat het nieuwe doel schrijft.
Jobs, berichten en cachewaarden krijgen een geversioneerd schema of namespace. Oud Drupal en nieuw WordPress lezen de formaten uit de overlap en rollback; een incompatibel bericht wordt geïsoleerd zonder de hele wachtrij te vergiftigen.
Back-ups van databank en private bestanden worden in beide richtingen ontsleuteld met de echte KMS-sleutels, grants en context. Uitgaande verbindingen, toegestane IP’s en mTLS-certificaten worden vanaf het productiedoel getest.
Voor Drupal uit de load balancer verdwijnt, controleert een functionele test databank, media, zoeken, formulieren en login. Nieuwe verzoeken stoppen, uploads en blijvende verbindingen draineren, en tijdsynchronisatie bewaakt tokens, handtekeningen en taken.
- Schema’s en caches leesbaar door beide versies
- Ontsleuteling voor doel en rollback
- Integraties getest vanaf productie-IP’s
- Functionele controle en drainage
Beslissen vóór de omschakeling
Drupal naar WordPress, zonder blind te kopiëren
- Volledige Drupal-inventaris
- WordPress-model goedgekeurd
- Steekproef vergeleken
- URL’s en talen getest
- Eigen plug-ins geïdentificeerd
- Delta en terugval van gegevens getest
- Compatibiliteit oud ↔ nieuw bewezen
- Versleutelde restore uitgevoerd
- HTTP-drainage getimed
Officiële bronnen
