El URL-Rewriting es un gran amigo del SEO ya que podremos incluir palabras clave (keywords) en la URL de cada registro de nuestro portal, pero a través de una URL no se puede pasar cualquier caracter.
En el siguiente método (en C#) vamos a pasar un texto en lenguaje natural y utilizando los signos de puntuación típicos del castellano y nos va a devolver una cadena (String) con el texto apropiadamente formateado para usarlo en una URL.
public String GetStringRW(String nombre)
{
nombre = nombre.ToLower();
nombre = nombre.Replace("á", "a").Replace("é", "e").Replace("í", "i").Replace("ó", "o").
Replace("ú", "u").Replace("?",String.Empty).Replace("¿",String.Empty);
nombre = Regex.Replace(nombre, "[^a-zA-Z0-9]+", "-");
nombre = Regex.Replace(nombre, "[-]+", "-");
nombre = Regex.Replace(nombre, "[-]+$", String.Empty);
return nombre;
}
El método inicialmente pasa a minúsculas todo el texto y posteriormente quita las tildes y signos de interrogación.
En el siguiente paso sustituye cualquier caracter que no sean letras o números por un guión y finalmente elimina los guiones sobrantes (al final de la cadena o dos seguidos).