Generatore di Slug URL

Trasforma i titoli in slug URL puliti nel browser — uno alla volta o in blocco. Veri standard di traslitterazione per cirillico e accenti, regole modificabili, niente viene mai caricato online.

Compila il testo per la conversione
Opzioni avanzate

Lo slug è la parte leggibile alla fine di un indirizzo web — il my-first-post in example.com/blog/my-first-post. È la parte che una persona può leggere prima di decidere se cliccare, e quella che un motore di ricerca analizza come breve descrizione del contenuto della pagina, motivo per cui merita più attenzione di un ID del database o di una data. Questo generatore gratuito trasforma qualsiasi testo in uno slug: incolla un titolo in "Testo da convertire", premi "Genera", e il risultato appare con un pulsante di copia accanto. Le impostazioni predefinite corrispondono a ciò che la maggior parte dei siti desidera — minuscole, trattini tra le parole, rimozione delle parole vuote comuni e traslitterazione delle lettere non latine — così da ottenere uno slug utilizzabile con un solo clic, ma ognuna di queste decisioni è un'opzione che puoi modificare liberamente.

Tutto avviene sul tuo dispositivo. La pagina carica un piccolo motore JavaScript e lo esegue localmente: i tuoi titoli non vengono mai caricati né registrati, e lo strumento continua a funzionare anche se la connessione è disattivata. Questo è anche il motivo per cui il risultato si aggiorna nell'istante in cui cambi un'impostazione. L'ordine delle operazioni merita di essere precisato, perché è ciò che rende prevedibile il risultato: un link incollato viene prima ridotto al suo ultimo segmento, poi il testo viene convertito in minuscolo, le parole vuote vengono scartate, i caratteri non latini vengono traslitterati, i numeri e i caratteri speciali vengono rimossi se lo hai richiesto, ciò che rimane viene unito con il tuo separatore, il risultato viene troncato alla lunghezza massima e infine a un duplicato viene aggiunto un suffisso numerico. "Testo da convertire" accetta fino a 500.000 caratteri in una volta sola, il che equivale a qualche migliaio di titoli di articoli.

Una riga in entrata, uno slug in uscita. Incolla un intero elenco di titoli e ogni riga diventerà il proprio slug numerato, con il titolo da cui proviene mostrato sopra in grigio, in modo che in un blocco di cinquanta tu possa ancora distinguere a quale intestazione appartiene ogni slug. Un elenco già presente in un file non deve passare dagli appunti: "Carica da file", il pulsante accanto alla casella di input, apre un file di testo normale — .txt, .csv, .md, .json e simili — e inserisce il suo contenuto nel campo. Il tuo browser legge quel file esattamente come legge ciò che digiti, e non viene caricato da nessuna parte. "Dividi l'input per" decide come viene tagliato l'elenco. L'impostazione "Automatico" è predefinita: un'interruzione di riga separa sempre gli elementi, mentre una virgola li separa solo quando l'input è una singola riga le cui parti sembrano tutte valori indipendenti — in questo modo "prezzo 3,5 EUR" e "Capitolo 5: risultati, conclusioni" rimangono integri invece di frammentarsi. "Nuova riga", "Virgola" e "Spazio" forzano la scelta quando conosci già la struttura dei tuoi dati. "Formato del risultato" decide come viene restituito un blocco quando lo copi — uno per riga, separati da spazi o separati da virgole — e sia "Copia tutto" che "Salva su file" seguono questa preferenza. La "Cronologia" conserva i tuoi ultimi 10 blocchi nel tuo browser, quindi un elenco che hai convertito un'ora fa è ancora lì.

