¿Deberían mis URL ser minúsculas?

17

De acuerdo con este blog ("Comprender las prácticas de sintaxis de URL amigables con SEO") debería cambiar

http://example.com/Hello-Dolly

A

http://example.com/hello-dolly

Las razones dadas son:

  • Las URL, en general, distinguen entre mayúsculas y minúsculas
  • simplificará cualquier informe de análisis y SEO sensible a mayúsculas y minúsculas

De acuerdo con este GIF que encontré en el artículo de Wikipedia sobre Normalización de URL , debería convertir mis URL de mayúsculas a minúsculas.

Sin embargo, uso ASP.NET MVC y, por defecto, mis URL están estructuradas de esta manera ( CamelCase ):

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

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

He hojeado el RFC1738 pero no vi ninguna respuesta definitiva a esto.

¿Debo hacer todo lo posible para obligar al marco a cambiar todo a minúsculas? ¿Por qué Microsoft eligió diseñar su marco de esta manera si todos me dicen que use minúsculas?

Rowan Freeman
fuente
3
¡Gran pregunta y maravillosa presentación de su consulta a la comunidad aquí en webmasters.stackexchange.com! ¡Realmente hiciste tu 'tarea' en este tema también antes de preguntar!
dvnkiss
Me encontré con un problema en el que un proxy cambiaba la URL solicitada a minúsculas, y provocaba un 404 en las solicitudes a un servidor Linux que alojaba una página en mi subdirectorio ./SO/ (donde pongo ejemplos de stackoverflow). Ese es un caso de uso en el que las minúsculas marcan la diferencia (se puede argumentar que el proxy estaba mal codificado pero eso es la vida real ...)
Floris

Respuestas:

10

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

No, eso no es necesario. Los sistemas operativos Windows no distinguen entre mayúsculas y minúsculas, incluidos los sistemas operativos del servidor y las aplicaciones marco. Sin embargo, los sistemas operativos Linux / Unix distinguen entre mayúsculas y minúsculas.

Las aplicaciones basadas en Internet (p. Ej., Navegadores) deberían normalizar las URL, como se describe en la sección 6 del RFC 3986 :

Una de las operaciones más comunes en los URI es la comparación simple: determinar si dos URI son equivalentes sin usar los URI para acceder a sus recursos respectivos. Se realiza una comparación cada vez que se accede a un caché de respuestas, un navegador verifica su historial para colorear un enlace, o un analizador XML procesa etiquetas dentro de un espacio de nombres. Las arañas y los motores de indexación a menudo utilizan una normalización extensa antes de la comparación de los URI para podar un espacio de búsqueda o para reducir la duplicación de acciones de solicitud y almacenamiento de respuestas.

Sin duda, ya que usará un servidor de Windows, las URL y URI solicitados se devolverán a las aplicaciones cliente perfectamente.


En lo que respecta a los motores de búsqueda, como se indica en el RFC anterior, y en su enlace de Wikipedia sobre Normalización de URL :

Los motores de búsqueda emplean la normalización de URL para asignar importancia a las páginas web y reducir la indexación de páginas duplicadas.

Y como fuentes como este informe sobre el tema:

Más recientemente, Google comenzó a comprender mejor que /page1.html y /Page1.html eran solo dos instancias del mismo contenido.


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

Es compatible con su sistema operativo, y técnicamente no es incorrecto según los RFC. También tienen su propia forma de hacer las cosas, lo que mantiene a los webmasters adivinando :-)

dan
fuente
1
Gran respuesta, iba a publicar una respuesta muy similar, ¡pero me ganaste! "¿Por qué Microsoft eligió diseñar su marco de esta manera si todos me dicen que use minúsculas? ... También tienen su propia forma de hacer las cosas, lo que hace que los webmasters adivinen". - Amo ese pedacito. ¡Hasta donde puedo recordar, Microsoft ha tenido sus propios medios para 'hacer' que los desarrolladores / webmasters se dobleguen a sus rígidas reglas!
dvnkiss
4

No sé si debe cambiarlo, pero debe asegurarse de ser coherente.

Investigué esto hace un par de años y el estándar de Google era ese caso antes de que el TLD no importara, pero después del TLD sí.

En ese momento estaba trabajando en un sitio difunto llamado BusinessForPhotographers.com; aparentemente eso es tratado consistentemente como mayúsculas y minúsculas.

Después del .comes otro asunto. Las vistas de Google /Great-Articleson distintas /great-article, incluso si el servidor las dirige al mismo lugar.

Esto podría afectar la canonicalización y los problemas de contenido duplicado. Creo que el método más seguro sería forzar una redirección 301 a la versión correcta.

Si bien esto puede parecer inútil, piense en un servicio como YouTube, ¿es /A1B2C3la misma URL que /a1b2c3?

No a los ojos de Google.

adam-asdf
fuente
3

Las rutas URI distinguen entre mayúsculas y minúsculas (si no se define de otra manera). Consulte el estándar URI STD 66, sección 6.2.2.1. Normalización de caso :

Se supone que los otros componentes de sintaxis genéricos distinguen entre mayúsculas y minúsculas, a menos que el esquema defina específicamente lo contrario

Si las letras mayúsculas en las rutas HTTP URI serían un problema para algunos usuarios, la Wikipedia se rompería por ellos. Estos dos URI de HTTP (que solo difieren en minúsculas oy mayúsculas O) conducen a páginas diferentes:

Entonces no, no tiene que cambiar sus URI.

Sin embargo, si es posible (si no utiliza el caso, como lo hace Wikipedia), sería una buena práctica permitir que todas las variantes de casos y 301 redirijan a una variante canónica.

unor
fuente