Che cosa rende buono uno slug di URL: stabilità, leggibilità e il conflitto fra le due
Pubblicato il 26/11/2025 · 14 min di lettura · Strumenti marketing e SEO
Uno slug è la parte leggibile del percorso di un URL, e gli si chiedono due cose incompatibili: restare identico per sempre, perché ogni link e ogni segnale di posizionamento puntano alla stringa esatta, e leggersi bene, perché lo vedono sia le persone sia i motori. Ottimizzare la leggibilità significa riscriverlo quando il titolo migliora; ottimizzare la stabilità significa non toccarlo mai. Google raccomanda il trattino invece del trattino basso, parole nella lingua di chi legge e la codifica percentuale per tutto ciò che esce dall'ASCII — ed è lì che la leggibilità si rompe, perché uno slug tedesco di 27 caratteri diventa 37 una volta codificato e uno CJK di quattro diventa 36. Questo sito risolve il conflitto separando i due compiti: un identificatore interno che non cambia mai e un segmento pubblico derivato dal titolo proprio di ogni lingua, con un tetto di 70 caratteri e le parole vuote rimosse solo se quel tetto viene superato. Nell'esecuzione del 9 agosto 2026 ciò ha prodotto sei slug pubblici distinti per tutti i 1736 strumenti e i 631 articoli, con due collisioni risolte in modo deterministico. Se uno slug deve cambiare, reindirizza in modo permanente: i crawler di Google seguono fino a dieci salti di reindirizzamento, quindi le catene si sopravvivono ma non sono gratuite, e un reindirizzamento temporaneo non trasmette alcun segnale canonico.
Uno slug ha due compiti che tirano in direzioni opposte: è un identificatore permanente ed è un testo leggibile. Lunghezza, trattini, parole vuote, date, caratteri non ASCII e il modello identificatore + slug che ottiene entrambe le proprietà — con i numeri reali di un sito che localizza 1736 slug di strumenti in sei lingue.
Due compiti, una sola stringa
Lo slug è l'ultimo segmento del percorso di un URL — la parte che dice che cos'è la pagina. È allo stesso tempo un identificatore, perché link, segnalibri, righe di analytics e qualunque memoria di posizionamento tenga un motore sono tutti indicizzati sulla sequenza di byte esatta, e un'etichetta, perché compare nella barra degli indirizzi, in un messaggio condiviso e spesso nel risultato stesso. Gli identificatori vogliono essere immutabili. Le etichette vogliono essere migliorate. È tutta qui la tensione, e ogni regola sugli slug è un modo di gestirla.
Il lato identificatore è quello costoso da sbagliare. Cambia uno slug e ogni link esterno punta a un URL che non esiste più. Un reindirizzamento permanente lo ripara: la documentazione di Google indica che la pipeline di indicizzazione usa un reindirizzamento permanente come segnale che la destinazione debba essere canonica, mentre un reindirizzamento temporaneo esplicitamente non viene usato così. Il tipo di reindirizzamento pesa quindi più di quanto si creda, e l'istinto diffuso di mettere un 302 perché il cambiamento sembra reversibile è esattamente rovesciato.
I reindirizzamenti si accumulano anche. La documentazione di Google indica che per impostazione predefinita i suoi crawler seguono fino a dieci salti di reindirizzamento. Dieci è un budget generoso, ma è un budget, e un sito che rinomina i propri slug ogni due anni lo spende in silenzio: un link di otto anni può già trovarsi a quattro salti dalla pagina. Ogni salto è inoltre un viaggio di andata e ritorno in più per una persona con connessione lenta. La regola pratica non è «non concatenare mai» ma «appiattire»: quando aggiungi il salto numero due, riscrivi il salto numero uno perché punti alla destinazione finale.
Trattini, trattini bassi e perché la convenzione esiste
La guida di Google sulla struttura degli URL è qui insolitamente diretta: raccomanda il trattino invece del trattino basso per separare le parole, perché aiuta utenti e motori a identificare meglio i concetti nell'URL. La ragione è storica e meccanica, non estetica. Un tokenizzatore taglia sui caratteri che non sono caratteri di parola, e il trattino basso è stato tradizionalmente trattato come carattere di parola — la convenzione che permette a un identificatore come max_speed di restare un solo token nel codice sorgente. Così scarpe_rosse può tokenizzarsi come un termine e scarpe-rosse come due.
Se qualche motore moderno si comporti ancora così non è verificabile da fuori, e conta poco: la convenzione è ormai così universale che uno slug con trattini bassi segnala soprattutto un sito che nessuno guarda da un decennio. L'unico punto in cui la distinzione morde ancora forte è un trattino dentro una parola composta. In tedesco un composto è una sola parola, quindi uno slug che lo spezza con un trattino divide un termine che dovrebbe restare intero. Questo sito lo risolve derivando lo slug tedesco dal titolo tedesco, che il composto lo scrive già in una parola, invece di tradurre parola per parola uno slug inglese.
Lunghezza, e dove un risultato smette di mostrare il percorso
Nessuno pubblica un limite di caratteri per gli slug, perché non esiste. Quel che esiste è un budget di visualizzazione: un risultato mostra il nome del sito e un percorso accorciato, e la barra degli indirizzi di un browser ha larghezza finita. Entrambi troncano, entrambi troncano diversamente su un telefono, e nessuno dei due è documentato. Una regola di lunghezza si sceglie, quindi, non si consulta. Questo sito ha scelto 70 caratteri, e il corpus contiene ormai slug che li raggiungono esattamente — il più lungo è lo slug portoghese di 70 caratteri quantos-montantes-parede-preciso-estrutura-por-espacamento-comprimento.
La parte interessante è che cosa succede quando un titolo supera il budget. Troncare a metà parola produce uno slug che si legge come un errore. Troncare a un confine di parola fa perdere le parole arrivate per ultime, che nella maggior parte delle lingue sono quelle specifiche. Il generatore qui fa altro: prima rimuove le parole vuote — il, lo, la, i, gli, le, di, del, della, un, una, e, per, tuo, tua in italiano, e gli elenchi corrispondenti nelle altre cinque lingue — e solo dopo elimina parole in coda, senza mai scendere sotto tre. Quest'ordine conta, perché una parola vuota è l'unica parte di uno slug che non porta segnale di ricerca e costa caratteri veri.
C'è un secondo taglio che avviene prima di tutto questo. Un titolo della forma «Titolo principale: il qualificatore» o «Titolo principale (un inciso)» contiene due cose, e solo il titolo appartiene a un percorso — il qualificatore è ciò a cui serve una meta description. Il generatore quindi elimina gli incisi fra parentesi e taglia ai primi due punti o alla prima lineetta prima ancora di sluggificare. Questa sola regola elimina la maggior parte dei problemi di lunghezza prima che l'elenco di parole vuote venga mai consultato.
La questione del non ASCII, risolta sei volte
La guida di Google raccomanda parole nella lingua di chi legge, traslitterate quando ha senso, e la codifica percentuale per tutto ciò che esce dall'intervallo ASCII. Queste due frasi sono in tensione per ogni lingua con accenti, e la tensione si misura. Codifica la locuzione tedesca grundstücksfläche-berechnen e 27 caratteri diventano 37 — un'espansione del 37,0 %, perché ü e ä costano sei caratteri ciascuno, %C3%BC e %C3%A4. Uno slug spagnolo con una sola ñ cresce del 19,2 %. Uno slug cirillico di quindici caratteri diventa di 85, 5,67 volte più lungo. Uno slug CJK di quattro caratteri diventa di 36, nove volte più lungo.
Che questo conti o meno dipende interamente da dove l'URL verrà visto. Un browser moderno decodifica il percorso in caratteri leggibili nella barra degli indirizzi, quindi chi legge sul sito vede gli accenti. Incolla lo stesso URL in una mail in testo semplice, in un client di messaggistica che non decodifica, in un report di analytics, in un foglio di calcolo, in una riga di log o in una diapositiva stampata, e chi legge vede i segni di percentuale. Un URL viene copiato più spesso di quanto venga digitato, e la copia atterra nel contesto brutto abbastanza spesso da rendere questo un costo reale, non teorico.
Questo sito divide la differenza per lingua invece di fingere che una risposta vada bene per tutte e sei. Il tedesco mappa ä, ö, ü e ß su ae, oe, ue e ss, che è la normale convenzione tedesca per il testo ASCII e dà grundstuecksflaeche-berechnen in 29 caratteri — otto in meno della forma codificata, e leggibile ovunque. Le altre cinque tolgono invece il segno diacritico, quindi contraseñas diventa contrasenas e régime diventa regime. Nessuna delle due scelte è sbagliata; sono risposte diverse alla domanda su come chi legge in quella lingua si aspetta che appaia una parola spogliata.
Sei lingue, sei slug, un solo identificatore
Il modello che ottiene entrambe le proprietà insieme è vecchio e poco brillante: tenere un identificatore stabile che non cambia mai e lasciare che la parte leggibile sia derivata invece che scritta. I forum e i tracker di ticket lo fanno con un id numerico seguito da uno slug, così /42/un-vecchio-titolo e /42/qualsiasi-cosa risolvono entrambi, e lo slug può essere riscritto senza rompere un link. Questo sito fa lo stesso con un identificatore testuale invece di un numero: il nome in registro di uno strumento o di un articolo non si muove mai, e il segmento pubblico è generato dal titolo proprio di quell'elemento in ogni lingua.
L'esecuzione del 9 agosto 2026 ha coperto 1736 strumenti e 631 articoli su sei locale. Niente è ricaduto sull'identificatore per mancanza di testo utilizzabile, ed esattamente due slug di strumenti e due di articoli sono entrati in collisione dentro una locale e sono stati disambiguati aggiungendo la parte distintiva dell'identificatore — in modo deterministico, quindi una nuova esecuzione produce un output identico byte per byte. La divergenza è il numero interessante: in francese, spagnolo, portoghese e italiano tutti i 1736 slug di strumenti differiscono dall'identificatore, in tedesco 1705 di essi, e in inglese solo 397, perché gli identificatori erano inglesi in partenza.
Derivare lo slug dal titolo tradotto risolve anche un problema a cui nessuno pensa finché non ci sbatte contro: l'elisione. Uno strumento francese chiamato Calculateur d'IMC non deve diventare calculateur-dimc, e uno italiano chiamato Calcolatrice dell'IVA non deve diventare calcolatrice-delliva. Il generatore trasforma l'apostrofo in un confine e poi elimina la particella elisa, così diventano calculateur-imc e calcolatrice-iva. È una regola specifica della lingua, senza equivalente inglese, ed è il tipo di cosa che una tabella di traduzione scritta a mano sbaglia alla voce numero quattrocento.
Le date, e le altre cose che scadono dentro un percorso
Una data in uno slug è una promessa di cui ti pentirai. Non è una questione di posizionamento — nessuno ha dimostrato che un anno nel percorso aiuti o danneggi — è una questione di manutenzione. Nel momento in cui l'articolo viene aggiornato, il percorso dice qualcosa di falso, e le due vie d'uscita sono entrambe cattive: lasciarlo scaduto, oppure rinominare e reindirizzare. I blog che mettono /2019/03/ nel percorso hanno lo stesso problema un livello più su, e di solito lo risolvono non aggiornando mai nulla.
La stessa logica vale per tutto ciò che descrive uno stato e non un soggetto: un numero di versione, un prezzo, una stagione, un paese in cui spedisci adesso, la parola «nuovo». Metti lo stato nella pagina e nei dati strutturati, dove cambiarlo non costa nulla, e lascia che il percorso descriva la cosa. Se la data fa davvero parte dell'identità — le regole fiscali di un anno preciso, il calendario di una stagione precisa — allora ci sta, perché quella pagina parla davvero di quell'anno e non verrà mai aggiornata per parlare di un altro.
| Decisione | Se ottimizzi la leggibilità | Se ottimizzi la stabilità | Che cosa fa questo sito |
|---|---|---|---|
| Lingua del segmento | La lingua di chi legge | Una sola lingua ovunque | Sei, derivati dal titolo proprio di ogni lingua |
| Caratteri accentati | Tenerli e accettare gli escape percentuali | Toglierli e accettare la perdita | Il tedesco mappa su ae/oe/ue/ss; le altre cinque tolgono il diacritico |
| Separatore di parole | Il trattino — Google lo raccomanda esplicitamente | Il trattino — stessa risposta, niente da bilanciare | Il trattino, con l'apostrofo trattato come confine |
| Lunghezza | Lungo quanto serve al titolo | Corto, così non si dovrà mai accorciare dopo | Tetto di 70 caratteri; le parole vuote cadono solo oltre il tetto |
| Data nel percorso | Utile quando la pagina parla davvero di quell'anno | Mai — garantisce una futura rinomina | Nessuna data; la data di pubblicazione vive nella pagina e nel suo schema |
| Rinominare uno slug | Ogni volta che il titolo migliora | Mai, appena qualcosa ci punta | Liberamente — l'identificatore non si muove mai, cambia solo il segmento pubblico |
Domande frequenti
- Cambiare uno slug di URL danneggia il posizionamento?
- Ti costa i link accumulati se non reindirizzi, e costa un po' anche se reindirizzi. La documentazione di Google indica che un reindirizzamento permanente serve alla pipeline di indicizzazione come segnale che la destinazione debba essere canonica, quindi un reindirizzamento permanente ben fatto preserva il segnale; uno temporaneo esplicitamente no. Ciò che non si recupera è tutto quello che non segue i reindirizzamenti — un URL stampato, una citazione scritta a mano, una copia incollata in un documento. La risposta onesta è che la rinomina in sé costa poco e la coda di riferimenti rotti no: rinomina quando lo slug vecchio è davvero sbagliato, non quando il nuovo sarebbe un filo più carino.
- Quanto dovrebbe essere lungo uno slug?
- Non c'è un limite pubblicato: scegline uno e applicalo. Questo sito usa 70 caratteri, che reggono comodamente un titolo in tutte e sei le lingue restando dentro ciò che un risultato e una barra degli indirizzi mostrano senza troncare su un telefono. Conta più dell'esatto numero l'ordine delle operazioni quando lo superi: prima togli il sottotitolo dopo i due punti, poi le parole vuote, poi le parole finali — e non tagliare mai a metà parola, perché uno slug che finisce in un frammento si legge come un bug, non come una pagina.
- Devo tradurre i miei slug o tenerli in inglese?
- Traducili se hai traduzioni vere della pagina. La guida di Google sugli URL raccomanda parole nella lingua del tuo pubblico, traslitterate quando ha senso, e la ragione è semplice: a un lettore tedesco che atterra su una pagina tedesca il cui percorso finisce con una parola inglese sono stati mostrati due nomi per una sola cosa. Il modo di fallire da evitare è un percorso tradotto a macchina su una pagina per il resto inglese — è peggio che non toccare nulla. Deriva lo slug dal titolo tradotto che hai già, non da una traduzione separata dello slug stesso.
- Posso usare caratteri accentati o non latini direttamente in uno slug?
- Tecnicamente sì — il browser li codifica per te e la guida di Google dice semplicemente che i caratteri non ASCII vanno codificati in percentuale. In pratica, decidi dove l'URL verrà letto. In una barra degli indirizzi si decodifica nella forma accentata e sta bene. In testo semplice no: uno slug tedesco di 27 caratteri diventa di 37 caratteri di escape, uno cirillico di 15 diventa di 85, e uno CJK di quattro diventa di 36. Per una lingua in scrittura latina, traslitterare o togliere il segno diacritico compra leggibilità ovunque quasi a costo zero. Per una scrittura non latina il compromesso è davvero più duro, perché togliere non è un'opzione e i tuoi lettori non vedranno comunque mai la forma codificata nel proprio browser.
- Il modello identificatore + slug vale il brutto numero nell'URL?
- Ne vale la pena ogni volta che i titoli cambiano e i link contano, il che descrive la maggior parte dei contenuti che vivono più di un anno. Il numero ti compra la possibilità di riscrivere a piacere la parte leggibile, senza reindirizzamento e senza catena, perché la risoluzione non ne è mai dipesa. Il costo è un percorso che sembra generato da una macchina. Questo sito prende la via di mezzo: l'identificatore è una stringa leggibile invece di un numero, non compare affatto nel percorso pubblico, e lo slug per lingua vi rimappa sopra — così un titolo rinominato cambia sei slug pubblici e non rompe nulla all'interno.
Articoli che potrebbero interessarti
Tutte le guide →Strumenti correlati
Fonti
- Google Search Central — Keep a simple URL structure — hyphens over underscores, percent-encoding for non-ASCII, words in the audience's language
- Google Search Central — Redirects and Google Search — a permanent redirect is a canonical signal, a temporary one is not
- Google Search Central — HTTP status codes and network errors — "By default, Google's crawlers follow up to 10 redirect hops"
- IETF — RFC 3986, Uniform Resource Identifier (URI): Generic Syntax — percent-encoding and path segments
- WHATWG — URL Standard — percent-encode sets and how browsers render encoded paths
Hai notato un errore in questo articolo?