Vizien
Door januari 4, 2023 11 min

SEO website migratie: Stap-voor-stap je oude naar je nieuwe website migreren

Ein-de-lijk is het moment daar. Je nieuwe website is klaar en kan spoedig live gezet worden. Maar dan hoor je opeens “hoe zit het eigenlijk met SEO?”. En “hoe zorgen we ervoor dat we alle waarde behouden?”. Veel voorkomende vragen, die vaak te laat in het proces gesteld worden. Maar ze zijn wel ontzettend cruciaal. Een website heeft immers (vaak) als doel om leads te genereren of omzet te creëren. Zonde dus, wanneer je nieuwe website ineens een stuk minder blijkt te presteren dan je oude.

Gelukkig kun je daar iets aan doen. Althans, je kunt er voor zorgen dat de organische vindbaarheid van je nieuwe website minstens net zo goed is als je oude website. Maar daarvoor zul je wel een goed website migratieplan moeten maken, uitvoeren en controleren. Hoe precies? Dat leg ik je in deze blog uit.

Waarom een website migratie?

Het is verstandig je oude naar je nieuwe website te migreren, zodat allereerst bezoekers, vanuit bijvoorbeeld Google, op de juiste pagina’s terecht komen. Zonde natuurlijk, wanneer een bezoeker op een 404 (niet-bestaande pagina) landt en hij jouw website daardoor weer verlaat.

Beste pagina's in Ahrefs.com

Bron: Ahrefs.com

Maar er is nog een andere reden waarom je een website zorgvuldig moet migreren. Een website, of beter een pagina, bouwt namelijk een bepaalde “status” op in Google (of iedere andere zoekmachine). Die status zorgt ervoor dat je pagina goed gevonden wordt en je hierdoor dus bezoekers uit Google krijgt. Deze status wordt opgebouwd aan de hand van content op je pagina én door de kwaliteit en kwantiteit van backlinks. Die waarde wil je zoveel mogelijk behouden en dus doorgeven aan dezelfde pagina op je nieuwe website.

Voordat je begint

Voor we beginnen met het opstellen van het migratiedocument, even een korte uitleg over HTTP status codes en diverse tools die je kunt gebruiken.

HTTP status codes

Een HTTP status code is een code die een server teruggeeft wanneer je bijvoorbeeld een bepaalde pagina probeert te bezoeken. Als alles goed gaat, geeft de server een 200 status code. Dat betekent dat alles OK is en de pagina netjes opgevraagd kan worden. Het doel van de migratie is dat zoveel mogelijk oude URL’s uiteindelijk een 200 status code teruggeven. Hieronder een overzicht van een aantal belangrijke en veel voorkomende status codes:

HTTP status code Betekenis
200 OK; de pagina bestaat
301 Permanent verplaatst
302 Tijdelijk verplaatst
404 Not found; de opgevraagde pagina is niet gevonden
500 Internal Server Error; er gaat iets niet goed aan de serverkant met het opvragen van de pagina

Tools

Voor het migreren van een site kun je in principe uit de voeten met alleen Kladblok of Excel, maar dat is al snel een flinke klus. Om dat te versnellen kun je gebruik maken van diverse tools. Ik maak meestal gebruik van de volgende:

  • Sublime Text: handig ter vervanging van Kladblok, en kan daarnaast veel meer, met name wanneer je meerdere regels tegelijk wilt bewerken, of reguliere expressies toe wilt passen.
  • Excel: hierin log ik de URL’s van de oude en nieuwe website, maar ook de exports uit o.a. Google Analytics, Google Search Console, Ahrefs, etc.
  • Google Analytics: onmisbaar om te weten hoe je website presteert en nodig om bijvoorbeeld de top 1000 (of meer/minder) organische landingspagina’s te exporteren.
  • Google Search Console: deze tool heeft data over de performance “onder de motorkap” van je website. Dit is tevens de enige tool die nog keyword data heeft. Handig om te bepalen welke pagina’s écht niet vergeten mogen worden bij de migratie.
  • Screaming Frog: onmisbaar bij grotere sites. Met Screaming Frog kun je namelijk een website “crawlen”, net zoals Google dat zou doen. Door het crawlen van een website, breng je eenvoudig alle URL’s in kaart.
  • Ahrefs.com: verzamelt onder andere data over backlinks. Door deze tool ben je er zeker van dat je geen URL’s vergeet die “linkwaarde” hebben.
  • SERPROBOT (of AWR): beide tools tracking rankings op keywords die voor jou belangrijk zijn. Hierdoor krijg je goed inzicht in stijgingen of daling in rankings, met als gevolg een stijging of daling in organisch verkeer.

Hoe pak je een website migratie aan?

Je weet nu waarom je je oude website moet migreren, je weet welke HTTP status codes belangrijk zijn en je weet welke tools je zou kunnen gebruiken. Dan is het nu tijd om aan de slag te gaan met het opstellen van het migratiedocument. Klinkt moeilijk, maar in feite is het gewoon een Excel document. Uiteindelijk bevat dit migratiedocument een kolom met oude URL’s en daarnaast een kolom met nieuwe URL’s. Optioneel kun je nog een kolom “status” of “opmerking” toevoegen om eventuele bijzonderheden vast te leggen.

