URL Slug Generator

Konverter enhver titel til et rent URL-slug i din browser — én ad gangen eller en hel liste på én gang. Ægte translitteration til specialtegn, redigerbare regler, og intet bliver nogensinde uploadet til en server.

Udfyld teksten til konvertering
Avancerede indstillinger
Translitterationsregler
Tegn Latinsk Position i ordet
Ææ
Øø
Åå

Et slug er den læsbare hale af en webadresse — my-first-post i example.com/blog/my-first-post. Det er den del, en person kan læse, før de beslutter sig for at klikke, og den del, en søgemaskine læser som en kort beskrivelse af, hvad siden indeholder, hvilket er grunden til, at det fortjener mere omtanke end et database-id eller en dato. Denne gratis generator forvandler enhver tekst til et: indsæt en titel i "Tekst til konvertering", tryk på "Generér", og resultatet vises med en kopiknap ved siden af. Standardindstillingerne er de indstillinger, de fleste hjemmesider ønsker — små bogstaver, bindestreger mellem ord, almindelige fyldord fjernet, ikke-latinske bogstaver translittereret — så et brugbart slug er ét klik væk, og hver af disse beslutninger er en kontakt, du kan ændre.

Alt sker på din egen enhed. Siden indlæser en lille JavaScript-motor og kører den lokalt: dine titler bliver aldrig uploadet, aldrig logget, og værktøjet fortsætter med at fungere, selv når forbindelsen er afbrudt. Det er også grunden til, at resultatet opdateres i det øjeblik, du ændrer en indstilling. Rækkefølgen af arbejdet er værd at nævne, fordi den gør outputtet forudsigeligt: et indsat link reduceres først til det sidste segment af stien, derefter ændres teksten til små bogstaver, stopord fjernes, ikke-latinske tegn translittereres, tal og specialtegn fjernes, hvis du har bedt om det, og derefter samles alt det resterende med din valgte separator. Derefter afkortes resultatet til den maksimale længde, og til sidst får en gentagelse et numerisk suffiks. "Tekst til konvertering" accepterer op til 500.000 tegn ad gangen, hvilket svarer til et par tusind artikeltitler.

Én linje ind, ét slug ud. Indsæt en hel liste af titler, og hver linje bliver til sit eget nummererede slug, hvor den oprindelige titel vises ovenover i gråt, så du i et parti på halvtreds stadig kan se, hvilket slug der hører til hvilken overskrift. En liste, der allerede findes i en fil, behøver ikke at gå gennem udklipsholderen: "Indlæs fra fil", knappen ved siden af inputfeltet, åbner en almindelig tekstfil — .txt, .csv, .md, .json og lignende — og slipper indholdet ned i feltet. Din browser læser filen på præcis samme måde, som den læser det, du skriver, og den bliver ikke uploadet nogen steder. "Opdel input efter" bestemmer, hvordan listen bliver skåret fra hinanden. "Automatisk" er standard: et linjeskift adskiller altid elementer, mens et komma kun adskiller dem, når inputtet er en enkelt linje, hvor delene alle ser ud som selvstændige værdier — så "pris 3,5 EUR" og "Kapitel 5: resultater, konklusioner" forbliver hele i stedet for at blive splintret i fragmenter. "Linjeskift", "Komma" og "Mellemrum" tvinger valget, når du allerede kender formen på dine data. "Outputformat" bestemmer, hvordan et parti kommer tilbage, når du tager det — én per linje, adskilt med mellemrum eller adskilt med komma — og både "Kopiér alt" og "Gem som fil" følger det. "Historik" gemmer dine sidste 10 partier i din egen browser, så en liste, du konverterede for en time siden, stadig er der.

