URL-inventaris voor een migratie
Bouwt voor een sitemigratie een volledige URL-lijst met prioriteiten en een redirectmapping-sjabloon in Excel.
Wat doet deze skill?
Bij een migratie gaat verkeer meestal verloren aan URL’s die niemand op de lijst had: een oude pagina met backlinks, een PDF met verkeer, een URL die alleen nog in Search Console opduikt. Deze skill voegt alle bronnen samen tot één inventaris, zodat elke URL met verkeer, links of indexatie een plek krijgt in het redirectplan.
Hij combineert de crawl, de XML-sitemaps, Search Console, je backlinkexport en analytics, en zoekt in de Wayback Machine naar URL’s die al verdwenen zijn. Elke URL krijgt een paginatype en een prioriteit. Daarbovenop krijg je een redirectmapping-sjabloon met controlekolommen voor na de livegang.
Hoe werkt het?
- Je levert de exports aan die je hebt. De skill zegt wat ontbreekt en wat dat betekent voor de volledigheid.
- Hij zoekt via de Wayback Machine naar URL’s die ooit bestonden, of geeft je de query om zelf uit te voeren.
- Hij normaliseert alle URL’s en voegt de bronnen samen, met per bron een kolom.
- Elke URL krijgt een paginatype, verkeer, backlinks, status en een prioriteit van kritiek tot laag.
- Hij zet de URL’s met prioriteit in het redirectmapping-sjabloon en markeert ketens en lussen.
- Hij controleert de totalen tegen de bronnen en levert het werkboek op.
Wat je krijgt
- Een Excel met een overzicht, de volledige inventaris, een redirectmapping, een tab met URL’s die alleen in het archief zitten en een controlelijst voor na de livegang.
- Tellingen per paginatype, prioriteit en bron als formules, zodat ze blijven kloppen.
- Een blok bronnen en duiding per bron.
- In de chat: de belangrijkste bevindingen, zoals URL’s met verkeer die niet in de sitemap staan.
Goed om te weten
De skill vult de nieuwe URL’s alleen in als de nieuwe structuur bekend is, en markeert ze dan als voorstel. De keuze blijft bij jou. Hij stuurt nooit standaard naar de homepage. De Wayback Machine is niet volledig en een snapshot bewijst niet dat een pagina verkeer had. Search Console exporteert via de interface maximaal 1.000 rijen; voor grote sites heb je een connector of exports per map nodig.
Zo start je hem
Typ een van deze zinnen in een nieuw gesprek, of iets gelijkaardigs.
- We migreren naar een nieuw CMS. Maak een URL-inventaris uit deze exports.
- Zoek via de Wayback Machine welke oude URL's nog backlinks hebben.
- Maak een redirectmapping-sjabloon voor alle URL's met verkeer.
Wat er in de zip zit
4 bestanden, allemaal gewone tekst. Lees ze gerust na voor je de skill installeert.
migratie-url-inventaris/SKILL.md7,4 kB
---
name: migratie-url-inventaris
description: Bouwt voor een sitemigratie (nieuw CMS, nieuwe URL-structuur, domeinwissel, samenvoeging van sites) een volledige URL-inventaris in Excel uit een crawl, de XML-sitemaps, Search Console, backlinkexports en de Wayback Machine voor verdwenen URL's, met per URL paginatype, verkeer, backlinks, status en een prioriteit, plus een redirectmapping-sjabloon met oude URL, nieuwe URL, type redirect en controlekolommen. Gebruik deze skill wanneer iemand een migratie voorbereidt, een redirectplan of redirectmap nodig heeft, alle URL's van een site wil oplijsten, oude URL's wil terugvinden die verdwenen zijn, of na een migratie wil controleren wat verloren ging. Triggerzinnen - we gaan migreren, maak een URL-inventaris, redirectmapping, redirectplan, lijst alle URL's op, welke URL's moeten we redirecten, oude URL's terugvinden, Wayback Machine, migratie-checklist SEO.
---
# URL-inventaris en redirectmapping voor een migratie
Bij een migratie gaat verkeer verloren aan URL's die niemand op de lijst had. Je doel is één bron van waarheid: elke URL die ooit verkeer, links of indexatie had, met een prioriteit en een lege kolom voor de nieuwe URL.
## Vaste regels
- Nederlands, geen gedachtestreepjes. Altijd volledige URL's, nooit een losse slug.
- Verzin geen cijfers en geen URL's. Een nieuwe URL die je voorstelt, markeer je als "Voorstel" tot iemand ze bevestigt.
- Zet de duiding per bron (hoe verzameld, wat waargenomen, wat afgeleid, beperkingen) in het werkboek.
- Werk ook zonder connectors. Elke bron kan als geüploade export binnenkomen.
## Stap 1: bronnen verzamelen
Vraag welke bronnen er zijn en wat de migratie inhoudt (alleen CMS, nieuwe structuur, nieuw domein, samenvoeging, nieuwe taalmappen). Start met wat er al is. Details over formaten en kolommen staan in `references/bronnen.md`.
| Bron | Waarom | Minimum |
|---|---|---|
| Crawl van de huidige site | Wat nu bestaat en intern gelinkt is | Address, Status Code, Indexability, Canonical, Title, Crawl Depth, Unique Inlinks |
| XML-sitemaps | Wat de site zelf als belangrijk opgeeft, ook niet-gelinkte pagina's | loc, lastmod |
| Search Console Prestaties per pagina | Wat verkeer heeft | Pagina, Klikken, Vertoningen, Positie; 12 tot 16 maanden als het kan |
| Search Console Indexering | Wat Google kent, ook URL's die niet meer gelinkt zijn | drilldown-exports |
| Backlinkexport (Ahrefs, Semrush, Majestic, Search Console Links) | Welke URL's externe links hebben | Doel-URL, verwijzende domeinen |
| Analytics landingspagina's | Verkeer uit andere kanalen | Landingspagina, sessies |
| Wayback Machine | URL's die verdwenen zijn maar nog links of verkeer kunnen hebben | CDX-lijst |
| Bestaande redirects | Voorkomen van ketens | Bron, doel, type |
Met een Screaming Frog-, Search Console- of backlinkconnector mag je de data zelf ophalen. Zonder connector vraag je om de exports, met de exacte stappen uit `references/bronnen.md`.
Het minimum om te starten is één van crawl, sitemap of Search Console. Zeg welke bronnen ontbreken en wat dat betekent voor de volledigheid.
## Stap 2: verdwenen URL's via de Wayback Machine
Gebruik de CDX-API om URL's te vinden die ooit bestonden. Lees `references/wayback.md` voor de query's en regels.
- Kan je zelf web-requests doen, haal de CDX-lijst dan op met `collapse=urlkey` en `filter=statuscode:200`.
- Kan je dat niet, geef de gebruiker de query-URL om in de browser te openen en als bestand op te slaan, en werk met de upload.
- Filter assets (afbeeldingen, CSS, JS, fonts) eruit, tenzij de gebruiker beeldherstel wil.
- Een URL die alleen in de Wayback Machine zit en niet in een andere bron, krijgt bron "Alleen archief". Die is pas relevant als hij backlinks heeft of als hij een duidelijk equivalent heeft op de nieuwe site.
## Stap 3: samenvoegen en normaliseren
1. Normaliseer elke URL: protocol en host gelijk trekken, trailing slash consequent, `#`-ankers weg, tracking-parameters weg (`utm_`, `gclid`, `fbclid`). Bewaar de originele schrijfwijze in een aparte kolom als die afwijkt.
2. Behoud functionele parameters (paginering, filters met verkeer) als aparte URL.
3. Voeg alle bronnen samen op de genormaliseerde URL. Per bron een kolom Ja of Nee.
4. Verwijder dubbels. Tel per bron het aantal URL's voor en na, en zet die tellingen in de duiding.
## Stap 4: verrijken en prioriteren
Per URL:
- **Paginatype** en **subtype** uit het URL-pad (eerste match van een geordende lijst regels). Kijk eerst naar de verdeling van eerste padsegmenten en de sitemapnamen voor je de regels opstelt. Markeer als afgeleid.
- **Status nu**: uit de crawl, of "Niet gecrawld" als de URL alleen uit andere bronnen komt.
- **Klikken, vertoningen, positie** uit Search Console, **verwijzende domeinen** uit de backlinkexport, **sessies** uit analytics.
- **Prioriteit** volgens deze regels, eerste match wint:
| Prioriteit | Regel |
|---|---|
| 1 Kritiek | Top 20% van de URL's met klikken (samen meestal 80% of meer van het verkeer), of 5+ verwijzende domeinen, of een conversiepagina |
| 2 Hoog | Klikken groter dan 0, of 1 tot 4 verwijzende domeinen, of in sitemap en indexeerbaar |
| 3 Normaal | Indexeerbaar zonder klikken of links |
| 4 Laag | Niet indexeerbaar, redirect, parameter-URL zonder verkeer, of alleen archief zonder links |
Pas de drempels aan op de grootte van de site en zeg dat in de duiding.
## Stap 5: redirectmapping-sjabloon
Maak de tab Redirectmapping met de structuur uit `references/redirectmapping.md`. Regels:
- Eén rij per oude URL met prioriteit 1 tot 3, plus prioriteit 4 met backlinks.
- Vul Nieuwe URL alleen in als de nieuwe structuur bekend is. Doe je een voorstel op basis van slug of title, zet dan Bron mapping op "Voorstel" en de zekerheid op Laag, Medium of Hoog.
- Elke oude URL wijst naar de meest gelijkwaardige pagina, niet standaard naar de homepage. Geen equivalent: kies de dichtste bovenliggende categorie, of laat bewust een 410 toe als de inhoud echt verdwijnt en er geen links zijn. Leg dat vast in de kolom Beslissing.
- Zoek ketens en lussen: een doel dat zelf een redirect is of terug naar de bron wijst. Markeer ze.
- Bestaande redirects die naar een oude URL wijzen, moeten ook naar de nieuwe eind-URL. Neem ze op.
## Stap 6: werkboek en controle
Tabs:
1. **Overzicht**: tabel per paginatype (URL's, indexeerbaar, in sitemap, met klikken, klikken, vertoningen, met backlinks), tabel per prioriteit, tabel per bron, en het blok "Bronnen en duiding".
2. **Alle URL's**: de volledige inventaris. Kolommen in `references/redirectmapping.md`.
3. **Per paginatype**: optioneel, één tab per type bij grote sites.
4. **Redirectmapping**: het sjabloon.
5. **Alleen archief**: URL's die alleen uit de Wayback Machine komen.
6. **Controle na livegang**: lijst om na de migratie te crawlen (oude URL's van prioriteit 1 en 2 in lijstmodus).
Controleer voor je oplevert:
- Totaal klikken in het werkboek komt overeen met de som in de Search Console-export (afwijking door normalisatie benoemen).
- Elke URL met prioriteit 1 staat in de redirectmapping.
- Geen dubbele oude URL's in de mapping.
- Overzichtstellingen als formules over de tab Alle URL's, zodat ze kloppen als iemand filtert of aanvult.
Bestandsnaam: `<site>_migratie-url-inventaris.xlsx`.
In de chat: een tabel per paginatype (URL's, klikken, met backlinks), drie tot vijf bevindingen met cijfers (bijvoorbeeld URL's met verkeer die niet in de sitemap staan, verdwenen URL's met backlinks, bestaande redirectketens), en de beperkingen.
Gemaakt door Depends (depends.be). Vrij te gebruiken en aan te passen.
migratie-url-inventaris/references/bronnen.md3,3 kB
# Bronnen: hoe exporteren en welke kolommen
## Crawl
Screaming Frog of vergelijkbaar. Crawl de volledige host, ook als de migratie maar één map betreft: links lopen tussen mappen en je filtert achteraf.
- Export: Internal, filter All (niet alleen HTML, want PDF's hebben ook verkeer en links). Verwijder afbeeldingen, CSS, JS en fonts achteraf.
- Kolommen: Address, Content Type, Status Code, Indexability, Indexability Status, Title 1, Meta Description 1, H1-1, Canonical Link Element 1, Word Count, Crawl Depth, Unique Inlinks, Redirect URL.
- Ook nuttig: Response Codes, Redirection (3xx) met Redirect URL, voor de bestaande redirects.
- Krijg je veel 429- of 503-statussen, dan heeft de server de crawler afgeremd. Die URL's zijn onbekend, niet kapot. Vraag om een tragere hercrawl van alleen die URL's in lijstmodus, of meld het als beperking.
- Zeg in de duiding of JavaScript-rendering aan stond. Zonder rendering kunnen links die met JavaScript laden ontbreken.
## XML-sitemaps
- Zoek de sitemaps via de `Sitemap:`-regels in robots.txt, anders `/sitemap.xml` of `/sitemap_index.xml`.
- Volg sitemap-indexen tot de onderliggende sitemaps.
- Bewaar per URL: loc, lastmod en de naam van de sitemap (die naam is een goede hint voor het paginatype).
- Kan je niet zelf fetchen, vraag de gebruiker de sitemaps te downloaden of de URL's te exporteren uit de crawler (Sitemaps, All).
- lastmod is meestal de laatste opslagdatum in het CMS, niet de publicatiedatum. Zeg dat in de duiding.
- Meld elke sitemap die een fout gaf. Behandel hem niet als leeg.
## Search Console
### Prestaties per pagina
- Prestaties, Zoekresultaten, periode zo lang mogelijk (16 maanden), tab Pagina's, Exporteren.
- De interface exporteert maximaal 1.000 rijen. Voor grotere sites: gebruik een connector of de API, of exporteer per map met een paginafilter "URL's met" en voeg samen.
- Kolommen: Pagina, Klikken, Vertoningen, CTR, Positie.
- Voeg nooit een tweede dimensie (land, apparaat, zoekopdracht) toe om paginatotalen te berekenen: dat verliest data door anonimisering.
- De som van de vertoningen per pagina ligt hoger dan het propertytotaal, omdat een property per zoekopdracht één vertoning telt. Zet dat in de duiding.
### Indexering
- Indexering, Pagina's: exporteer de drilldowns per reden. Elke export heeft een Chart-, Table- en Metadata-tab; de Table is afgekapt op 1.000 rijen.
- "Niet gevonden (404)" en "Pagina met omleiding" bevatten vaak oude URL's die nergens meer gelinkt zijn maar die Google nog kent. Neem ze op.
### Links
- Links, Externe links, Toppagina's met links: Doel-URL en aantal linkende sites. Bruikbaar als er geen backlinktool is.
## Backlinks
Uit Ahrefs (Best by links of Top pages), Semrush (Indexed pages) of Majestic (Pages). Minimaal: Doel-URL en Verwijzende domeinen. Ook nuttig: aantal backlinks en het eerste of laatste moment gezien. Neem ook doel-URL's met status 404 mee: dat zijn verloren links die je met een redirect terugwint.
## Analytics
Landingspagina's met sessies of conversies over minstens 12 maanden. Let op: analytics geeft vaak alleen het pad, zonder host. Plak de host ervoor.
## Bestaande redirects
Uit de server- of CMS-configuratie, een redirect-plugin of een export van de huidige redirectregels: Bron, Doel, Type (301, 302, 307, 308). Nodig om ketens te vermijden.
migratie-url-inventaris/references/redirectmapping.md3,4 kB
# Kolommen van het werkboek
## Tab Alle URL's
Vaste volgorde. Paginatype en URL eerst, dan de prestatiecijfers, dan de technische kolommen.
| Kolom | Inhoud |
|---|---|
| Paginatype | Afgeleid uit het pad |
| Subtype | Homepage, Overzicht, Detailpagina, Artikel, Tagpagina, Paginering, Juridisch, URL met parameters ... |
| URL | Volledige genormaliseerde URL |
| Originele schrijfwijze | Alleen als die afwijkt |
| Prioriteit | 1 Kritiek tot 4 Laag |
| Klikken | Search Console, periode in de duiding |
| Vertoningen | Search Console |
| CTR | Formule klikken gedeeld door vertoningen |
| Positie | Search Console |
| Sessies | Analytics, als beschikbaar |
| Verwijzende domeinen | Backlinkexport |
| Statuscode | Crawl |
| Indexeerbaar | Indexeerbaar, Niet indexeerbaar, Onbekend (niet gecrawld) |
| Reden niet indexeerbaar | Redirect, Canonical naar andere URL, Noindex, 4xx, Geblokkeerd door robots.txt, Niet opgehaald (429) |
| Canonical | Crawl |
| Redirect naar | Crawl of bestaande redirects |
| In crawl | Ja of Nee |
| In sitemap | Ja of Nee |
| Sitemap | Naam van de sitemap |
| Laatst gewijzigd (sitemap) | lastmod |
| In Search Console | Ja of Nee |
| In backlinkexport | Ja of Nee |
| In archief | Ja of Nee, met laatste snapshotdatum |
| Klikdiepte | Crawl |
| Unieke inlinks | Crawl |
| Title | Crawl |
| H1 | Crawl |
Bevroren tot en met de URL-kolom, autofilter op de kopregel.
## Tab Redirectmapping
| Kolom | Inhoud | Wie vult in |
|---|---|---|
| Oude URL | Uit de inventaris | Skill |
| Prioriteit | Uit de inventaris | Skill |
| Paginatype | Uit de inventaris | Skill |
| Klikken | Uit de inventaris | Skill |
| Verwijzende domeinen | Uit de inventaris | Skill |
| Nieuwe URL | Doel na migratie | Team, of skill als voorstel |
| Bron mapping | Bevestigd, Voorstel of Leeg | Skill of team |
| Zekerheid voorstel | Hoog (zelfde slug of title), Medium (vergelijkbaar), Laag (bovenliggende categorie) | Skill |
| Beslissing | 301, 410 bewust, Behouden (URL verandert niet), Samenvoegen | Team |
| Type redirect | 301 of 308 standaard | Team |
| Opmerking | Waarom dit doel, of waarom geen redirect | Team |
| Keten of lus | Ja als het doel zelf redirect of terug naar de bron wijst | Skill (formule of controle) |
| Status oude URL na livegang | In te vullen na de controlecrawl | Team |
| Eind-URL na livegang | In te vullen na de controlecrawl | Team |
| Status eind-URL | Moet 200 zijn | Team |
| OK | Formule: Ja als status oude URL 301 of 308 is, eind-URL gelijk is aan Nieuwe URL en status eind-URL 200 is | Formule |
Voeg gegevensvalidatie toe (keuzelijsten) voor Bron mapping, Beslissing en Type redirect. Voorwaardelijke opmaak: rood als Prioriteit 1 en Nieuwe URL leeg, oranje als Keten of lus Ja.
## Regels voor voorstellen
- Hoog: identieke slug onder een nieuw pad, of identieke title.
- Medium: slug of title sterk overeenkomend (na weglaten van stopwoorden en datums).
- Laag: geen match, voorstel is de dichtste bovenliggende categorie op de nieuwe site.
- Nooit standaard naar de homepage. Een massa redirects naar de homepage behandelt Google als soft 404.
- Doe geen voorstellen als de nieuwe URL-structuur onbekend is. Laat de kolom dan leeg.
## Tab Controle na livegang
Lijst van alle oude URL's met prioriteit 1 en 2, klaar om in lijstmodus te crawlen met redirects volgen aan. Kolommen: Oude URL, Verwachte nieuwe URL. Na de crawl plakt het team de resultaten terug in de redirectmapping.
migratie-url-inventaris/references/wayback.md3,4 kB
# Verdwenen URL's terugvinden met de Wayback Machine
## CDX-API
Basis: `https://web.archive.org/cdx/search/cdx`
| Parameter | Gebruik |
|---|---|
| `url` | Domein of pad, met `*` voor alles eronder (`example.com/*`) |
| `matchType` | `prefix` voor een pad, `host` voor één host, `domain` voor host en subdomeinen |
| `output` | `json` |
| `fl` | `timestamp,original,statuscode,mimetype` |
| `filter` | `statuscode:200`, `mimetype:text/html`, `!mimetype:warc/revisit` |
| `collapse` | `urlkey` voor één rij per URL |
| `from`, `to` | Periode in `JJJJMMDD` |
| `limit` | Maximum aantal rijen; `-1` geeft de recentste |
### Query's
Alle HTML-URL's onder een domein, één rij per URL:
```
https://web.archive.org/cdx/search/cdx?url=example.com/*&matchType=prefix&output=json&fl=timestamp,original,statuscode,mimetype&filter=statuscode:200&filter=mimetype:text/html&collapse=urlkey
```
Beperkt tot een periode, bijvoorbeeld de laatste drie jaar voor de migratie:
```
...&from=20230101&to=20251231
```
Recentste 200-snapshot van één URL:
```
https://web.archive.org/cdx/search/cdx?url=URL&output=json&fl=timestamp&filter=statuscode:200&limit=-1
```
Statusgeschiedenis van één URL (zonder statusfilter), om te zien wanneer hij brak:
```
https://web.archive.org/cdx/search/cdx?url=URL&output=json&fl=timestamp,statuscode
```
### Regels
- De eerste rij van de JSON is de kop, geen data.
- Gebruik voor het ophalen van een pagina altijd de ruwe vorm met `id_`: `https://web.archive.org/web/{timestamp}id_/{url}`. Zonder `id_` krijg je de archiefbalk en scripts in de HTML.
- Gebruik de timestamp uit de CDX-API, niet de datum uit de kalender in de interface.
- Werk sequentieel, één verzoek per seconde. Bij 429 of 503: vijf seconden wachten en verdergaan waar je stopte.
- Bij grote domeinen kan de query lang duren of afbreken. Splits per map of per jaar.
## Kan je geen web-requests doen?
Geef de gebruiker de query-URL. In de browser openen geeft de JSON; opslaan als bestand en uploaden. Of vervang `output=json` door niets voor een platte tekstlijst met spaties als scheidingsteken.
## Wat je met het resultaat doet
1. Normaliseer de URL's op dezelfde manier als de andere bronnen (host, protocol, slash, tracking-parameters). Het archief bevat vaak `http://`- en `www`-varianten van dezelfde URL.
2. Filter assets en technische URL's weg: afbeeldingen, CSS, JS, fonts, `wp-json`, `xmlrpc`, feeds, zoekresultaten, sessie-ID's.
3. Markeer elke URL die in geen enkele andere bron zit als "Alleen archief".
4. Kruis "Alleen archief" met de backlinkexport. Heeft zo'n URL verwijzende domeinen, dan krijgt hij minstens prioriteit 2 en een rij in de redirectmapping.
5. Vermeld de laatste snapshotdatum per URL. Een URL die tot vlak voor vandaag 200 gaf maar niet meer in de crawl zit, is waarschijnlijk recent verdwenen of niet meer gelinkt.
## Inhoud herstellen (optioneel)
Wil de gebruiker de inhoud van een verdwenen pagina terug (om opnieuw te publiceren of als basis voor een nieuwe pagina), haal dan de ruwe HTML op met `id_` van de laatste 200-snapshot voor de pagina verdween. Voor afbeeldingen: check eerst of de originele CDN-URL nog werkt, en val pas daarna terug op het archief.
## Beperkingen voor de duiding
- Het archief is niet volledig. Pagina's achter login, met `noarchive` of nooit gelinkt, ontbreken.
- Een snapshot met status 200 bewijst dat de URL bestond, niet dat hij verkeer had.
- Datum van de query en de gebruikte filters vermelden.
Installeren
Zo zet je hem in Claude
In Claude.ai of Claude Desktop
- Download
migratie-url-inventaris.zip. Pak hem niet uit. - Ga naar Instellingen › Capabilities en zet code-uitvoering aan als dat nog niet zo is.
- Kies bij Skills voor Upload skill en selecteer de zip.
- Start een nieuw gesprek. Claude gebruikt de skill vanzelf zodra je vraag erbij past.
In Claude Code
- Download
migratie-url-inventaris.zip. - Pak hem uit in je persoonlijke skillmap, of in
.claude/skills/van een project om hem met je team te delen:
unzip migratie-url-inventaris.zip -d ~/.claude/skills/Start Claude Code opnieuw. Met /skills zie je of hij geladen is.
Andere skills
Alle skillsSEO-actielijst uit een crawl
Zet een crawlexport om in een geprioriteerde actielijst in Excel, met per issue de URL's en wie het oplost.
Claude.ai · Claude CodeBekijk Technische SEOCategoriepagina SEO-check
Audit van categorie- en listingpagina's op indexatie, filters, paginering, tekst en aanbod, in één Excel.
Claude.ai · Claude CodeBekijk ContentSEO-blogschrijver
Van zoekwoord naar contentbrief en daarna een blogartikel dat rankt in Google en geciteerd wordt door AI.
Claude.ai · Claude CodeBekijkWil je dat we het samen met je team opzetten?
Plan een gesprek van 30 minuten met Mathias, de oprichter van Depends.
Plan een gesprek