Las URL limpias (también conocidas como URL fáciles de usar , URL bonitas , URL amigables para los motores de búsqueda o URL RESTful ) son direcciones web o localizadores uniformes de recursos (URL) destinados a mejorar la usabilidad y accesibilidad de un sitio web , aplicación web o servicio web al ser inmediata e intuitivamente significativos para usuarios no expertos . Tales esquemas de URL tienden a reflejar la estructura conceptual de una colección de información y desacoplan la interfaz de usuario de la representación interna de la información de un servidor. Otras razones para usar URL limpias incluyen la optimización de motores de búsqueda (SEO), [1] ajustarse al estilo de transferencia de estado representacional (REST) de la arquitectura de software y garantizar que los recursos web individuales permanezcan consistentemente en la misma URL. Esto hace que la World Wide Web sea un sistema más estable y útil, y permite un marcado más duradero y confiable de los recursos web. [2]
Las URL limpias tampoco contienen detalles de implementación de la aplicación web subyacente. Esto conlleva el beneficio de reducir la dificultad de cambiar la implementación del recurso en una fecha posterior. Por ejemplo, muchas URL incluyen el nombre de archivo de un script del lado del servidor , comoejemplo.php,ejemplo.aspoCGI-bin (bin de CGI)Si se modifica la implementación subyacente de un recurso, dichas URL deberían cambiar junto con él. Del mismo modo, cuando las URL no están "limpias", si se mueve o reestructura la base de datos del sitio, existe el potencial de causar enlaces rotos , tanto internamente como desde sitios externos, lo que puede llevar a la eliminación de los listados de los motores de búsqueda . El uso de URL limpias presenta una ubicación consistente para los recursos a los agentes de usuario independientemente de la estructura interna. Otro beneficio potencial del uso de URL limpias es que la ocultación de la información interna del servidor o de la aplicación puede mejorar la seguridad de un sistema. [1]
Una URL a menudo constará de una ruta , un nombre de script y una cadena de consulta . Los parámetros de la cadena de consulta dictan el contenido que se mostrará en la página y, con frecuencia, incluyen información opaca o irrelevante para los usuarios, como identificadores numéricos internos para valores en una base de datos , datos codificados de forma ilegible , identificadores de sesión , detalles de implementación, etc. Las URL limpias, por el contrario, contienen solo la ruta de un recurso, en una jerarquía que refleja una estructura lógica que los usuarios pueden interpretar y manipular fácilmente.
URL original | URL limpia |
---|---|
http://example.com/about.html | http://example.com/about |
http://example.com/user.php?id=1 | http://example.com/user/1 |
http://example.com/index.php?page=name | http://example.com/name |
http://example.com/kb/index.php?cat=1&id=23 | http://example.com/kb/1/23 |
http://en.wikipedia.org/w/index.php?title=Clean_URL | http://en.wikipedia.org/wiki/Clean_URL |
La implementación de URL limpias implica el mapeo de URL mediante técnicas de coincidencia de patrones o reescritura transparente . Como esto suele ocurrir en el lado del servidor, la URL limpia suele ser el único formato que ve el usuario.
Con el fin de optimizar los motores de búsqueda, los desarrolladores web suelen aprovechar esta oportunidad para incluir palabras clave relevantes en la URL y eliminar las palabras irrelevantes. Entre las palabras más comunes que se eliminan se encuentran los artículos y las conjunciones , mientras que se agregan palabras clave descriptivas para aumentar la facilidad de uso y mejorar la clasificación en los motores de búsqueda. [1]
Se puede incluir un identificador de fragmento al final de una URL limpia para referencias dentro de una página, y no es necesario que sea legible para el usuario. [3]
Algunos sistemas definen un slug como la parte de una URL que identifica una página en palabras clave legibles para humanos . [4] [5] Por lo general, es la parte final de la URL (específicamente de la parte path / pathinfo ), que se puede interpretar como el nombre del recurso, similar al nombre base en un nombre de archivo o el título de una página. El nombre se basa en el uso de la palabra slug en los medios de comunicación para indicar un nombre corto dado a un artículo para uso interno.
Los slugs se generan normalmente de forma automática a partir del título de una página, pero también se pueden introducir o modificar de forma manual, de modo que, si bien el título de la página sigue estando diseñado para su visualización y legibilidad, su slug se puede optimizar para que sea breve o para que lo utilicen los motores de búsqueda, además de proporcionar a los destinatarios de una URL compartida una idea aproximada del tema de la página. Los títulos de página largos también se pueden truncar para mantener la URL final con una longitud razonable.
Los slugs pueden estar completamente en minúsculas, con caracteres acentuados reemplazados por letras del alfabeto latino y caracteres de espacio en blanco reemplazados por un guion o un guión bajo para evitar ser codificados . Los signos de puntuación generalmente se eliminan, y algunos también eliminan palabras cortas y comunes como las conjunciones . Por ejemplo, el título ¡Esto, aquello y lo otro! Una colección Outré podría tener un slug generado de this-that-other-outre-collection
.
Otro beneficio de los slugs de URL es la capacidad facilitada de encontrar una página deseada en una larga lista de URL sin títulos de página, como una lista mínima de pestañas abiertas exportadas usando una extensión del navegador , y la capacidad de obtener una vista previa del título aproximado de una página de destino en el navegador si está hipervinculada a una sin título.
Si una herramienta para guardar páginas web localmente utiliza la cadena después de la última barra como nombre de archivo predeterminado , como lo hace wget , un slug hace que el nombre del archivo sea más descriptivo.
Los sitios web que utilizan slugs incluyen Stack Exchange Network con el título de la pregunta después de la barra, e Instagram con el parámetro URL. [6] [7]?taken-by=username