I miei URL dovrebbero essere minuscoli?


17

Secondo questo blog ("Comprensione delle pratiche di sintassi dell'URL SEO friendly") dovrei cambiare

http://example.com/Hello-Dolly

Per

http://example.com/hello-dolly

I motivi indicati sono:

  • Gli URL, in generale, fanno distinzione tra maiuscole e minuscole
  • semplificherà qualsiasi rapporto SEO e analitico con distinzione tra maiuscole e minuscole

Secondo questa GIF che ho trovato nell'articolo di Wikipedia sulla normalizzazione degli URL, dovrei convertire i miei URL da qualsiasi maiuscolo a tutto minuscolo.

Comunque uso ASP.NET MVC e per impostazione predefinita i miei URL sono strutturati in questo modo ( CamelCase ):

http://www.example.com/Controller/Action/Parameter

http://www.example.com/Categories/List/Bicycles

Ho sfogliato l' RFC1738 ma non ho visto alcuna risposta definitiva a questo.

Devo fare di tutto per forzare il framework a cambiare tutto in lettere minuscole? Perché Microsoft ha scelto di progettare il proprio framework in questo modo se tutti mi dicessero di usare le lettere minuscole?


3
Grande domanda e meravigliosa presentazione della tua richiesta alla community qui su webmasters.stackexchange.com! Hai davvero fatto i tuoi "compiti" anche su questo problema prima di chiedere!
dvnkiss,

Mi sono imbattuto in un problema in cui un proxy ha cambiato l'URL richiesto in tutto minuscolo e ha causato un 404 su richieste a un server Linux che ha ospitato una pagina nella mia sottodirectory ./SO/ (dove ho inserito esempi di stackoverflow). Questo è un caso d'uso in cui le lettere minuscole fanno la differenza (si può sostenere che il proxy sia stato codificato male ma che è la vita reale ...)
Floris,

Risposte:


10

Should I go out of my way to force the framework to change everything to lower case?

No, non è necessario. I sistemi operativi Windows non fanno distinzione tra maiuscole e minuscole, inclusi i sistemi operativi del server e le applicazioni del framework. I sistemi operativi Linux / Unix sono comunque sensibili al maiuscolo / minuscolo.

Le applicazioni basate su Internet (ad esempio i browser) dovrebbero normalizzare gli URL, come indicato nella sezione 6 della RFC 3986 :

Una delle operazioni più comuni sugli URI è il semplice confronto: determinare se due URI sono equivalenti senza utilizzare gli URI per accedere alle rispettive risorse. Viene effettuato un confronto ogni volta che si accede a una cache di risposta, un browser controlla la cronologia per colorare un collegamento o un parser XML elabora i tag all'interno di uno spazio dei nomi. L'ampia normalizzazione prima del confronto degli URI viene spesso utilizzata da spider e motori di indicizzazione per eliminare uno spazio di ricerca o per ridurre la duplicazione delle azioni di richiesta e l'archiviazione delle risposte.

Dato che utilizzerai senza dubbio un server Windows, gli URL e gli URI richiesti verranno restituiti correttamente alle applicazioni client.


Per quanto riguarda i motori di ricerca, come indicato nella RFC sopra e nel tuo link di Wikipedia sulla normalizzazione degli URL :

I motori di ricerca utilizzano la normalizzazione degli URL per assegnare importanza alle pagine Web e ridurre l'indicizzazione di pagine duplicate.

E come fonti come questo rapporto sull'argomento:

Più recentemente, Google ha iniziato a comprendere meglio che /page1.html e /Page1.html erano solo due istanze dello stesso contenuto.


Why did Microsoft choose to design their framework like this if everybody is telling me to use lowercase?

È compatibile con il loro sistema operativo e tecnicamente non errato secondo le RFC. Hanno anche il loro modo di fare le cose, che induce i webmaster a indovinare :-)


1
Ottima risposta, stavo per pubblicare una risposta molto simile ma mi hai battuto! "Perché Microsoft ha scelto di progettare il proprio framework in questo modo se tutti mi dicessero di usare lettere minuscole? ... Hanno anche il loro modo di fare le cose, il che fa indovinare i webmaster." - Adoro quel po '. Per quanto ricordo, Microsoft ha avuto i propri mezzi per "far" sviluppare sviluppatori / webmaster alle loro rigide regole!
dvnkiss,

4

Non so che dovresti cambiarlo, ma assicurati di essere coerente.

L'ho esaminato un paio di anni fa e lo standard di Google era quel caso prima che il TLD non avesse importanza, ma dopo il TLD.

All'epoca lavoravo su un sito defunto chiamato BusinessForPhotographers.com; a quanto pare viene costantemente considerato insensibile al maiuscolo / minuscolo.

Dopo .comè un'altra questione. Google considera /Great-Articledistinti da /great-article, anche se il server li instrada nello stesso posto.

Ciò potrebbe influire sulla canonicalizzazione e problemi di contenuto duplicati. Penso che il metodo più sicuro sarebbe quello di forzare un reindirizzamento 301 alla versione corretta.

Mentre questo può sembrare inutile pensare a un servizio come YouTube, è /A1B2C3lo stesso URL di /a1b2c3?

Non agli occhi di Google.


3

I percorsi URI fanno distinzione tra maiuscole e minuscole (se non diversamente definito). Vedere lo standard URI STD 66, sezione 6.2.2.1. Normalizzazione del caso :

Gli altri componenti di sintassi generici sono considerati sensibili al maiuscolo / minuscolo se non diversamente specificato dallo schema

Se le lettere maiuscole nei percorsi dell'URI HTTP fossero un problema per alcuni utenti, la Wikipedia verrebbe interrotta per loro. Questi due URI HTTP (che differiscono solo in minuscolo orispetto a maiuscolo O) portano a pagine diverse:

Quindi no, non devi cambiare le tue URI.

Tuttavia, se possibile (se non si utilizza il caso, come fa Wikipedia), sarebbe buona norma consentire tutte le varianti di caso e il reindirizzamento 301 a una variante canonica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.