Il testo non latino è la parte che la maggior parte dei generatori di slug gestisce in modo approssimativo, e pochissimi risolvono esattamente. Un URL è più sicuro nel formato ASCII di base, quindi le lettere cirilliche, greche, arabe, cinesi e quelle europee accentate devono essere convertite, e l'unica vera domanda è secondo quale regola. Questa pagina lo risolve in due livelli. Il livello generale copre qualsiasi alfabeto: una libreria di traslitterazione che offre una risposta ASCII sensata per quasi tutti i caratteri che puoi digitare, ed è ciò che "Traslittera da" fa quando è impostato su "Automatico (qualsiasi lingua)". Il livello specifico è un insieme di tabelle costruite a mano per le lingue in cui la risposta generica non coincide con quella effettivamente usata nel paese; il menu "Traslittera da" indica quali lingue dispongono oggi di una tabella, e l'elenco cresce man mano che lo strumento raggiunge nuove lingue che ne necessitano. Scegliendone una, la sua tabella viene caricata in una griglia modificabile sotto "Regole di traslitterazione", dove ogni lettera è un campo di testo che puoi cambiare, e "Ripristina le regole" riporta tutto alle condizioni standard. La tabella ucraina segue la Risoluzione del Consiglio dei Ministri n. 55 del 2010, lo standard stampato sui passaporti ucraini, compresi quei dettagli facili da sbagliare: зг diventa zgh anziché zh per rimanere distinto da ж; le lettere є, ї, й, ю e я assumono una forma all'inizio di una parola e un'altra all'interno; e l'apostrofo e il segno debole vengono rimossi senza iniziare una nuova parola, così Знам'янка diventa znamianka e non znamyanka. Il tedesco usa come impostazione predefinita le forme estese ä → ae, ö → oe, ü → ue che gli indirizzi tedeschi effettivamente adoperano, con una semplice variante ä → a se lo preferisci.

"Rimuovi le parole vuote" è attivo per impostazione predefinita. Scarta quelle piccole parole di collegamento — il, la, e, di, per — che allungano uno slug senza aggiungervi significato. L'elenco sotto "Parole vuote" è completamente modificabile e arriva già compilato: un elenco in inglese più un elenco per la lingua della pagina in cui ti trovi, per cui la pagina italiana conosce il, lo, la, i, gli e le. Aggiungi le tue parole personali, elimina quelle che vuoi mantenere o disattiva del tutto la funzione, nel qual caso il campo si ingrigirà invece di fingere di avere ancora rilevanza. Due note sincere al riguardo. Rimuovere le parole vuote è un piccolo guadagno in termini di ordine, piuttosto che una leva per il posizionamento: ottieni un indirizzo più corto e pulito, non un posto migliore nelle ricerche. E se capita che ogni singola parola di un titolo sia presente nell'elenco, il risultato onesto è il nulla assoluto, per cui lo strumento te lo farà sapere invece di consegnarti una casella vuota.

Il resto delle opzioni definisce la forma. "Separatore nello slug" sceglie cosa va inserito tra le parole, e l'impostazione predefinita del trattino non è una questione di gusto: Google legge un trattino come separatore di parole e un trattino basso come elemento di unione, quindi my_first_post raggiunge un crawler come un'unica parola lunga, mentre my-first-post ci arriva come tre parole separate. Il "Trattino basso (_)" è presente per i sistemi che lo pretendono. L'opzione "Minuscole" è attiva perché la maggior parte dei server considera gli indirizzi sensibili alle maiuscole, e usare un mix di maiuscole e minuscole è un modo semplice per ritrovarsi con due URL per una singola pagina. "Rimuovi i caratteri speciali" scarta tutto ciò che non è una lettera, un numero, uno spazio, un trattino o un trattino basso, ed è ciò che tiene fuori da un indirizzo la punteggiatura, le virgolette e le emoji — le emoji in particolare vengono rimosse prima della traslitterazione affinché un razzo non si trasformi nella parola rocket. "Rimuovi i numeri" è disattivato, perché un numero in un titolo di solito fa parte del titolo stesso. "Lunghezza max" va da 10 a 200 con un valore predefinito di 80; quando uno slug supera quella lunghezza il motore lo taglia all'ultima parola intera che vi rientra, piuttosto che interromperlo a metà. Il numero accanto a ciascun risultato è la sua lunghezza in caratteri, e diventa rosso oltre i 60 — non un limite rigido, ma il punto in cui uno slug inizia a essere troncato nei risultati di ricerca e diventa scomodo da incollare in un messaggio.

