Blog

Website migreren zonder je vindbaarheid te verliezen

Het risico zit in je adressen, niet je techniek.

Hoe je een migratie uitvoert zonder rankings te verliezen, met aandacht voor redirects, markup en laadtijden.


Website migreren zonder SEO-verlies

Het grootste risico bij een migratie zit in je adressen, niet in je techniek.
Een nieuw CMS, andere hosting of een nieuw thema kost je op zich geen posities, zolang je adressen, je markup en je laadtijden meeverhuizen.
Dat gebeurt pas wanneer een pagina die jaren op hetzelfde adres stond plots elders staat, zonder dat iemand die twee verbindt.
Dat laatste is handwerk en het enige deel van een migratie dat je niet achteraf herstelt.

Voor veel Drupal-sites is dat nu aan de orde.
Drupal 10 bereikt end of life op 9 december 2026 en 10.6.0 is de laatste minor release, Drupal 7 is uit support sinds 5 januari 2025 en Drupal 12 verschijnt in de week van 7 december 2026.
Wie deze winter verhuist doet dat onder tijdsdruk en dan sneuvelt het redirectplan als eerste.

De URL-inventaris komt voor alles

Je begint met een lijst van elk adres dat vandaag bestaat, niet met de pagina's die je wil behouden.
De adressen die verkeer opleveren zijn zelden die uit je menu: een persbericht uit 2019 met twintig inkomende links weegt zwaarder dan je nieuwe dienstenpagina.
Vijf bronnen samen geven een volledig beeld.

Bron Wat het oplevert
XML-sitemap Wat je site denkt te publiceren, meestal alleen de gewenste pagina's
Volledige crawl Alles wat intern gelinkt wordt, ook paginering, facetten, feeds en PDF's
Search Console, rapporten Pagina's en Prestaties Wat Google echt kent (rapport Pagina's, circa drie maanden historiek) en welke adressen klikken opleveren (rapport Prestaties, zestien maanden terug)
Serverlogs Adressen die nog opgevraagd worden maar nergens meer gelinkt staan
Backlinkdata Externe links naar pagina's die je zelf vergeten was

Per adres leg je statuscode, canonical, indexeerbaarheid, inkomende links en het verkeer van twaalf maanden vast.
Vergeet de niet-HTML-adressen niet: afbeeldingen, PDF's, feeds en taalvarianten hebben er ook een.
Exporteer je indexeringsdata zelf voor de migratie, want die historiek is er later niet meer.
Deze lijst is je nulmeting.

Het redirectplan: een 301 per oud adres

Elk oud adres krijgt precies één 301 naar het meest gelijkende nieuwe adres.
Een 301 zegt tegen zoekmachines en AI-crawlers dat de verhuizing permanent is en dat de opgebouwde signalen mee moeten.
Een 302 zegt dat het tijdelijk is: Google volgt die wel, maar gebruikt hem niet als signaal dat het nieuwe adres het canonieke moet worden, dus voorlopig blijft het oude adres het canonieke.
Staat die 302 lang genoeg, dan behandelt Google ze meestal alsnog als permanent, maar dat kost weken die je met een 301 niet verliest.

Redirectplan van een oud naar een nieuw adres

De mapping is een tabel met drie kolommen: oud adres, nieuw adres en waarom.
Die derde kolom lijkt overbodig tot iemand later vraagt waarom drie pagina's in één zijn samengevoegd.
Bestaat er geen redelijk equivalent, dan is een 410 eerlijker dan een redirect naar iets wat de bezoeker niet zocht.

In Drupal handelt de Redirect-module dit af en met de Migrate API neem je bestaande path-aliassen mee.
Bij grote aantallen horen de regels op webserver- of CDN-niveau, buiten PHP.

Wat je niet doet

Vier fouten doen de meeste schade en alle vier zijn gratis te vermijden.

  • Alles naar de homepage redirecten. Google behandelt zo'n massaredirect als een soft 404, dus je verliest net de signalen die je dacht te bewaren.
  • Redirectketens bouwen. Elke hop kost tijd en op een bepaald punt stopt de keten gewoon.
    Houd het op één hop en werk je interne links bij naar de eindbestemming.
  • De testomgeving meeverhuizen. Een robots.txt die alles blokkeert, een noindex in de meta tags of een canonical naar je staging-domein: de drie klassieke oorzaken van een site die na livegang uit de index valt.
  • Redirects pas na livegang bedenken. Dan mis je net de adressen waarvan je het bestaan niet kende, want die staan niet in het nieuwe CMS.

