Un slug es una cadena de texto amigable para URL que sirve como identificador único para un recurso web, típicamente derivado del título o nombre del recurso. Los slugs se crean convirtiendo el texto a minúsculas, reemplazando espacios con guiones, eliminando caracteres especiales y truncando a una longitud razonable. Por ejemplo, el título "What Is URL Shortening?" se convierte en el slug "what-is-url-shortening".
El término "slug" se origina en la publicación de periódicos, donde se refería a un nombre corto dado a un artículo durante la producción. En el desarrollo web, los slugs sirven el mismo propósito: proporcionan un identificador legible por humanos que puede usarse en URL.
En el acortamiento de URL, el concepto de slug se aplica a los alias personalizados. Cuando un usuario crea una URL corta con un código personalizado como "summer-sale", ese código es esencialmente un slug para el enlace acortado. Los mismos principios de buen diseño de slugs aplican: mantenerlo conciso, usar palabras significativas y evitar caracteres que requieran codificación.
La generación de slugs debe manejar casos extremos incluyendo slugs duplicados (requiriendo aplicación de unicidad), caracteres Unicode (requiriendo decisiones de transliteración o codificación), palabras reservadas (que podrían entrar en conflicto con rutas de la aplicación) y títulos excesivamente largos (requiriendo truncamiento inteligente).