Stap 1: exporteer organische landingspagina’s uit Google Analytics

Allereerst exporteer in je Google Analytics alle landingspagina’s uit organisch verkeer. Dat doe je in Universal Analytics als volgt:

  1. Ga naar “Acquisitie > Kanalen > Organic search > Landingspagina”
  2. Neem wel een ruim tijdsbereik, bijvoorbeeld het afgelopen jaar, of meerdere jaren. Hoe groter het tijdsbereik, hoe secuurder de migratie.
  3. Vergroot onderaan het aantal rijen dat getoond wordt tot bijvoorbeeld 1.000 of 5.000
  4. Klik boven de grafiek op “Exporteren > Excel”
Landingspagina's exporteren in Google Analytics

Bron: Google Analytics

Tip: heb je een kleine, vrij statische site, dan hoef je geen jaren te nemen, het afgelopen jaar zou voldoende moeten zijn. Heb je een grote, dynamische website (of een webshop), dan is het verstandig een langer tijdsbereik te kiezen.

Stap 2: exporteer pagina’s uit Google Search Console

Hetzelfde doe je in Google Search Console, zodat je lijst verder wordt aangevuld met eventuele pagina’s die je mist in de vorige stap. Onthoud, eerst verzamelen we zoveel mogelijk (relevante) data, vervolgens gaan we alles samenvoegen en ontdubbelen.

In Google Search Console doe je het volgende:

  1. Klik links op “Prestaties”
  2. Klik rechtsboven op “Exporteren > Excel”

Stap 3: exporteer “beste pagina’s obv links” uit Ahrefs.com

Ook in Ahrefs.com maak je een export, maar dit keer van de “beste pagina’s obv links”:

  1. Klik links, onder “Pagina’s”, op “Beste o.b.v. links”
  2. Klik rechtsboven op “Exporteer”

Stap 4: crawl je oude (of huidige) website

Met behulp van Screaming Frog kun je een website crawlen. Dat scheelt een berg werk, want je hoeft niet iedere pagina een voor een te bezoeken en vast te leggen in Excel. Dat doet Screaming Frog dus voor je. Deze tool heeft uiteraard nog veel meer te bieden, maar dat is iets voor een ander blog.

  1. Vul de URL van de homepage van je oude website in en klik op “Start”
  2. Als de crawl afgerond is (groen balk rechtsboven is 100%) dan filter je de resultaten op “HTML”
  3. Klik vervolgens op “Export” en sla op als “Excel” bestand
Website crawlen met Screaming Frog

Bron: Screaming Frog

Tip: als Screaming Frog maar één URL toont met een 403 status, verander dan de user-agent in Googlebot (“Configuration > User-agent > Googlebot”) en start de crawl opnieuw.

Stap 5: crawl je nieuwe website

Herhaal de stappen uit stap 4 om een zelfde export te maken voor je nieuwe website.

Stap 6: voeg alles samen en ontdubbel

Nu is het tijd om alle voorgaande exports en crawls samen te voegen en te ontdubbelen. Daar gebruik ik Excel voor. Het handigst is om alles in één document te plakken, en iedere export of crawl een aparte tab te geven. Dan kun je vervolgens data combineren door middel van een vlookup.

SEO migratie in Excel

Bron: Excel

Stap 7: maak een selectie

Als je alle data hebt verzameld in Excel, is het zaak dat je een selectie gaat maken. Gaat het om een kleine migratie, dan kun je deze stap in principe overslaan. Bestaat je website echter uit honderden of duizenden pagina’s, dan is het verstandig een selectie te maken van URL’s die wel of niet geredirect moeten worden.

Die selectie maak je onder andere aan de hand de volgende vragen:

  • Heeft de pagina voldoende organisch verkeer gehad?
  • Heeft de pagina backlinks?
  • Heeft de pagina een goed alternatief? Of komt deze (of hele delen) in de nieuwe site te vervallen?
  • Verandert de URL? (als deze namelijk exact hetzelfde blijft, hoeft de URL natuurlijk niet geredirect te worden)

Door bovenstaande vragen per URL te stellen, kun je op basis van de juiste data een beslissing maken deze wel of niet te redirecten.

Stap 8: start met mappen

Nu de selectie is gemaakt, is het tijd om te starten met mappen. Klinkt moeilijk, maar is het niet. Voor iedere oude URL zoek je namelijk de nieuwe URL op. Dit kost natuurlijk wel veel tijd, maar is ontzettend belangrijk. Doe dit dus zo secuur mogelijk.

Tijdens het mappen kun je ook meteen controleren of de nieuwe site voldoende (tekstuele) content bevat. Als er bijvoorbeeld beduidend minder, of zelfs geen, tekstuele content op de nieuwe aanwezig is, kan dit enorme gevolgen hebben voor de vindbaarheid van de nieuwe website. De migratie mag dan straks wel gelukt zijn, maar zonder voldoende (geoptimaliseerde) content, is jouw nieuwe website gewoonweg minder goed vindbaar.