Ikke-latinsk tekst er den del, de fleste slug-generatorer får nogenlunde rigtigt, men som få får helt rigtigt. En URL er sikrest i ren ASCII, så kyrilliske, græske, arabiske, kinesiske og europæiske bogstaver med accent skal konverteres, og det eneste reelle spørgsmål er efter hvilken regel. Denne side besvarer det i to lag. Det generelle lag dækker hvert eneste skriftsystem: et translitterationsbibliotek med et fornuftigt ASCII-svar for næsten ethvert tegn, du kan skrive, og det er det lag, der træder til for tegn, ingen tabel dækker. Det specifikke lag er et sæt håndbyggede tabeller til sprog, hvor det generiske svar ikke er det, landet faktisk bruger; dansk er et af dem, og listen udvides, efterhånden som værktøjet når sprog, der har brug for en. Ved at vælge en af dem indlæses dens tabel i et redigerbart gitter under "Translitterationsregler", hvor hvert bogstav er et tekstfelt, du kan ændre, og "Nulstil regler til standard" sætter det tilbage. Dansk har sin egen tabel her, hvor for eksempel æ → ae, ø → oe og å → aa som standard. For at vise, at standarderne virkelig varierer: den ukrainske standard følger Ministerkabinettets resolution nr. 55.

"Fjern stopord" er slået til som standard. Den fjerner de små bindeord — som en, et, og, i, på — der forlænger et slug uden at tilføje mening til det. Listen under "Stopord" er fuldt redigerbar og leveres allerede udfyldt: en engelsk liste plus en liste for det sprog, siden er på, så den danske side kender og, i, at, en, et og på. Tilføj dine egne ord, slet dem du vil beholde, eller slå funktionen helt fra, i hvilket tilfælde feltet bliver gråt i stedet for at foregive, at det stadig har betydning. To ærlige bemærkninger om dette. At fjerne stopord er en lille oprydningsgevinst snarere end et rangordningsværktøj — du får en kortere, renere adresse, ikke en bedre position i søgemaskinerne. Og hvis hvert eneste ord i en titel tilfældigvis står på listen, er det ærlige resultat ingenting overhovedet, så værktøjet fortæller dig det i stedet for at give dig et tomt felt.

Resten af kontakterne bestemmer formen. "Separator i slug" vælger, hvad der sidder mellem ordene, og bindestregen som standard er ikke et spørgsmål om smag: Google læser en bindestreg som en ordadskiller og en understregning som et bindesymbol, så my_first_post når en crawler som ét langt ord, mens my-first-post når den som tre. "Understregning (_)" er der for de systemer, der insisterer på det. "Små bogstaver" er slået til, fordi de fleste servere behandler adresser som store og små bogstaver, og blandede store og små bogstaver er en nem måde at ende med to URL'er til den samme side. "Fjern specialtegn" fjerner alt, der ikke er et bogstav, tal, mellemrum, bindestreg eller understregning, hvilket holder tegnsætning, anførselstegn og emoji ude af en adresse — emoji fjernes specifikt før translitteration, så en raket ikke bliver til ordet rocket. "Fjern tal" er slået fra, fordi et tal i en titel normalt er en del af titlen. "Maks. længde" løber fra 10 til 200 og er som standard 80; når et slug er længere end det, skærer motoren ved det sidste hele ord, der passer, i stedet for midt i et. Tallet ved siden af hvert resultat er dets længde i tegn, og det bliver rødt efter 60 — ikke en hård grænse, men det punkt, hvor et slug begynder at blive afkortet i søgeresultater og bliver besværligt at indsætte i en besked.

Der findes to kontakter mere, fordi de forvandler en bulkkonvertering tilbage til en opgave med ét klik. "Gør slugs unikke" fanger det tilfælde, hvor to forskellige titler reduceres til det samme slug — "Top 10 tips" og "Top-10 tips" bliver begge til top-10-tips — og giver den anden et -2, den tredje et -3, idet basen først forkortes, hvis suffikset ville skubbe det forbi din maksimale længde. To sider på én adresse er et problem, der er langt billigere at fange i denne liste end i dit CMS. "Hent slug fra en indsat URL" fungerer i den anden retning: indsæt et fuldt link, og værktøjet tager den sidste del af stien, fjerner forespørgselsstrengen og enhver .html eller .php-endelse og afkoder procentkodning, så en Wikipedia-adresse, der slutter på %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, kommer tilbage som lviv i stedet for en række hex-cifre. Det udløses kun, når hele linjen er et link, så en URL, der er citeret inde i en sætning, efterlades, hvor den er.

Hvorfor vælge denne slug-generator?

