Una de las caracterÃsticas de la optimización de tu site de cara a los buscadores trata sobre colocar palabras clave en la URL. Esto es, en vez de tener una URL con parámetros numéricos tipo “tuweb.com?p=456″, meter algo del estilo: “tuweb.com/manual-seo”.
Además, a esta caracterÃstica se la denomina “friendly url”, ya que permite al usuario identificar mejor dónde se encuentra y hasta acceder a otro punto modificando él mismo la URL. Pongamos unos ejemplos:
http://www.entrecodigos.com?p=126&z=mgd90ijret$g3fo@3&ui=aAdtygbvAShVdrg
http://www.entrecodigos.com/un-articulo-cualquiera
http://www.entrecodigos.com/2008/03/un-articulo-cualquiera
http://www.misupermercado.com/frutas/fresas/
En la primera URL, vemos que para acceder a la página que hemos solicitado son necesarios un montón de parámetros con datos dificilmente comprensibles, esto no solo no nos sirve para posicionarnos en Google, sino que además es de difÃcil comprensión para el usuario (imaginemos que quiere apuntarse la URL en un folio para pasársela a un amigo o enviarla por email), la segunda opción es mas comprensible y fácil de recordar, además contiene palabras clave (o puede contenerlas), y la tercera, quizás la mejor, permite recordar fácilmente al usuario la URL, contiene palabras clave y, además, permite al usuario acceder a otras secciones o categorÃas de la web cambiando la misma (es el modelo de wordpress, por fechas), como último ejemplo, el cuarto, es igual al tercero pero imaginando el sistema implementado en un supermercado.
¿Cómo lo hago?
Cada lenguaje de programación tiene su propio sistema, desde el PHP al Java pasando por .Net, yo os mostraré como de sencillo es hacerlo en ASP.Net. Para ello basta con ir a la librerÃa “System.Web.HttpContext.Current” y utilizar la función RewritePath(), lo que nos permite redirigir una petición internamente (no confundir con el Response.Redirect, que realiza otra petición a la página). Lo mejor es captar la petición en el Global Asax y redirigirla a donde nos convenga:
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
If Current.Request.Path.ToLower.Contains("manual-seo") Then
System.Web.HttpContext.Current.Rewrite("http://www.entrecodigos.com?p=456")
End If
End Sub
Por supuesto, yo he puesto un condicional para mostrar un ejemplo, pero en ese punto deberÃa ir la función que haga la consulta a la base de datos para determinar la url original (la que lleva el parámetro) o una llamada a la clase que se encarga de escribir y leer estas URLs, opción que te recomiendo para tener un mayor control sobre las mismas.






Yo soy más del mod_rewrite que le vamos a hacer XD