Esistono altri due interruttori che servono a riportare una conversione massiva alla praticità di un solo clic. "Slug univoci" rileva il caso in cui due titoli diversi si riducono allo stesso slug — "Top 10 consigli" e "Top-10 consigli" diventano entrambi top-10-consigli — e assegna al secondo un -2, al terzo un -3, accorciando preventivamente la base se il suffisso spingesse lo slug oltre la lunghezza massima. Due pagine allo stesso indirizzo rappresentano un problema che costa molto meno individuare in questo elenco rispetto al tuo CMS. "Prendi lo slug da un URL incollato" funziona nella direzione opposta: incolla un link completo e lo strumento estrarrà l'ultima parte del percorso, scarterà la stringa di query e qualsiasi estensione .html o .php, e decodificherà la codifica percentuale, in modo che un indirizzo Wikipedia che termina con %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 ritorni come lviv al posto di una sequenza di cifre esadecimali. Questa opzione si attiva solo quando l'intera riga è un link, di conseguenza un URL citato all'interno di una frase viene lasciato dov'è.

Perché scegliere questo generatore di slug?

Gli slug sono necessari ovunque una pagina debba riportare un indirizzo leggibile. Un blog o un sito di notizie trasforma ogni titolo in uno slug, che è esattamente il caso per cui questo strumento è stato concepito: incolli i titoli della settimana, ottieni gli URL della settimana. Un negozio online fa lo stesso per i nomi dei prodotti e delle categorie, di solito in blocco dopo un'importazione, e molto spesso in una lingua il cui alfabeto non può figurare nell'indirizzo. La documentazione e le basi di conoscenza costruiscono ancore e nomi di file allo stesso modo. Al di là degli indirizzi web, questa stessa stringa pulita è ciò che ti serve per il nome di un file che non darà errori su un altro sistema operativo, per una chiave di database che una persona possa leggere in un file di log, per il nome di un branch, per il nome di un'immagine in un catalogo multimediale o per l'identificatore di una sezione in un generatore di siti statici. Qualsiasi punto in cui un nome leggibile da esseri umani debba sopravvivere all'inserimento in un campo leggibile da macchine è un punto in cui serve uno slug.

Vale la pena conoscere alcuni limiti prima di fare totale affidamento sullo strumento. Si tratta di un generatore, non di un validatore: non controllerà se uno slug è già occupato sul tuo sito, perché non ha idea di cosa contenga il tuo sito — l'univocità che garantisce è circoscritta al gruppo di titoli che hai davanti. Le reindirizzazioni (redirect) sono altrettanto una tua responsabilità; cambiare lo slug di una pagina già pubblicata interrompe il suo vecchio indirizzo, e questa è una decisione che spetta al tuo CMS piuttosto che a questo strumento. L'opzione "Salva su file" scrive semplice testo normale, non CSV né JSON. La divisione automatica delle righe compie una stima sulle virgole che risulta corretta in quasi tutti i casi, ma non nella loro totalità, ed è esattamente il motivo per cui "Dividi l'input per" ti permette di annullarla. Inoltre, la traslitterazione è una convenzione più che una traduzione — München diventa muenchen, non Munich — per cui quando una pagina possiede un nome affermato nella lingua di destinazione, quel nome costituirà sempre uno slug migliore rispetto a qualsiasi conversione automatica dell'originale.

FAQ

Come creo uno slug URL?

Incolla il tuo titolo in "Testo da convertire" e premi "Genera". Il risultato compare con un pulsante di copia a fianco, convertito usando le opzioni predefinite che la maggioranza dei siti richiede: minuscole, trattini tra le parole, parole di riempimento scartate e lettere non latine traslitterate. Ognuna di queste funzioni è un'opzione che puoi cambiare, e le "Opzioni avanzate" custodiscono tutto il resto — separatore, lunghezza massima, elenco delle parole vuote e regole di traslitterazione.

