mayo 28, 2010 0

Cómo convertir URL en URL SEO (URL amigable) en ASP.NET (1º parte)

Por en Internet y Tecnología, SEO

Valencia, 28/05/2010, Gatsu


Cualquier gestor de contenidos (CMS), blog, y a nivel general, todo proyecto web descargable, tienen una opción dentro del panel de administrador, que al activarla convierte las URL en URL SEO (o URL amigables), pero, como casi todos los posts que ya he escrito, para todo aquel que quiera convertir las URL de su página, que siga leyendo.

Lo primero a tener en cuenta es que necesitaremos una librería llamada urlrewritter (descargable desde su página web). Esta librería es gratuita para cualquier tipo de uso, e incluso puedes descargarte su código fuente para modificarla (yo no lo hice). Una vez descargada, la añadimos al proyecto web que estemos creando (únicamente compatible con sitios asp.net) y abrimos el archivo de configuración (web.config) para editarlo y hacer que lea la librería. Exactamente tenemos que hacer lo siguiente:

  • Dentro de la etiqueta “configuration” pegamos el siguiente código

    [xml]<configsections>
    <section name="rewriter" requirePermission="false"
    type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler,
    Intelligencia.UrlRewriter" />
    </configsections>[/xml]

  • Dentro de la etiqueta “system.web” colocamos este fragmento

    [xml]<httpmodules>
    <add type="Intelligencia.UrlRewriter.RewriterHttpModule,
    Intelligencia.UrlRewriter" name="UrlRewriter" />
    </httpmodules>[/xml]

Una vez con este código insertado, solo nos quedaría establecer las reglas para que convierta las URL, para ello copiamos después de que se cierre la etiqueta “system.web”

[xml]<rewriter>
<rewrite url="URLPRUEBA.aspx" to="redirect.aspx" processing="stop" />
</rewriter>[/xml]

La etiqueta <rewriter> es la que tenemos que respetar, y dentro de ella insertamos tantas etiquetas <rewrite> como páginas distintas tengamos (por ejemplo, en un foro las páginas se podrían distinguir por “posts”, “foros”, “búsqueda”…). En el ejemplo anteriormente mostrado, utilizo las propiedades “url“, “to” y “processing” en tonde:

  • url es la URL ya editada (y que por si sola no existe esa página)
  • to es la página original y existente
  • processing indica que hacer después de la transformación. Yo lo tengo en “stop” y me va bien (lo ví en otros ejemplos)

Como sé que así explicado suena difícil e ilógico, os pongo un código para que lo probeis. En una página llamada default.aspx ponedle un hyperlink que apunte a URLPRUEBA.aspx

[html]<a href="URLPRUEBA.aspx">Go 2 redirect.aspx</a>[/html]

Ahora os creais una página que se llame redirect.aspx, y dentro le poneis lo que querais, un hola mundo o una imagen de Cristina Pedroche

Con eso hecho y el archivo web.config configurado tal y como he descrito en el post, al clickar en el enlace de Go 2 redirect.aspx debería abrirse una página llamada URLPRUEBA.aspx con el contenido que le hayais puesto.

Los usuarios avanzados verán este método bastante inútil, puesto que muchas páginas funcionan con variables, tranquilos, para ello existen las expresiones regulares, pero lo explicaré en otro post, espero no tardar mucho.

Enlaces relacionados:
- Ayuda de url rewriter

Posts relacionados:

Pandalabs detecta un ataque masivo en la Red a través de técnicas Black Hat SEO
Crear una cuenta de Feedburner
Tresillo, tresillos o tresillo: música, muebles o cartas

Tags (etiquetas): , , , , , ,


1&1 Programa de afiliados

No hay respuestas a “Cómo convertir URL en URL SEO (URL amigable) en ASP.NET (1º parte)”

  1. jaume dice:

    Más de un año después de que escribieras el post, a ver si puedes resolverme una duda:

    Me dispongo a modificar una web para que use url amigables, activo el modulo URL rewrite de asp.net en iis y doy de alta todas las reglas en el web.config para que url del tipo: misitio.com/product.aspx?id=456 pase a ser una url amigable del tipo misitio.com/product/456/zanahoria-amarilla

    Ok, todo funciona correctamente. Pero con solo esto no consigo nada, ya que todos los enlaces de la web apuntan a url del tipo misitio.com/product.aspx?id=456

    Debo modificar manualmente todos los enlaces para que en lugar de funcionar como ahora pasen al modo ?

    No hay ninguna opción para automatizar que cuando el sistema reciba una peticion a product.aspx?id=456 automaticamente la modifique?

    Gracias.

Deja un comentario