Configuración de slugs automáticos en Doctrine para URLs legibles

Clase 13 de 20Curso de Symfony

Resumen

Crear direcciones web claras y profesionales es esencial en cualquier proyecto digital. En este contenido aprenderás cómo transformar URLs basadas en IDs poco descriptivos en rutas legibles usando slugs automáticos. El enfoque mostrado es práctico y beneficia tanto la experiencia del usuario como el posicionamiento SEO.

¿Por qué mejorar las URLs con slugs automáticos en sitios web?

Las URLs con números o caracteres sin significado, como 302, no aportan información y afectan la semántica del sitio. Usar slugs permite reemplazar estos valores por textos descriptivos derivados, por ejemplo, del título del contenido. Esto ayuda a la comprensión de la página y mejora su profesionalismo.

¿Cómo instalar y configurar una extensión de Doctrine para slugs?

  • Busca en la sección packages el nombre del proveedor recomendado.
  • Revisa la documentación del paquete, ya que explica cómo instalar y configurar la extensión para trabajar con el campo slug.
  • Copia el comando de instalación sugerido y ejecútalo en tu terminal.
  • Acepta la creación de archivos de configuración necesarios al finalizar la instalación.
  • Configura el paquete en el archivo correspondiente, asegurando que la propiedad sluggable esté activa en la configuración.
  • Si no usas campos de fechas, puedes eliminar esa referencia según lo recomienda la guía.

¿Cómo agregar el campo slug en la entidad deseada?

  • Usa el comando correspondiente para actualizar la entidad y agrega el campo slug de tipo cadena, con longitud de 255 caracteres y sin aceptar valores nulos.
  • Asegúrate de que se agreguen los métodos necesarios relacionados con el campo slug en la entidad.
  • Especifica mediante anotaciones o atributos que el campo slug se genere automáticamente a partir del título del elemento.
  • Incorpora la clase indicada en la documentación para habilitar el funcionamiento de la extensión.

¿Qué pasos seguir para migrar y poblar correctamente la base de datos?

  • Crea una migración para que el nuevo campo slug se agregue en la tabla correspondiente.
  • Si tu entorno es de desarrollo, puedes borrar y recrear la base de datos para evitar problemas con campos obligatorios y datos previos.
  • Ejecuta las migraciones y rellena la base de datos con datos falsos si es necesario, para probar el correcto funcionamiento.
  • Verifica que cada registro cuente ahora con su campo slug generado automáticamente a partir del título.

¿Cómo modificar el controlador y las consultas para trabajar con slug en lugar de ID?

  • Cambia las rutas y métodos del controlador para que trabajen con el campo slug y no con el ID.
  • Actualiza la lógica de consulta usando el método mapentity para indicar que el filtro debe realizarse por slug.
  • Visualiza en tu navegador cómo la URL utiliza ahora el texto descriptivo generado.
  • Personaliza la estructura de la URL cambiando nombres de rutas si deseas mejorar aún más la presentación.

¿Qué recomendaciones prácticas aplicar al implementar slugs automáticos en otros módulos?

  • Es útil aplicar estos conceptos en módulos anteriores, como blogs con etiquetas o productos con categorías.
  • Adapta la técnica para que cada entidad relevante en tu aplicación web cuente con URLs semánticas y claras.

¿Ya implementaste slugs automatizados en algún proyecto? Comparte tus observaciones y resultados en los comentarios, será enriquecedor para la comunidad.