Slugs er nødvendige, hvor end en side skal have en læsbar adresse. En blog eller et nyhedswebsted forvandler hver overskrift til et slug, hvilket er det scenarie, dette værktøj blev formet omkring: indsæt ugens overskrifter, få ugens URL'er. En webshop gør det samme for produkt- og kategorinavne, normalt i bulk efter en import, og typisk på et sprog, hvis alfabet adressen ikke kan indeholde. Dokumentation og vidensdatabaser opbygger ankre og filnavne på samme måde. Ud over webadresser er den samme rene streng, hvad du ønsker for et filnavn, der ikke går i stykker på et andet styresystem, en databasenøgle, som en person kan læse i en log, et branchenavn, et billednavn i et mediebibliotek eller identifikatoren for en sektion i en statisk sidegenerator. Ethvert sted, hvor et menneskelæsbart navn skal overleve at blive lagt i et maskinlæsbart felt, er et sted, hvor et slug hører hjemme.

Et par begrænsninger er værd at kende til, før du stoler på det. Dette er en generator, ikke en validator: den kontrollerer ikke, om et slug allerede er taget på din hjemmeside, fordi den ingen idé har om, hvad dit websted indeholder — den unikhed, den garanterer, er inden for det parti, du har foran dig. Omdirigeringer er også dit job; at ændre slugget på en udgivet side ødelægger dens gamle adresse, og det er en beslutning for dit CMS snarere end for dette værktøj. "Gem som fil" skriver ren tekst, ikke CSV eller JSON. Den automatiske opdeling træffer en beslutning om kommaer, der er rigtig i næsten alle tilfælde, men ikke i dem alle, hvilket er præcis hvorfor "Opdel input efter" lader dig underkende det. Og translitteration er en konvention snarere end en oversættelse — København bliver til koebenhavn, ikke Copenhagen — så når en side har et etableret navn på målsproget, er det navn et bedre slug end en automatisk konvertering af originalen.

FAQ

Hvordan opretter jeg et URL-slug?

Indsæt din titel i "Tekst til konvertering", og tryk på "Generér". Resultatet vises med en kopiknap ved siden af, konverteret med de standardindstillinger, de fleste hjemmesider ønsker: små bogstaver, bindestreger mellem ord, fyldord fjernet og ikke-latinske bogstaver translittereret. Hver af disse er en kontakt, du kan ændre, og "Avancerede indstillinger" indeholder resten — separator, maksimal længde, liste over stopord og translitterationsregler.

Kan jeg konvertere en hel liste af titler på én gang?

Ja. Indsæt op til 500.000 tegn — et par tusind overskrifter — eller træk dem direkte ud af en fil med "Indlæs fra fil", knappen ved siden af inputfeltet, som læser den i din browser uden at uploade den. Hver linje bliver til sit eget slug, nummereret, med titlen, det kom fra, vist ovenover, så du kan matche dem. "Opdel input efter" styrer, hvordan listen er delt op, "Outputformat" bestemmer, om partiet kommer tilbage som linjer, adskilt med mellemrum eller adskilt med komma, og "Kopiér alt" og "Gem som fil" tager begge det hele på én gang.

Hvordan håndterer generatoren kyrilliske og accenterede bogstaver?

Den translittererer dem til ASCII i to lag. Ethvert alfabet — kyrillisk, græsk, arabisk, kinesisk, latinsk med accent — er dækket af et generelt translitterationsbibliotek, som træder til for de tegn, ingen tabel dækker. Oven på dette sidder håndbyggede tabeller til de sprog, hvor det generiske svar ikke er det, landet faktisk bruger — dansk er et af dem. På denne side vælger du variant under "Translitterationsvariant", og tabellen indlæses i et gitter, hvor hvert bogstav kan redigeres.

Hvilken translitterationsstandard bruges der for dansk?

Værktøjet bruger en dansk standard, der automatisk ændrer æ → ae, ø → oe og å → aa, hvilket er det, man oftest ser i webadresser. Hvert sprog har sine egne regler; for eksempel følger den ukrainske standard Ministerkabinettets resolution nr. 55 fra 2010. For det danske sprog sikrer tabellen, at bogstaverne bliver omsat til almindelige ASCII-tegn på en forudsigelig måde.

Kan jeg ændre, hvordan et bestemt bogstav translittereres?

Ja. Åbn "Translitterationsregler", og hvert bogstav i tabellen er et tekstfelt: skriv det, du ønsker bogstavet skal blive til, og resultatet opdateres, mens du skriver. Rydning af et felt fjerner bogstavet helt. Dine ændringer huskes i din egen browser til næste gang, og "Nulstil regler til standard" gendanner standardtabellen, når du vil have den tilbage.

