Struttura degli URL: principi di URL SEO-friendly

Come progettare URL stabili e scansionabili, normalizzare le varianti e gestire i cambiamenti come migrazioni vere e proprie.

Cos’è la struttura degli URL

La struttura degli URL è l'insieme di regole con cui si formano gli indirizzi delle pagine di un sito: lunghezza, gerarchia delle cartelle, formato dello slug, uso dei parametri e protocollo. Una buona struttura è leggibile dalle persone, comprensibile per un crawler e resta invariata per anni. Una cattiva crea duplicati, rompe l'indicizzazione e obbliga a riscrivere redirect a ogni svolta della strategia di marketing.

L'URL è uno dei pochi segnali SEO che Google ha apertamente indicato come fattore di posizionamento per più di quindici anni. Non è il fattore più forte, ma è tra i più economici: lo configuri una volta in fase di sviluppo e lavora per anni senza modifiche. Gli errori a questo livello si pagano cari — ogni URL cambiato richiede un redirect 301 e una nuova valutazione da parte del motore di ricerca.

Principio cardine di Google: «Crea URL semplici e significativi che rispecchino il contenuto della pagina». Se l’indirizzo è difficile da leggere ad alta voce e da ricordare — è troppo complesso.

Gli URL in numeri

≤ 75

Caratteri

Lunghezza ottimale dell’URL secondo Backlinko (analisi di 11,8 milioni di risultati): le pagine in top su Google hanno URL più corti

3

Livelli di cartella

Massimo per le pagine di categoria: site.com/categoria/sottocategoria/pagina — più in profondità la scansione degrada

2.048

Limite del browser

Tetto tecnico di lunghezza dell’URL in Chrome, Safari e Firefox. In pratica, URL oltre 500 caratteri sono quasi sempre un bug di generazione

1

Versione canonical

Una pagina deve avere un solo indirizzo raggiungibile. Tutte le varianti (http, www, slash finale) — 301 verso la principale

Anatomia di un URL: sette parti

Prima di costruire la struttura, scomponiamo di cosa è fatto un URL. L'RFC 3986 descrive sette componenti; nel contesto SEO contano tutte tranne user-info e fragment:

text
https://www.example.com:443/blog/seo/url-structure/?utm=email#summary
│  │   │            │   │                          │            │
│  │   │            │   │                          │            └─ fragment (anchor)
│  │   │            │   │                          └────────────── query (GET parameters)
│  │   │            │   └─────────────────────────────────────── path
│  │   │            └─────────────────────────────────────────── port (usually hidden)
│  │   └──────────────────────────────────────────────────────── host (domain)
│  └──────────────────────────────────────────────────────────── subdomain
└─────────────────────────────────────────────────────────────── scheme (protocol)
Confronto delle opzioni:
ComponenteEsempioSignificato per la SEO
schemehttps://HTTPS è obbligatorio dal 2018 — fattore di posizionamento e requisito di indicizzazione per Chrome
subdomainwww, blog, shopI motori di ricerca trattano i sottodomini come siti separati. www è un caso particolare di sottodominio
hostexample.comDominio radice. Deve essere stabile: un cambio di dominio = una migrazione costosa
port:443 (HTTPS), :80 (HTTP)Di norma nascosta. Porte non standard esplicite negli URL sono quasi sempre una misconfigurazione
path/blog/seo/url-structure/La parte principale per la SEO. Contiene keyword e rispecchia la gerarchia del sito
query?utm=email&sort=priceParametri GET. Pericolosi per l’indicizzazione: creano duplicati. Si gestiscono via canonical
fragment#summaryAncora dentro la pagina. I motori di ricerca la ignorano — è parte del rendering client-side

Perché l’URL conta per la SEO

Gli URL influenzano il posizionamento in modo diretto e indiretto. Il contributo diretto è piccolo — Google ha confermato più volte che una keyword nell'URL dà solo un boost «minuscolo». L'impatto indiretto è molto più grande: gli URL modellano il CTR dello snippet, la fiducia degli utenti e la prevedibilità per il crawler.