Controleren na livegang: statuscodes, canonicals, sitemap, structured data

Structured data is de vierde en wordt het vaakst overgeslagen.
Je schema.org-markup zit in je thema of in je Metatag-configuratie, dus bij een nieuw thema is die markup nieuw en ongetest.
Let op de eigenschappen die zelf een adres bevatten: @id, url, logo en sameAs wijzen na een verhuizing verrassend vaak nog naar het oude domein.
Valideer je belangrijkste paginatypes met de Rich Results Test en de Schema Markup Validator.

AI-zichtbaarheid vraagt hetzelfde werk, maar strenger

AI-assistenten lezen dezelfde pagina's als Google, alleen krijg je er geen tweede kans.
Op de meeste informatieve zoektermen in mijn vakgebied zie ik een AI Overview boven de gewone resultaten.
Een foute verwijzing kost je daar geen positie, maar de vermelding.

Drie dingen controleer je apart.
Je schema.org-markup moet op adresniveau kloppen, inclusief de sameAs-verwijzingen naar externe profielen.
Een llms.txt is een lijst adressen, dus na een migratie per definitie verouderd.
En kijk na of je robots.txt de AI-crawlers nog toelaat, want dat is net de regel die onbedoeld verandert.

Over llms.txt hoor je eerlijk te zijn: het is een voorstel, geen norm en niemand is verplicht het te lezen.
Ik houd het bij omdat het een halfuur werk is.

Wat je meet om te weten of het goed ging

Vier metingen vertellen je of de migratie geslaagd is en geen van de vier geeft antwoord op dag één.

Wat Waar Wanneer
Statuscodes van de oude adreslijst Crawler Dag 1, dag 7, dag 30
Aantal geïndexeerde pagina's Search Console, rapport Pagina's Wekelijks, acht weken lang
Klikken en impressies per adres Search Console, rapport Prestaties Per URL, tegen dezelfde periode vorig jaar
LCP, INP en CLS Search Console, Core Web Vitals Pas na een maand, de velddata loopt op 28 dagen

Reken op een tijdelijke daling, ook bij een nette migratie: zoekmachines moeten elk oud adres opnieuw opvragen, de redirect volgen en het nieuwe adres herwaarderen.
Niet normaal is een daling die na acht weken niet hersteld is.
Laat je redirects minstens een jaar staan en eigenlijk permanent.

Wanneer dit werk grotendeels wegvalt

Verandert je URL-structuur niet, dan verdwijnt het grootste deel van dit artikel uit je project.
Een upgrade van Drupal 10 naar Drupal 11 binnen dezelfde site behoudt je node-ids en path-aliassen, dus er is niets om te herverbinden.
Een crawl vooraf en achteraf is dan genoeg.
Het onderscheid tussen een upgrade en een echte migratie bepaalt of dit een namiddag of weken werk is.
Bij een platformwissel zoals een verhuizing van WordPress naar Drupal verandert vrijwel elk pad wel en dan geldt dit artikel van de eerste tot de laatste stap.

URL-structuur en omleiding via redirects

Hoe ik een migratie aanpak

Ik maak de inventaris en het redirectplan voor de eerste regel migratiecode en lever ze op als een bestand dat je zelf kunt nakijken.
Daarna volgen de techniek, de controle op livegang en de metingen erna.
Meer daarover op Drupal migratie en upgrade en technische SEO en frontend performance.

Mijn tarief is 75 tot 95 euro per uur of 650 tot 800 euro per dag, exclusief btw, lager bij lange trajecten en terugkerende klanten.
Wat een migratie kost hangt vooral af van je aantal adressen en je custom code, niet van je Drupal-versie.
Draait er nog een Drupal 7-site, begin daar. Leg je situatie voor en ik geef binnen 24 uur een eerlijk beeld van wat er nodig is.

Veelgestelde vragen

Hoe kopieer je een website?