Posso convertire un elenco completo di titoli in una sola volta?

Sì. Incolla fino a 500.000 caratteri — qualche migliaio di intestazioni — o prelevali direttamente da un file usando "Carica da file", il pulsante accanto al campo di immissione, che leggerà il documento nel tuo browser senza caricarlo su server esterni. Ogni riga diventa il proprio slug numerato, mostrando il titolo di origine al di sopra per permetterti di accoppiarli facilmente. "Dividi l'input per" decide come viene tagliato l'elenco, "Formato del risultato" determina se il blocco verrà restituito diviso per righe, separato da spazi o da virgole, ed entrambe le opzioni "Copia tutto" e "Salva su file" prenderanno tutto il risultato in una volta sola.

Come gestisce il generatore l'alfabeto cirillico e le lettere accentate?

Li traslittera in formato ASCII operando su due livelli. Qualunque sistema di scrittura — cirillico, greco, arabo, cinese, lettere latine accentate — è intercettato da una libreria di traslitterazione generale, che è quella usata da "Automatico (qualsiasi lingua)". Oltre a questa, vi sono tabelle costruite su misura per le lingue in cui la risposta generica non coincide con quella effettivamente adoperata nel paese; il menu "Traslittera da" indica quali ne hanno una. Scegliendone una, la rispettiva tabella verrà caricata rendendo ogni lettera personalizzabile.

Quale standard di traslitterazione viene usato per l'ucraino?

La Risoluzione del Consiglio dei Ministri dell'Ucraina n. 55 del 27 gennaio 2010 — lo standard in uso per i passaporti ucraini. Comprende le regole su cui è più facile sbagliare: зг diviene zgh restando distinguibile da ж, le lettere є, ї, й, ю e я adottano una forma all'inizio della parola e una diversa al suo interno, e sia l'apostrofo che il segno debole vengono scartati senza avviare una parola nuova, cosicché Знам'янка diviene znamianka anziché znamyanka. L'italiano non necessita di una tabella specifica, in quanto gli accenti sono supportati in modo eccellente dal livello automatico.

Posso cambiare il modo in cui viene traslitterata una singola lettera?

Sì. Apri "Regole di traslitterazione" e noterai che ogni lettera della tabella è una casella di testo: scrivi la combinazione in cui vorresti che la lettera si trasformasse, e il risultato si aggiornerà in tempo reale. Svuotare un campo eliminerà la lettera per intero. Le tue modifiche verranno memorizzate nel browser per la prossima visita, e "Ripristina le regole" ricaricherà la tabella standard ogni qualvolta vorrai riaverla.

Che cosa sono le parole vuote e dovrei davvero rimuoverle?

Sono le brevi parole di congiunzione — il, un, di, e, per — che allungano uno slug senza renderne più chiaro l'argomento. Rimuoverle è un'operazione attiva per impostazione predefinita e l'elenco in "Parole vuote" può essere modificato, presentandosi precompilato con vocaboli in inglese e in aggiunta quelli della lingua della pagina in cui ti trovi. Bisogna però essere onesti sul reale vantaggio: produrrà un indirizzo più breve e ordinato, non una migliore posizione nelle ricerche. Qualora un titolo fosse interamente composto da parole vuote, lo strumento te lo farà notare anziché restituire uno slug inesistente.

Dovrei usare i trattini o i trattini bassi in uno slug?

I trattini, a patto che non vi sia qualche componente del tuo sistema che pretenda il contrario. Google interpreta un trattino come un separatore di parole e un trattino basso come un elemento che le unisce saldamente, ragion per cui my_first_post viene inteso come un unico lungo vocabolo, laddove my-first-post viene letto come tre parole distinte. Per questo motivo il generatore imposta i trattini di default; tuttavia, "Separatore nello slug" mette a disposizione il "Trattino basso (_)" per quei sistemi che lo richiedono espressamente.

Quanto dovrebbe essere lungo uno slug URL?