Segnale 1Pertinenza tematica

Le parole nell’URL sono un segnale di pertinenza debole ma reale. Il path /blog/seo/url-structure/ dice al motore di ricerca e all’utente l’argomento della pagina prima ancora che il contenuto carichi.

Segnale 2CTR nella ricerca

Google mette in grassetto le parole dell’URL che corrispondono alla query. Secondo Backlinko, gli URL descrittivi ottengono un CTR del 25% più alto rispetto ai link con ID numerici tipo /post?id=12384.

Segnale 3Crawl budget

Una struttura URL pulita, senza parametri infiniti, risparmia crawl budget. Il motore di ricerca non spreca richieste su varianti della stessa pagina diverse solo per un UTM.

Segnale 4Fiducia degli utenti

Gli URL sono visibili nei risultati di ricerca, nella barra degli indirizzi, quando vengono copiati. Indirizzi chiari riducono la paura di cliccare il link sbagliato e aumentano i referral dai social e dai messenger, dove gli snippet sono limitati.

Questi segnali si sommano. Ciascuno è debole da solo, ma nella combinazione gli URL diventano un vantaggio silenzioso e persistente — soprattutto per la coda lunga, dove la competizione per ogni punto di CTR è critica.

Le nove regole di un buon URL

Le raccomandazioni di Google sugli URL sono appena cambiate in quindici anni. Le nove regole qui sotto compilano documentazione ufficiale e ricerche empiriche di Backlinko, Ahrefs e Moz. Valgono per qualunque stack — da WordPress a Next.js.

  • Usa caratteri latini (a meno che il pubblico non sia solo locale). Il cirillico funziona tecnicamente via punycode, ma si copia male nei messenger, si rompe in stampa e abbassa il CTR nei risultati internazionali. /blog/url-structure/ è meglio dello stesso slug scritto in caratteri cirillici.
  • Separa le parole con trattini, non con underscore. Google raccomanda esplicitamente i trattini. L'underscore _ unisce le parole durante il parsing: url_structure per il bot è un token unico, non due parole.
  • Solo minuscole. Gli URL sono tecnicamente case-sensitive (su server UNIX). /Page/ e /page/ sono due indirizzi diversi, che creano duplicati. Forza le minuscole a livello di server.
  • Lunghezza: più corta di quanto sembri necessario. L’ottimale è 50–75 caratteri. Se l’URL è più lungo, in genere hai parole extra nello slug o categorie ridondanti.
  • Profondità delle cartelle: massimo tre livelli. /category/subcategory/page/ è il tetto per la maggior parte dei siti. Il crawler raggiunge meno spesso le pagine più profonde, e gli utenti faticano a navigare.
  • No stop word. Elimina congiunzioni e articoli dallo slug: /how-to-fix-error/ è meglio di /how-to-fix-an-error-in-the-code/. Le stop word non aiutano né il posizionamento né la leggibilità.
  • Keyword: una volta, e presto. Non ripetere la keyword due volte (/seo/seo-guide/). Posizionala più vicina possibile al dominio: più vicina alla radice, più alto il peso.
  • No ID o hash nello slug. /article-12384/ o /post-a3f9b2c8/ sono privi di senso per le persone e non aggiungono semantica. Usa slug descrittivi che traducano l’argomento.
  • L'URL non deve cambiare. Un indirizzo pubblicato è un impegno. Qualsiasi modifica richiede un redirect 301 e perde una parte del valore. Pensa alla struttura in anticipo.
L'errore più comune è il cirillico negli URL di progetti multilingua. Il browser mostra lo slug in cirillico, ma copiandolo su Telegram o Slack, o incollandolo in un'email, l'URL diventa una lunghissima sequenza di codici %D0%B1... incomprensibile. Nessuno ci clicca. Usa la traslitterazione anche nella versione russa del sito.

Profondità e gerarchia delle cartelle