Kopiëren en migreren zijn twee verschillende dingen.
Een kopie is een volledige export van bestanden en database, om op een tweede omgeving te testen.
Een migratie zet inhoud over naar een nieuwe structuur en dan veranderen je adressen meestal wel.
Zet een kopie nooit op een indexeerbare omgeving, want een tweede vindbare versie is schadelijker dan geen.

Kan ik een website maken met een bestaande domeinnaam?

Ja en dat is de aangewezen weg.
Je domein draagt je vindbaarheid, dus een nieuwe site op je bestaande domein start niet bij nul.
Wat je wel regelt zijn de adressen eronder: elk oud pad krijgt een 301 naar zijn nieuwe pad.
Bij een ander domein komt een adreswijziging in Search Console bij.

Wat doe ik met een oude pagina die geen nieuw equivalent heeft?

Dan is een 410 eerlijker dan een 301 naar iets wat de bezoeker niet zocht.
Alles naar de homepage sturen is de slechtste optie, want Google behandelt zo'n massaredirect als een soft 404 en dan verlies je net de signalen die je dacht te bewaren.
Noteer in je mapping waarom je voor een 410 koos, zodat je die afweging later niet opnieuw hoeft te maken.

Hoe lang moet ik mijn 301-redirects laten staan?

Minstens een jaar en er is geen goede reden om ze daarna te verwijderen.
Zoekmachines hebben tijd nodig om elk oud adres opnieuw op te vragen en externe links naar oude adressen blijven vaak jarenlang bestaan.
Wat je wel opruimt zijn ketens, want na een tweede migratie moeten die platgeslagen worden naar één hop.

Verlies ik altijd bezoekers bij een migratie?

Tijdelijk meestal wel, structureel niet als het redirectplan klopt.
Zoekmachines moeten elk oud adres opnieuw opvragen, de 301 volgen en het nieuwe adres herwaarderen en dat duurt weken.
Een daling die na acht weken nog staat komt bijna altijd van ontbrekende redirects, een noindex uit de testomgeving of een verkeerde canonical.

Hoe controleer ik na livegang of mijn redirects kloppen?

Crawl je volledige oude adreslijst en kijk of elk adres met één hop op een 200 uitkomt, niet met twee of drie.
Diezelfde crawl herhaal je op dag 7 en dag 30.
Controleer daarnaast of elke canonical naar zichzelf wijst op het juiste domein en protocol en of je sitemap alleen adressen bevat die 200 teruggeven.

Een vraag over dit onderwerp?

Beschrijf kort je situatie, dan laat ik weten wat er speelt en wat het zou kosten. Zonder offertetraject.

Privacybeleid

Wie we zijn
Dit beleid geldt voor David Porschmann (freelance webdeveloper). 
Contact: support@porschmann.be.

Welke gegevens we verwerken
Naam, e-mail, bedrijfsnaam (optioneel) en je bericht/aanvraag. Bij websitebezoek verwerken we ook beperkte technische gegevens (zoals IP-adres en browser) voor beveiliging en analytics.

Waarom we je gegevens verwerken (rechtsgrond)

  • Om je vraag te beantwoorden of een offerte te bezorgen (toestemming of precontractuele noodzaak).

  • Voor administratie en facturatie bij samenwerking (contractuele noodzaak).

  • Voor beveiliging en foutopsporing (gerechtvaardigd belang).

Bewaartermijnen
Inzendingen via het contactformulier: maximaal 24 maanden. Klantdossiers en facturatie: volgens wettelijke bewaartermijnen.

Delen met derden
We delen je gegevens niet met derden, behalve met verwerkers die ons helpen de website te hosten, e-mail te versturen of administratie te doen. Met deze partijen zijn verwerkersovereenkomsten gesloten.

Jouw rechten
Recht op inzage, correctie, verwijdering, beperking, overdraagbaarheid en het intrekken van toestemming. 
Mail ons op support@porschmann.be.

Beveiliging
We nemen passende technische en organisatorische maatregelen om je gegevens te beschermen.

Cookies en analytics
Korte uitleg over gebruikte tools (bv. Matomo/Clarity/GA) en link naar cookie-verklaring indien van toepassing.

Contact
Vragen over dit beleid? 
support@porschmann.be.

Verder lezen