Abbastanza corto da poter essere letto con un colpo d'occhio — le primissime parole trasportano il vero significato, mentre il resto in genere rappresenta solo la fine della frase. Il numero affiancato a ogni risultato è la sua lunghezza in caratteri e diventa rosso non appena supera i 60, che è all'incirca la soglia oltre cui i risultati di ricerca cominceranno a tagliarlo, nonché il limite dopo il quale lo slug diviene troppo ingombrante da incollare in un messaggio. "Lunghezza max" pone un limite massimo assoluto compreso tra 10 e 200 caratteri, e possiede un valore predefinito di 80.

Le parole vengono spezzate a metà quando lo slug è troppo lungo?

No. Non appena uno slug oltrepassa la lunghezza massima consentita, il motore fa un passo indietro verso l'ultima parola completa in grado di rientrarvi e lo interrompe esattamente lì, così che uno slug troncato possa ancora essere letto come una sequenza di parole senza finire bruscamente a metà di una sillaba. Lo stesso principio interviene quando si inserisce un suffisso numerico in un doppione: si accorcerà preventivamente la base affinché lo slug ultimato continui a rispettare i limiti da te imposti.

Cosa succede se due titoli danno origine allo stesso identico slug?

"Slug univoci" è attivo per impostazione predefinita e se ne prenderà carico: il primo ritrovamento manterrà lo slug originale, il secondo riceverà un -2, il terzo un -3, e così via. Cattura il classico caso in cui due titoli dissimili vengono ridotti a uno stesso risultato — "Top 10 consigli" e "Top-10 consigli" finiranno entrambi per essere top-10-consigli. Spegnendo questa opzione si produrrà semplicemente l'output grezzo lasciando le ripetizioni intatte. Va fatto notare che l'univocità è assicurata unicamente nell'ambito dei titoli che stai analizzando in questo istante; lo strumento non può in alcun modo sapere cosa sia già stato pubblicato nel tuo sito.

Posso incollare un URL al posto di un titolo?

Sì. "Prendi lo slug da un URL incollato" è l'opzione abilitata di base, e quando un'intera riga si rivela essere un link, lo strumento estrapola l'ultima porzione del percorso ignorando le stringhe di query e le terminazioni del tipo .html o .php, decodificando peraltro i caratteri della codifica percentuale — così che un indirizzo di Wikipedia terminante per %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 emerga sotto forma di lviv e non come una sequenza indecifrabile in codice esadecimale. L'impostazione scatta solo laddove l'intera riga è occupata da un link, cosicché se decidi di includere un URL nel mezzo di una frase, quest'ultimo verrà maneggiato alla stregua del comune testo.

Il mio testo verrà inviato a un server?

No. La conversione viene eseguita all'interno del tuo browser servendosi esclusivamente di JavaScript locale. Niente di tutto questo viene mai caricato né archiviato, e, completato il caricamento della pagina, lo strumento continuerà a lavorare senza connessione a internet. I tuoi articoli non ancora pubblicati, i nomi privati dei prodotti dell'azienda e il materiale confidenziale dei tuoi clienti permangono nella tua macchina, e questo è il motivo d'ordine pratico per anteporre un software locale a uno che lavora su server ogniqualvolta si tratti di compiere questo specifico mestiere.

Perché la mia singola frase è stata frammentata in due slug?

Perché portava con sé una virgola e l'impostazione "Dividi l'input per" era stata posta su "Automatico". Questa modalità si fida a occhi chiusi dei salti di riga trattandoli come netti separatori, laddove valuta una virgola come una semplice possibilità di suddivisione e taglia il testo a livello di tali virgole unicamente quando tutte le porzioni sembrano apparire come valori a sé stanti — un decimale come 3,5 o una frase corredata di due punti verranno mantenuti intatti di proposito. Se un titolo persiste nel dividersi quando non dovrebbe, è sufficiente regolare "Dividi l'input per" su "Nuova riga" per far sì che il testo venga interrotto in corrispondenza del preciso momento in cui hai premuto il tasto Invio.