La struttura delle cartelle in un URL non è solo estetica — è una mappa del sito per il crawler e per l'utente. La profondità di clic (quanti clic dalla home a una pagina) correla con la frequenza con cui Google re-scansiona una pagina e con la rapidità di scoperta dei nuovi contenuti.

ProfonditàEsempio di URLQuando usarla
1 livello/about/, /contacts/Pagine radice: home, chi siamo, contatti. Massima priorità di scansione
2 livelli/blog/url-structure/Standard per blog, servizi, categorie di base. Ottimale per la maggior parte dei siti
3 livelli/shop/laptops/macbook-pro-14/Categoria → sottocategoria → prodotto. Scendi oltre solo se oggettivamente necessario
4+ livelli/shop/electronics/laptops/apple/macbook-pro-14/Anti-pattern nella maggior parte dei casi. Usa invece una gerarchia piatta

La profondità dell'URL non è la profondità di clic. Una pagina può vivere fisicamente in /shop/laptops/macbook-pro-14/ ed essere comunque a un clic dalla home grazie a una forte link building interna. Il motore di ricerca considera entrambi i segnali: il path dell'URL e la distanza reale nel grafo dei link.

Struttura piatta o gerarchica — il dibattito classico. Piatto (/url-structure/) è più semplice per i siti piccoli. Gerarchico (/blog/seo/url-structure/) è meglio per quelli grandi, dove le categorie aiutano l’analisi e i filtri in GSC. La chiave è scegliere un approccio e non mescolarli.

www, HTTPS, slash finale e maiuscole

Quattro impostazioni tecniche che producono duplicati più spesso. Ciascuna si risolve una volta a livello di server — ma se la salti, il motore di ricerca vede fino a otto versioni della stessa pagina:

text
http://example.com/page
http://example.com/page/
https://example.com/page
https://example.com/page/
http://www.example.com/page
http://www.example.com/page/
https://www.example.com/page
https://www.example.com/page/

HTTPS

Obbligatorio dal 2018: Chrome marca i siti HTTP come «non sicuri» e Google usa HTTPS come debole segnale di posizionamento. La configurazione è un singolo redirect in nginx o apache:

nginx
# nginx — 301 from HTTP to HTTPS
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}

www o non-www

Tecnicamente equivalenti. A livello DNS www è un sottodominio, ma Google e Yandex lo trattano come alias quando è configurato un 301. Senza www è leggermente più corto e più moderno; con www è più comodo per i cookie (li puoi separare per sottodominio). Regola chiave: scegli una variante e reindirizza con 301 tutto il traffico verso di essa.

nginx
# nginx — 301 from www to non-www
server {
    listen 443 ssl;
    server_name www.example.com;
    return 301 https://example.com$request_uri;
}

Slash finale

Lo slash finale (/page/ contro /page) — due indirizzi diversi per il server. Convenzione: le directory finiscono con /, i file no. Sui siti moderni ogni pagina è una directory, quindi la strategia è unica: sempre con slash finale (o sempre senza). Next.js e WordPress usano lo slash finale per impostazione predefinita.

javascript
// next.config.ts — enforced trailing slash
const nextConfig = {
  trailingSlash: true,  // /blog/page/  instead of  /blog/page
};
export default nextConfig;

Maiuscole

Gli URL sono case-sensitive sulla maggior parte dei server (Linux/UNIX). /Page/ e /page/ sono due URL, due duplicati. Forza l’intero path in minuscolo al reverse proxy o a livello applicazione:

nginx
# nginx — redirect URLs to lowercase (Lua module)
location ~ [A-Z] {
    rewrite ^/(.*)$ /$1 last;
    set_by_lua_block $lower_uri {
        return ngx.var.uri:lower()
    }
    return 301 $lower_uri;
}

Template di URL per tipo di pagina

Tipi di contenuto diversi richiedono template di URL diversi. Qui sotto pattern collaudati per sei tipi di pagina presenti nel 90% dei siti web.

