Rutas y URLs avanzadas
Ya en la primera parte de este tutorial vimos los aspectos básicos de las rutas y las URLs en nuestras aplicaciones hechas con ASP.NET MVC, cabe destacar que no solo se aplica a esta tecnología en exclusiva, con sus debidas diferencias podemos exportar estos conocimientos a otros lenguajes y otros frameworks, lo importante es el concepto en sí.
Ahora en esta segunda parte seguiremos explorando que otras implicaciones tienen las rutas y las URLs en la vida web y veremos algunos ejemplos concretos del motor de enrutamiento de ASP.NET MVC de forma que ya tengamos algo más concreto con lo que empezar a experimentar.
El SEO
Probablemente ya hayamos escuchado que es el SEO, si aún no lo hemos hecho podemos pasearnos por esta sección de tutoriales relacionado con él mismo, para adelantar, es un conjunto de técnicas y tecnologías que le permiten al motor de búsquedas indexar las páginas según su contenido y es nuestro trabajo hacer que nuestros sitios web tengan los elementos que el SEO necesita para poder encontrar nuestro contenido, claro es una explicación muy simplista, pero de momento nos sirve.
El caso es que con una URL amigable el motor de búsqueda puede indexar de forma más óptima nuestra web, ya que si en vez de tener los identificadores de las categorías tenemos sus nombres, es más legible y puede ubicarse una búsqueda a través de ahí.
El motor de ASP.NET MVC
Ha llegado el momento de ver ejemplos concretos, sabemos que ASP.NET MVC maneja un enrutador, en él es capaz de traducir lo que recibe por la URL y enviarlo a sus controladores correspondientes, para ello necesita que configuremos los detalles si queremos algo especial, pero por defecto funciona de la siguiente forma:
En nuestro mapa de rutas definimos el nombre de la misma, luego colocamos las variables que debe recibir y por último hacemos un emparejamiento de las mismas con los valores específicos que necesitamos, por ejemplo en el código que vimos se necesita el nombre del controlador y la acción que va a ejecutar y finalmente un identificador para capturar alguna consulta, ese ejemplo se vería así en la URL:
ejemplo.com/Home/Index/1
Pero estamos contraviniendo las recomendaciones que hicimos para el SEO anteriormente, por lo que podemos ajustar nuestro código de la siguiente forma:
Acá vemos como omitimos llamar al controlador y la acción en la URL pero ya ASP.NET sabe que debe buscar en ellos cuando recibe el nombre indicado, en el caso de Default se toma la URL normal, luego en vez de enviar el id enviamos un campo slug para no revelar nuestros identificadores únicos y así también hacer más legible nuestra URL, esto se podría ver así en el navegador:
ejemplo.com/una-nueva-noticia
Como vemos cumplimos con las recomendaciones de SEO que vimos y así también hemos hecho una URL amigable, con esto finalizamos este tutorial con el cual hemos aprendido mucho más sobre las URLs y el motor de enrutamiento de ASP.NET MVC.