Hvad er stopord, og skal jeg fjerne dem?

Det er de små bindeord — en, et, og, i, på — der gør et slug længere uden at gøre det mere klart. Fjernelse af dem er slået til som standard, og listen under "Stopord" kan redigeres, og den leveres forudfyldt med en engelsk liste plus en for det sprog, siden er på. Vær dog ærlig om fordelen: det giver en kortere, pænere adresse, ikke en bedre søgeposition. Hvis en titel udelukkende består af stopord, siger værktøjet det i stedet for at returnere et tomt slug.

Skal jeg bruge bindestreger eller understregninger i et slug?

Bindestreger, medmindre noget i din tekniske opsætning kræver andet. Google behandler en bindestreg som en adskillelse mellem ord og en understregning som et tegn, der forbinder dem, så my_first_post læses som ét enkelt langt ord, mens my-first-post læses som tre. Generatoren bruger bindestreg som standard af den grund; "Separator i slug" tilbyder "Understregning (_)" til de systemer, der har brug for det.

Hvor langt bør et URL-slug være?

Kort nok til at kunne læses med et enkelt blik — de første par ord bærer meningen, og resten er normalt slutningen på en sætning. Tallet ved siden af hvert resultat er dets længde i tegn og bliver rødt efter 60, hvilket nogenlunde er der, hvor søgeresultater begynder at afkorte det, og hvor det bliver besværligt at indsætte i en besked. "Maks. længde" sætter et hårdt loft fra 10 til 200 tegn og er som standard 80.

Skærer den ord midt over, når slugget er for langt?

Nej. Når et slug overskrider den maksimale længde, bakker motoren tilbage til det sidste hele ord, der passer ind, og skærer der, så et afkortet slug stadig læses som ord i stedet for at ende midt i en stavelse. Det samme gælder, når der tilføjes et numerisk suffiks til en gentagelse: basen forkortes først, så det færdige slug stadig respekterer din grænse.

Hvad sker der, hvis to titler producerer det samme slug?

"Gør slugs unikke" er slået til som standard og håndterer det: den første forekomst beholder det almindelige slug, den anden får -2, den tredje -3 osv. Den fanger det almindelige tilfælde, hvor to forskellige titler reduceres til det samme — "Top 10 tips" og "Top-10 tips" bliver begge til top-10-tips. Hvis du slår det fra, får du det rå output med dubletterne intakte. Bemærk, at unikhed kun er garanteret inden for det parti, du lige har konverteret; værktøjet kan ikke vide, hvad der allerede findes på dit websted.

Kan jeg indsætte en URL i stedet for en titel?

Ja. "Hent slug fra en indsat URL" er slået til som standard, og når en hel linje er et link, trækker værktøjet den sidste del af stien ud, fjerner forespørgselsstrengen og enhver .html eller .php-endelse og afkoder procentkodning — så en Wikipedia-adresse, der slutter på %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, kommer tilbage som lviv i stedet for en række hex. Det udløses kun på en linje, der udelukkende er et link, så en URL citeret i en sætning behandles som almindelig tekst.

Bliver min tekst sendt til en server?

Nej. Konverteringen kører i din browser som lokal JavaScript. Intet uploades, intet logges, og når siden først er indlæst, fortsætter den med at fungere uden forbindelse. Ikke-udgivne overskrifter, interne produktnavne og klientarbejde forbliver på din maskine, hvilket er den praktiske grund til at foretrække et lokalt værktøj frem for et serverbaseret til denne specifikke opgave.

Hvorfor blev min enkelte sætning delt i to slugs?

Fordi den indeholdt et komma, og "Opdel input efter" var indstillet til "Automatisk". Den tilstand behandler et linjeskift som en bestemt separator og et komma som en sandsynlig, og den deler kun ved kommaer, når delene af en enkelt linje alle ser ud som selvstændige værdier — en decimal som 3,5 eller en sætning med et kolon efterlades bevidst hel. Når en titel alligevel bliver delt, og det ikke var meningen, skal du indstille "Opdel input efter" til "Linjeskift", og inputtet vil kun blive skåret, hvor du faktisk trykkede på Enter.