Tipo di paginaTemplate URLEsempio
Home page/https://example.com/
Articolo di blog/blog/{slug}//blog/url-structure/
Categoria del blog/blog/{category}//blog/technical-seo/
Servizio/services/{slug}//services/seo-audit/
Prodotto/shop/{category}/{slug}//shop/laptops/macbook-pro-14/
Glossario/glossary/{term}//glossary/canonical-url/
Landing locale/{city}/{service}//london/seo/
Documentazione/docs/{section}/{page}//docs/api/authentication/
Niente date negli URL del blog. /blog/2024/05/url-structure/ invecchia: nel 2026 l’articolo sembra datato anche senza modifiche. Approccio moderno — slug senza data, e freschezza mantenuta con gli aggiornamenti e il campo <meta dateModified>.

Per l'e-commerce — un tema a parte. Una scheda prodotto può vivere secondo due schemi: /shop/category/product/ (con categoria) o /shop/product/ (piatto). Il primo è meglio per la SEO delle categorie (l'URL segnala l'appartenenza), il secondo per spostare i prodotti tra categorie senza redirect. La scelta dipende da quanto spesso i prodotti cambiano categoria.

Localizzazione e URL multilingua

Per un sito multilingua gli URL sono la prima parte della strategia. Google raccomanda tre approcci, ciascuno con i suoi compromessi:

ApproccioEsempioQuando sceglierlo
ccTLD separatiexample.de, example.frGrandi brand internazionali con team locali. Costoso ma massimizza i segnali geo
Sottodominide.example.com, fr.example.comBusiness di medie dimensioni. Il motore di ricerca tratta ogni sottodominio come entità separata — il valore dei link va costruito a parte
Sottocartelleexample.com/de/, example.com/fr/Ottimale per la maggior parte. L’autorevolezza dell’intero dominio lavora per tutte le lingue. Il più economico da mantenere

Le sottocartelle vincono nell’80% dei casi. Sono più facili da gestire, più economiche per SSL e hosting, e tutto il valore dei link lavora per un solo dominio. È esattamente l’approccio di spiderhead.dev: lingua principale sulla radice, le altre in sottocartelle (/ru/, /de/…).

Lingua predefinita — nessun prefisso. Se la tua lingua principale è l'italiano, non usare /it/. Mantieni example.com/blog/ per il pubblico principale e example.com/en/blog/ per il secondo. Più corto, più familiare e senza gemelli tipo example.com/ ↔ example.com/it/.

Gli slug negli URL localizzati sono un tema discusso. Tradurre lo slug dà un CTR migliore per ogni lingua e segnala la pertinenza con più precisione. Il rovescio della medaglia — è più difficile da mantenere: serve gestire hreflang e redirect quando le traduzioni cambiano. Per la maggior parte dei progetti il compromesso è tradurre solo gli slug del blog e mantenere uno slug unico per le pagine tecniche.

Errori comuni e come correggerli

Gli otto errori di URL più comuni che emergono negli audit SEO. Ciascuno si corregge in uno sprint; il costo dell'inazione è la perdita graduale di posizioni e crawl budget.

  • Duplicati via parametri GET. Tag UTM, ordinamenti e filtri creano centinaia di varianti di una pagina. Correzione: rel="[canonical](/glossary/canonical)" verso l’URL principale + URL Parameters in GSC.
  • Slash finale misto. Alcune pagine con /, altre senza. Il motore di ricerca vede duplicati. Correzione: convenzione unica + 301 da tutte le varianti non conformi.
  • Cirillico negli URL di un progetto globale. Uno slug in cirillico, una volta copiato, diventa una sequenza illeggibile di %D1%83.... Correzione: traslitterazione (/uslugi/).
  • Gerarchia troppo profonda. /shop/electronics/computers/laptops/apple/macbook-pro/ — sei livelli. Correzione: struttura piatta con categorie come facet.
  • ID nell’URL invece dello slug. /article?id=12384 o /post/12384/. Correzione: passa a URL semantici + 301 dai vecchi ID.
  • Cambiare un URL senza 301. Qualsiasi cambio di indirizzo senza redirect = perdita di valore e traffico. Correzione: configura sempre un 301 quando rinomini.
  • Maiuscole negli URL. /Catalog/ e /catalog/ sono due duplicati. Correzione: imponi le minuscole sul server.
  • Catene di redirect infinite. A → B → C → D. Ogni anello perde peso. Correzione: sempre 301 direttamente all’URL finale.
