Mejoras SEO de ASP.NET 4

[Además del blog, podéis seguir a Scott en Twitter:twitter.com/scottgu]

Éste es el décimo tercer post de una serie que estoy haciendo sobre la próxima versión de VS 2010 y .NET 4. En el post de hoy veremos algunas mejoras que se han hecho en el Search Engine Optimization (SEO) con ASP.NET 4

¿Porqué SEO?

Search Engine Optimization (SEO) es importante por cualquier publicación web. Un gran porcentaje de tráfico en los sitios viene de los motores de búsqueda, y mejorando la relevancia de búsqueda de tu sitio terminará en un mayor tráfico de usuarios desde motores de búsqueda ha tu sitio (que puede incrementar directa o indirectamente los beneficios de tu sitio).

Midiendo el SEO de tu sitio con SEO toolkit

El mes pasado escribí sobre SEO Toolkit que hemos publicado para que podáis usarlo para analizar vuestro sitio, y que os ofrece sugerencias sobre cómo corregir los problemas que encuentre.

Os recomiendo que la descarguéis y que la uséis con cualquier web pública en la que trabajéis. Es realmente sencillo detectar errores y corregirlos.

Mejoras SEO en ASP.NET 4

ASP.NET 4 incluye un montón de características que pueden ayudaros a optimizar vuestros sitios para los motores de búsqueda. Algunas de esas características incluyen:

  • Nuevas propiedades Page.MetaKeywords y Page.MetaDescription
  • Nuevo soporte de rutado URL para ASP.NET Web Forms
  • Nuevo método Response.RedirectPermanent()

Aquí tenéis unos detalles sobre cómo aprovechar estas nuevas características para mejorar la relevancia de vuestro sitio en los motores de búsqueda.

Propiedades Page.MetaKeywords y Page.MetaDescription.

Una simple recomendación para mejorar la relevancia de vuestras páginas es aseguraros de que siempre ponéis palabras relevantes y descripciones en los <meta> tags de la sección <head> de vuestro html. Por ejemplo:

Una de los mejoras de ASP.NET 4 Web Forms es la adición de dos nuevas propiedades de la clase Page: Metakeywords  y MetaDescription que permiten establecer programáticamente los valores de estas propiedades en el code-behind.

El control de servidor <head> de ASP.NET 4 ahora busca estos valores y los usará cuando lanze las secciones <head> de las páginas. Este comportamiento es particularmente útil para escenarios en el que estéis usando master-pages en vuestro sitio - y la sección <head> termina en el archivo master que está separado del .aspx que contiene la página específica. Podéis establecer estas propiedades en la página .aspx y hacer que sus valores se renderizen automáticamente en el head de la master page.

Además de poner estas propieades programáticamente en el code-behind también podeis ponerlas declarativamente en la directiva @Page de los .aspx. Aquí tenéis cómo hacerlo:

Como probablemente esperéis, si establecéis estos valores programáticamente se sobreescribirá cualquier valor que hayáis inicializado de forma declarativa tanto en la sección <head> como en la directiva @Page

URL routing con  ASP.NET Web Forms

El URL Routing fué una característica que introdujimos en ASP.NET 3.5 SP1, y que es usada en aplicaciones ASP.NET MVC para exponer urls limpias y orientadas a SEO. El URL Routing nos permite configurar la aplciación para que acepte peticiones URL que no se mapean a archivos físicos. Sino que, podemos usar el routing para definir URLs que son significativas para los usuarios y que pueden ayudar a los motores de búsqueda.

Por ejemplo, la url tradicional para una página que muestra las categorías de productos puede ser:

http://www.mysite.com/products.aspx?category=software

Usando el motor de routing de URLs de ASP.NET 4 podemos configurar la aplicación para que acepte una url como la siguiente para renderizar la misma información:

http://www.mysite.com/products/software

Con ASP.NET 4.O, las urls como la anterior son mapeadas tanto para las controladoras de ASP.NET MVC como para páginas con Web Forms. Incluso podéis tener una única aplciación que contenga Web Forms y Controladoras MVC, y usar un conjunto de reglas de rutado para mapear las urls entre ellas.

Leed mi post anterior sobre URL Routing con ASP.NET Web Forms para aprender más sobre las nuevas características de rutado de url de ASP.NET y Web Forms.

Método Response.RedirectPermanent()

Es muy común en aplicaciones web el mover páginas y otros contenidos con el tiempo, lo que puede llevar a acumular un montón de enlaces rotos en los motores de búsqueda.

En ASP.NET, los desarrolladores han tenido que cojer viejas URLs usando el método Response.redirect() para redirigir una petición a una nueva URL. Sin embargo, lo que muchos desarrollaodres no saben es que el método Response.Redirect() emite una respuesta HTTP 302 (redirección temporal), que resulta en una vuelta más del viaje que los usuarios tienen que hacer para acceder a URLs antiguas. Los motores de búsquedas no siguen estos saltos - lo que siginifica que usar esta redirección afecta negativamente al ranking de vuestra página. Podéis usar SEO Toolkit para idenficiar los lugares en los que vuestro sitio funciona de esta manera.

ASP.NET 4 introduce el nuevo método Response.RedirectPremanent(string url) que podemos usar para realizar la reidrección usando la respuesta HTTP 301 (movido permanentemente). Esto hará que los motores de búsqueda y otros agentes reconozcan esa redirección permanente y usan la nueva URL asociada al contenido. Esto permitirá que vuestro contenido sea indexado y se mejore el ranking de tu página.

Aquí tenéis un ejemplo del uso del método Response.RedirectPermanent() a una url específica:

ASP.NET 4 también introduce los métodos Response.RedirectToRoute(string routeName) y Response.RedirectToRoutePermanent(string routeName) que pueden usarse para redirigir a usuarios usando una redirección temporal o permanente usando el motor de rutado url. El siguiente código muestra cómo usarlo para enrutar (a una categoría) registrada en el sistema de routing de URL:

Podéis usar las rutas y métodos anteriores tanto en urls para Web Forms como para MVC.

Resumen

ASP.NET 4 incluye un montón de mejoras que hacen más facil dar más publicidad a nuestras web en los motores de búsqueda. Cuando lo combinamos con SEO Toolkit, seremos capaces de usar estas características para incrementar el tráfico de nuestro sitio - y aumentar directa o indirectamente los beneficios que nos den por nuestro sitio web.

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos.

Artículo original.