Een URL-verkorter bouwen
Een URL-verkorter slaat een lang webadres op onder een korte code en stuurt iedereen die de korte link opent door naar het lange adres. De kern is klein — één tabel en één redirectroute — en daarom is het een klassiek eerste project. Wat een echte verkorter bruikbaar maakt, is de rest: een kort domein, eigen slugs, klikaantallen, bewerken waar een link naartoe wijst, en voorkomen dat spammers je domein gebruiken om phishinglinks te verbergen. Beslis vroeg of het voor jou en je team is, of openbaar, want openbare verkorters trekken snel misbruik aan.
Wat een URL-verkorter nodig heeft
Gegevens
| Tabel | Velden |
|---|---|
| Links | Korte code, bestemmings-URL, eigenaar, titel, aanmaakdatum, actief-vlag, optionele vervaldatum |
| Klikken | Link, tijd, verwijzer, land, apparaattype |
| Domeinen (optioneel) | Eigen korte domeinen en hun eigenaars |
Zet een unieke index op de korte code. Twee links met dezelfde code is de ene bug die absoluut onmogelijk moet zijn.
Pagina's en routes
- De redirectroute —
/{code}zoekt de code op en stuurt door. Dit is de enige route die de meeste bezoekers ooit raken, dus hij moet snel zijn en nooit de interface van je app tonen. - Link aanmaken — plak een URL, kies optioneel een eigen slug, en krijg de korte link met een kopieerknop.
- Linklijst — je links met klikaantallen, zoeken en aan/uit-schakelaars.
- Linkdetail — klikken door de tijd, belangrijkste verwijzers, landen, apparaten. Bewerk de bestemming.
- Niet-gevonden-pagina voor onbekende of uitgeschakelde codes.
- QR-code voor elke link — goedkoop toe te voegen en vaak gevraagd.
Beslissingen en afwegingen
Type redirect. Een 301 (permanent) redirect kan door browsers worden gecachet, zodat terugkerende bezoekers je server overslaan: je verliest klikken en kunt de bestemming voor hen niet wijzigen. Gebruik 302 of 307 als je klikken bijhoudt of bewerking toestaat. Dat doen de meeste verkorters die tracken.
Korte codes. Willekeurige codes van zes of zeven tekens (letters en cijfers) zijn moeilijk te raden en hebben genoeg ruimte. Vermijd verwarrende tekens (0/O, 1/l) als mensen links met de hand gaan typen. Oplopende codes onthullen hoeveel links je hebt en laten iedereen er doorheen lopen.
Eigen slugs. /lancering is beter dan /x7Kp2q. Reserveer woorden die je app gebruikt (login, api, admin), blokkeer aanstootgevende slugs als de tool openbaar is, en beslis of slugs hoofdlettergevoelig zijn. Niet-hoofdlettergevoelig is vriendelijker.
Snelheid. Een verkorter voegt een stap toe vóór elk bezoek. Houd de redirectroute beperkt tot één geïndexeerde opzoeking, en registreer de klik nadat de redirect is verstuurd (of op de achtergrond), zodat tracking de bezoeker nooit vertraagt. Apps op hosting die in slaapstand gaan bij inactiviteit kunnen bij het eerste bezoek na een rustige periode iets langer doen; voor een persoonlijke of teamtool is dat meestal prima.
Klikanalyse en privacy. Klikken, verwijzers en een ruw land bijhouden is standaard. Volledige IP-adressen opslaan en profielen van individuen opbouwen is waar privacywetgeving begint te gelden. Sla op wat je daadwerkelijk bekijkt, en aggregeer waar je kunt. Zie hoe je analyse aan je app toevoegt.
Het domein. De link is maar zo kort als zijn domein. Koop een kort domein en richt het op de app — zie hoe je een eigen domein koppelt. Veel hosts geven de voorkeur aan een subdomein (go.jouwmerk.nl) boven een kaal hoofddomein, wat eenvoudiger te koppelen is.
Misbruik. Als iedereen links kan aanmaken, gebruiken spammers je domein om phishing en malware te verbergen, en kan je domein op blokkeerlijsten belanden. Voor een openbare verkorter: vereis accounts, beperk het aantal aanmaakacties, controleer bestemmingen tegen een lijst met kwaadaardige URL's zoals Google Safe Browsing, blokkeer links naar je eigen verkorter (redirectlussen), en bouw een beheerschakelaar om elke link direct uit te schakelen. Een privé-verkorter alleen voor het team voorkomt de meeste hiervan.
Een eerste prompt die werkt
Bouw een URL-verkorter-webapp voor mijn team. Ingelogde gebruikers plakken een bestemmings-URL en krijgen een korte link met een willekeurige code van 7 tekens (geen 0, O, 1 of l), of kiezen een eigen slug. Slugs zijn uniek en niet-hoofdlettergevoelig; reserveer login, api, admin, app en settings. De openbare route /{code} zoekt de code op met één geïndexeerde query en geeft een 302-redirect terug; registreer de klik (tijd, verwijzer, land, apparaattype — geen volledig IP-adres) zonder de redirect te vertragen. Onbekende of uitgeschakelde codes tonen een eenvoudige niet-gevonden-pagina. Gebruikers zien een lijst van hun links met klikaantallen, kunnen de bestemming bewerken, een link uitschakelen, een QR-code downloaden, en openen een detailpagina met klikken per dag, belangrijkste verwijzers en landen. Valideer dat bestemmingen http- of https-URL's zijn en geen links naar deze verkorter. Sla alles op in een database.
Bouwstappen
- Aanmaken en doorsturen. Maak een link en open hem in een privévenster. Controleer dat het antwoord een 302 is, en geen pagina die daarna met JavaScript doorstuurt.
- Codes en slugs. Probeer een dubbele slug, een gereserveerd woord, gemengde hoofd- en kleine letters en een zeer lange URL.
- Klikregistratie. Klik vanaf een paar apparaten en controleer de aantallen en verwijzers.
- Bewerken en uitschakelen. Wijzig een bestemming en controleer dat de oude korte link nu naar de nieuwe plek gaat; schakel er één uit en controleer dat hij stopt.
- Validatie. Probeer
javascript:-links, links naar de verkorter zelf en misvormde URL's. Alle moeten op de server worden geweigerd. - Domein. Koppel je korte domein en test links erop.
- Misbruikbeheersing, als de tool openbaar wordt: beperkingen op aanmaken, een controle van bestemmingen en een beheerweergave van recente links.
Veelgemaakte fouten
- 301-redirects met klikregistratie. Browsers cachen ze en je cijfers kloppen niet.
- Doorsturen in de pagina. De app laden en dan met JavaScript doorsturen, waardoor elke klik traag voelt. Stuur vanaf de server door.
- Geen unieke beperking op codes. Botsingen komen uiteindelijk voor.
- Een open openbare verkorter zonder controles. Hij wordt misbruikt, en de reputatie van je domein gaat mee.
- Elk URL-schema accepteren. Sta alleen http- en https-bestemmingen toe.
- Links verliezen als je verhuist. Bezit het korte domein zelf, zodat links een hostingwissel overleven.
Wanneer een kant-en-klaar product de betere keuze is
Gevestigde linkbeheerdiensten bieden merkdomeinen, uitgebreide analyse, teamfuncties, QR-codes, integraties en misbruikafhandeling standaard. Als links centraal staan in je marketing en je geen onderhoud wilt, betaal dan voor een dienst.
Bouw zelf wanneer je een eenvoudige teamverkorter op je eigen domein wilt zonder prijs per zetel, links die zijn verbonden met je eigen product (deellinks, verwijslinks, getrackte links in e-mails), of volledige controle over klikdata. Het is ook een goed eerste backendproject. Combineer het met een link-in-bio-pagina, en doorloop de beveiligingschecklist voor met AI gebouwde apps voordat je hem voor anderen opent.
Bouwen met Mythex
Bij Mythex beschrijf je de verkorter in de chat en test je de redirects in de live preview. Mythex voegt een eigen database toe voor links en klikken als de app die nodig heeft. Gepubliceerde apps en hun databases gaan in slaapstand als ze niet gebruikt worden en worden wakker bij het volgende bezoek, wat een rustige verkorter goedkoop laat draaien. Publiceer naar een mythex.ai-link, en koppel op Pro je eigen korte domein of koop er een binnen Mythex — zie eigen domeinen. Het sjabloon voor een URL-verkorter is een kant-en-klare startprompt met eigen slugs en klikanalyse.
Veelgestelde vragen
Moet een URL-verkorter een 301- of 302-redirect gebruiken?
Een 301 vertelt browsers dat de verhuizing permanent is, dus ze kunnen hem cachen en je server de volgende keer overslaan. Dat betekent gemiste klikken en links die je niet meer kunt wijzigen. De meeste verkorters die klikken bijhouden of bewerking toestaan, gebruiken 302- of 307-tijdelijke redirects.
Hoe worden korte codes gegenereerd?
Ofwel als willekeurige reeksen van letters en cijfers, gecontroleerd op bestaande codes, of door een database-ID te coderen in base 62. Willekeurige codes zijn moeilijker te raden; oplopende codes onthullen hoeveel links er zijn. Zes of zeven willekeurige tekens geven miljarden combinaties.
Heb ik een kort domein nodig?
Niet om te werken, maar het doel van een verkorter is een korte, betrouwbare link. Een kort eigen domein dat je bezit, betekent ook dat de links blijven werken als je van hosting verandert.
Hoe voorkom ik dat mensen een openbare URL-verkorter misbruiken?
Vereis een account om links aan te maken, beperk het aantal aanmaakacties, controleer bestemmingen tegen een lijst met kwaadaardige URL's zoals Google Safe Browsing, blokkeer je eigen domein als bestemming, en zorg dat je snel links kunt uitschakelen.