Alfonso Moure Ortega - SEO Head Manager Grupo Muchoviaje, 40Viajes, Masnatura & Ociocruceros
Moure Profesional | SEO Muchoviaje
Inicio > asp.net, desarrollo, google > ViewState y Google: ¿afecta a los trabajos de indexado?

ViewState y Google: ¿afecta a los trabajos de indexado?

Wednesday, 13 de May de 2009 moure Dejar un comentario Ir a comentarios

Se escucha desde hace mucho tiempo el sonido distante de éste mismo problema: ¿afecta la existencia del ViewState de ASP.NET en el indexado de Google? La respuesta solo puede tomar dos valores: sí o no. Y cada persona, cada SEO, cada gurú de Internet, os responderá una cosa diferente. Por supuesto, yo también tengo mi teoría.

Y es la siguiente: sí, el ViewState de ASP.NET afecta al posicionamiento en Google. ¿Por qué? Os doy varias razones:

  1. Por su tamaño: en páginas demasiado complejas y con una gran carga de controles ASP.NET, ocupará tanto espacio que nos arriesgamos no solo a perjudicar a los usuarios menos favorecidos en su velocidad de conexión, sino que también nos arriesgaremos a producir un timeout en las consultas de Google.
  2. Por el desplazamiento de contenido: Google utiliza como criterio de posicionamiento, como todos bien sabemos, la posición de la información y metainformación dentro del documento HTML. Un ViewState demasiado grande moverá los datos realmente importantes (es decir, todo el BODY) hacia abajo.
  3. Por su incoherencia como información: El contenido del ViewState es incomprensible, no solo para un humano, sino también para una máquina ajena a la aplicación ASP.NET en ejecución. Incluso a veces es incomprensible para ella misma.

¿Cómo evitar su existencia? No siempre es posible. El uso de callbacks en ASP.NET, aunque es algo muy cómodo, no es ni de lejos recomendable para atraer a Google. Todos lo sabemos. Pero a veces, se hace inevitable.

De todas maneras, si podéis evitar el uso de ViewState (y por favor, no uséis variables de sesión, porque os volveréis majaras trabajando con ellas), os digo un modo bien sencillo de desactivarlo: en la etiqueta inicial de vuestra página ASP.NET, no hay más que activar EnableViewState como false:

<%@ Page Language=”C#” EnableViewState=”False” %>

Lógicamente podéis usar este mismo atributo en cualquier control de vuestra página, pero gracias a realizarlo a nivel de Page, os aseguraréis de que se extiende como es debído y que nada se os pase por alto. Recordad así mismo que podéis establecer EnableViewState como false a nivel de página, pero como true a nivel de control, simplemente indicandolo en la etiqueta propia del elemento que queréis que pueda usar nuestro valioso espacio de control de estado.

¿Dudas? Dejad un comentario y gustoso os echaré una mano.

  1. Thursday, 21 de May de 2009 a las 15:56 | #1

    Digo yo que dada la penetración de ASP.NET en el mercado, google ya tendrá en cuenta la existencia del viewstate y la ignorará, que es lo suyo…

    Además, el viewstate se almacena en un input hidden, lo cual, no creo que para google sea muy relevante los campos variables de formularios y más si son hidden.

    Digo yo..

  2. Thursday, 21 de May de 2009 a las 22:05 | #2

    Eso mismo pensaba yo, pero tras comprobar algo tan sencillo como el tiempo de carga (da igual todo lo que ASP.NET se implante en el mercado, si el ViewState ocupa mucho, seguirá afectando al tamaño del fichero) y eliminar el campo, hemos comprobado un efecto muy positivo en posicionamiento.

    La velocidad y frecuencia del rastreo ha aumentado, e información localizada en puntos inferiores de la página ha sido indexado de un modo mucho más eficiente.

    Todo es probar: a veces la lógica no nos lleva a la conclusión eficaz de cara a Google. Es mejor probar.

    De todas maneras, yo era más de tu idea. Pero funcionar ha funcionado, eso te lo aseguro.

  1. Sin trackbacks aún.
Alfonso Moure Ortega ghostmou http://www.moure.es Muchoviaje Madrid SEO Head Manager Grupo Muchoviaje - SEO, GEO, SMO, .NET developer
Alfonso Moure Ortega  |  Viajes libres  |  Vitaedot  |  Xinwen Xibanya  |  Efemérides  |  Hard Rock  |