Esempio di codice:
bash
# Check redirect chains via curl:
curl -sILo /dev/null -w "%{http_code} %{url_effective}\n" \
     -L https://example.com/old-page/

# Find URLs with uppercase letters in nginx logs:
grep -E 'GET /[a-z]*[A-Z]' /var/log/nginx/access.log | head

# URL audit via Screaming Frog:
# 1. Run a full site crawl
# 2. Open the URL tab → Underscores / Uppercase / Non ASCII Characters
# 3. Export the list of problematic URLs and plan redirects
Prima di un cambio di URL di massa, fai sempre un backup e prepara una tabella old_url → new_url. Qualsiasi cambiamento strutturale può far calare il traffico per 4–8 settimane, mentre Google re-indicizza e rivaluta le pagine. Non farlo prima della stagione di picco.

FAQ

Le risposte alle domande più comuni sulla struttura degli URL, quelle che emergono negli audit e nei redesign.

Riepilogo

La struttura degli URL è una decisione che prendi una volta e con cui convivi per anni. Un buon URL è corto, leggibile, rispecchia la gerarchia dei contenuti ed è stabile nel tempo. Tre principi cardine — caratteri latini minuscoli, trattini invece di underscore, massimo tre livelli di cartelle — chiudono l'80% degli errori comuni.

Parti da un audit degli URL attuali: Screaming Frog → report «Underscores», «Uppercase», «Non ASCII Characters». In un’ora hai la mappa dei problemi. Poi costruisci una tabella old → new, configura i 301 e aggiorna i link interni. Non affrettare una migrazione di massa prima della stagione di picco: Google impiega 4–8 settimane per rivalutare.

La lunghezza dell’URL incide sul posizionamento?
Direttamente no: Google non usa la lunghezza come fattore di posizionamento. Indirettamente sì: gli URL lunghi si copiano male, vengono evidenziati meno nei risultati e abbassano il CTR. Uno studio Backlinko su 11,8 milioni di risultati ha mostrato che le pagine in top 10 hanno URL in media più corti del 25% rispetto alle pagine classificate 11–20.
Trattino o underscore nello slug?
Solo il trattino. Google raccomanda esplicitamente i trattini e interpreta url-structure come due parole, url e structure. L'underscore _ unisce le parole: url_structure è un token unico per il bot. È la posizione ufficiale di Matt Cutts dal 2008, mai cambiata.
Va inclusa la data negli URL del blog?
Nel 2026 — no. Gli URL con data (/blog/2024/05/article/) invecchiano visivamente: l’articolo sembra vecchio anche dopo gli aggiornamenti. Meglio uno slug pulito /blog/article/ e freschezza mantenuta con <meta dateModified>, aggiornamenti dei contenuti e badge «Aggiornato» nell’intestazione dell’articolo.
Cosa faccio se ho il cirillico negli URL?
Se il sito serve solo un pubblico locale (Russia, Bielorussia, Ucraina) — lascialo. Se hai traffico internazionale o usi attivamente Telegram e i messenger per la distribuzione — passa alla traslitterazione con redirect 301. Il cirillico negli URL rompe la copia, si visualizza male negli snippet internazionali e abbassa il CTR.
Posso cambiare URL senza perdite per la SEO?
Senza nessuna perdita — no. Puoi minimizzarle: configura i 301 dai vecchi URL ai nuovi, aggiorna tutti i link interni, invia una sitemap aggiornata in GSC, rinfresca le coppie hreflang. Dopo di che Google rivaluta la pagina per 4–8 settimane; in questa finestra puoi vedere un calo temporaneo di posizioni del 10–30%.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it