Tip: mis je URL’s of content op je nieuwe site? Bepaal dan of deze content nog gemaakt moet worden. Indien de content komt te vervallen, bepaal dan of er een alternatief is. Zo niet, bepaal dan wat de impact is van het niet-redirecten van deze URL.

Stap 9: implementeer de redirects

Als je 100% zeker weet dat je stappen 7 en 8 goed hebt doorlopen, is het tijd om de redirects te maken en te implementeren. Ik ga er voor het gemak vanuit dat Apache draait op je server, waardoor je redirects in .htaccess kunt doorvoeren. Weet je dat niet? Of twijfel je? Neem dan even contact met mij op.

In Excel maak ik een kolom “RewriteRule” aan, zodat ik een formule kan maken die de “oude URL” en de “nieuwe URL” combineert tot de uiteindelijke RewriteRule.

=TEKST.SAMENVOEGEN("RewriteRule ^";[@URL];"$ ";[@[Redirect to]];" [R=301,L]")

De regel die door deze formule gegenereerd wordt ziet er bijvoorbeeld als volgt uit:

RewriteRule ^https://www.abena.nl/healthcare-producten/babyluiers$ https://www.abena.nl/kinderen-en-babys/babyluiers/ [R=301,L]

Let op: Als je deze regel exact zo implementeert, gaat het niet werken. Het domein na het ^ teken dient namelijk verwijderd te worden. Dan kan bijvoorbeeld door in Excel in de kolom “oude URL” te zoeken naar “https://www.domein.nl/” en deze te vervangen door niets. Of je maakt gebruik van Sublime Text, zodat je eenvoudig alle regels in één keer kunt bewerken.

Mocht je je afvragen wat alles in deze “RewriteRule” betekent, dan vind je hieronder een korte uitleg:

  • ^: het “hoedje” geeft aan dat de oude URL moet beginnen met de tekst die erna volgt
  • $: het dollarteken geeft aan dat de oude URL exact moet eindigen op de tekst ervoor (er mag dus niets aan de URL worden toegevoegd, want dan is er geen “match”)
  • R=301: aan het einde van een RewriteRule kunnen “flags” toegevoegd worden. Zo geeft de R-flag het soort redirect aan. In dit geval een 301 redirect (dus permanent)
  • L: de L-flag geeft aan dat er na een match geen andere RewriteRules meer uitgevoerd mogen worden. Dit voorkomt conflicten en redirect-chains. Vooral handig wanneer je heel veel URL’s gaat migreren.

Stap 10: controleer redirects

Voordat je de volledige migratie op de live-omgeving doorvoert, raad ik je aan alles eerst op een staging-omgeving te testen. Houdt er dan wel rekening mee dat je oude of nieuwe URL’s eventueel nog aangepast moeten worden, wanneer dit van staging naar productie gaat.

Tip: je kunt een aantal URL’s steekproefsgewijs controleren. Wil je meer controle? Dan kun je ook alle oude URL’s importeren in bijvoorbeeld Screaming Frog. Vervolgens kun je via “Reports > Redirects” een rapportage uitdraaien.

Migratie controleren in Screaming Frog

Bron: Screaming Frog

Stap 11: nieuwe site live

Ben je er zeker van dat alle redirects werken zoals je bedoeld hebt, dan is kan de nieuwe website eindelijk live. Controleer direct na het live zetten van de nieuwe site of de migratie goed is gegaan en de redirects dus werken. Dat kan wederom door een steekproef, of door een crawl (zie stap 10).

Post-migratie controle

Gefeliciteerd! Je website migratie is uitgevoerd en alle redirects werken. Maar dat betekent nog niet dat je helemaal klaar bent… De komende dagen en weken raad ik je aan je rankings, visibility en organisch verkeer goed in de gaten te houden. Vooral op keyword-niveau zie je al snel of de migratie wel of niet goed is gelukt.

Merk je bijvoorbeeld dat een of meerdere keywords minder goed ranken, dan kun je stapsgewijs nagaan waar dat aan kan liggen:

  • Wordt de oude naar de nieuwe URL geredirect?
  • Zijn er geen redirect-chains (bijvoorbeeld pagina A wordt naar B geredirect, B naar C, C naar D, enzovoorts)?
  • Hoe zit het met de content op de oude pagina en komt dat goed overeen met de nieuwe pagina?
  • Zijn alle SEO basics gecoverd? Denk onder andere aan de juiste headings, title-tag, etc.

Bovenstaande zou je moeten helpen het probleem snel te identificeren. Heb je na de website migratie toch nog steeds met dalingen te maken? Of kom je er na het volgen van de stappen en tips in deze blog niet uit? Neem dan contact met mij op. Ik help je graag verder.


Koffietje?

Ben jij op zoek naar een zoekmachine marketingbureau dat wél waarmaakt wat ze zeggen? Dan ben jij onze klant. Zin om samen te werken? Wij maken graag kennis met jou en je bedrijf.

Neem contact op
Lois Hoos, Commercieel officemanager
Lois Hoos Commercieel officemanager