SEO Profesional


¿SEO con Asp.Net?


Carlinhos el Viernes, 16 de Marzo de 2007


Hace unos días fui invitado a escribir en esta estupenda revista electrónica, SeoProfesional.com. No me lo tuve que pensar mucho para aceptar. Pedro y Duque: os doy las gracias por invitarme. Es un honor para mí formar parte de este proyecto.

Sin más preámbulos, os voy a comentar mis impresiones y experiencia con la tecnología .Net de Microsoft, esta vez desde el punto de vista de la optimización de cara a los motores de búsqueda y los criterios mínimos de usabilidad y accesibilidad.

La aparición de la tecnología del lado del servidor Asp.Net hace unos pocos años, supuso una cierta revolución en la manera de planificar las aplicaciones web. Por primera vez, Microsoft conseguía poner a disposición de una aplicación web una biblioteca de funciones de sistema muy completa, al más puro estilo Java, y desaparecían las limitaciones que existían en la versión anterior de ASP. Ahora ya no hacían falta componentes externos difíciles de programar e instalar. Cualquier función que podamos imaginar, tales como el acceso a redes, FTP, correo electrónico, generación de imágenes dinámicas, XML, acceso a cualquier proveedor de datos y servicios web, eran accesibles y programables sin necesidad de compilar e instalar en el servidor web componentes externos.

Todas estas características ya estaban disponibles en otras plataformas como PHP y Java. La verdadera novedad residía en que por primera vez se podía lograr esto con ASP y que el entorno de programación era bastante más sencillo de aprender y manejar que Java.

Pero la principal novedad de Asp.Net fueron los controles de servidor. Estos ya habían sido introducido por el producto de Alaire Coldfusion (adquirido posteriormente por Macromedia, quien a su vez fue absorbida el pasado año por Adobe). Sin embargo, los controles de Asp.Net eran más flexibles, permitiendo una gran carga de programación en el lado del servidor, al tiempo que se reducía el código necesario gracias a que estos controles estaban “prefabricados”. Podían ser configurados y personalizados de forma muy sencilla mediante un editor, tales como Visual Studio .Net o, en menor medida, DreamWeaver MX. Incluso la codificación manual era relativamente fácil.

Sin embargo, estos controles, aunque sencillos de implementar y totalmente funcionales para el cliente, no están en absoluto optimizados para buscadores ni cumplen con los requerimientos de usabilidad.

Por ejemplo, los controles DataGrid de las versiones 1.0 y 1.1 y su sucesor, el GridView de la versión 2.0, admiten una función de paginación y ordenación por columnas con la cuál se pueden conseguir efectos que normalmente requieren cientos de líneas de código en el lado del servidor sin prácticamente esfuerzos.

Sin embargo, los enlaces de página anterior, siguiente y demás funcionan con Javascript. No son enlaces naturales a otra página dinámica, utilizando, por ejemplo, parámentros en la url. Esto significa que los motores de búsqueda sólo rastrearán la primera página. No podrán interpretar ni seguir el resto de las páginas. Por otro lado, los usuarios que no dispongan de Javascript o lo tengan deshabilitado, tampoco podrán pasar de la portada. Por otro lado, el código Html que genera es demasiado rígido, apoyándose en el uso de tablas.

Otros controles como LinkButton y muchos otros dependen de Javascript en el lado del cliente para poder funcionar.

¿Significa esto que tenemos que renunciar a Asp.Net si queremos crear un portal dinámico “Seo friendly” y usable? En absoluto.

Lo que debemos hacer si queremos que nuestra web sea accesible es tratar de evitar los controles que emplean javascript para sus funciones y aquellos que no permiten personalizar completamente la forma en la que se representan.

Por ejemplo, podemos utilizar el control GridView para secciones privadas como la administración. Nos ahorrará muchísimo trabajo. Por el contrario, si tenemos un listado o una página de resultados visible públicamente, lo mejor es emplear el control Repeater, que permite una personalización total y es muy parecido a los bucles for de la mayoría de los lenguajes de programación. Si queremos paginarlo, deberemos hacer un poco de trabajo extra y programar de motu propio todas las funciones y parámetros en las url para lograrlo.

Asp.Net es muy flexible y permite trabajar en modo de ahorro de trabajo, empleando controles, pero también funciona excelentemente en modo de programación tradicional, como haríamos con Php o Java. Este último método, combinado con los controles que sí devuelven código estandard, es el que se debe emplear si disponemos de tiempo adicional y queremos un resultado accesible, completamente personalizado y con un acabado más profesional.

5 Comentarios a “¿SEO con Asp.Net?”

  1. Pedro Perles Dice:

    Hola Carlinhos, antes que nada pedirte mil disculpas por lo del user. Ha sido un lapsus mio…

    En lo referente al artículo aunque he programado varias aplicaciones en .NET (C# y Visual Basic) en realidad solo he desarrollado dos grandes proyectos un programa de facturación y gestión de inventario en Red y otro programa para gestión de multas de policías en PDA (proyecto de fin de carrera).

    Veo que es muy sencillo de manejar pero en la red tiene el inconveniente que hay otras estructuras muy asentadas (PHP,ASP) si me tengo que decantar por las nuevas tendencias prefiero JSP antes que ASP.NET

    Pero sin duda la facilidad de programación es muy grande, pese a que conozco algunos compis que no cambian sus lenguajes por nada del mundo. Son muy reacios a la evolución

    Ellos se lo pierden :D

    Excelente artículo !!

  2. Luismi Dice:

    Creo que el jsp y la tecnología JAVA está en esto momentos un poco mejor situada.

    Pero todo es cuestión de probarlo

  3. Carlinhos Dice:

    Asp.Net tiene varios problemas más aparte de los que he comentado que impiden que despegue definitivamente y esté tan extendido como Php:

    - Los servidores para alojarlos suelen ser bastante más caros que los servidores basados en Linux / BSD.
    - No deja de ser un producto Microsoft, con todo lo que conlleva, positivo y negativo.
    - Existen mucho menos proyectos Open Source que en Php y los que hay, al menos en mi opinión, tienen bastante menos calidad.
    - Se ha creado una fama de ser una herramienta complicadísima de manejar, aunque realmente, no hay para tanto.

    Hablando de Jsp, me parece una tecnología muy buena, aunque Sun quizá debería ponerse un poco las pilas y hacerla más accesible para el programador medio y aficionado y modernizarla un poco.

    P.D. Lo del programa para las multas tiene muy buena pinta. A ver si me lo enseñas un día ;-)

  4. Pedro Perles Dice:

    Claro Carlinhos si quieres te entrego el código fuente …

    Como te digo fue el proyecto de fin de carrera elaborado para Pocket PC

  5. Desarollador Web Dice:

    Yo estoy de acuerdo con que haya menos proyectos open source, pero no que sean de menor calidad. Existen muchisimos proyecto sen codeproyect, con todo el codigo y mucha documentación, articulos técnicos de cómo funciona .NET por debajo. Es más, este año pasado, microsoft ha luberado el codigo de las librerías que conformaban el FRAMEWORK, con lo que aún da más flexibilidad a la hora de programar. El artículo es muy bueno y no le falta razón en nada.
    Solo quería hacer un apunte, y es que lo que peor lleva Microsoft desde que existe es regirse por los stándares. En la nueva versión del IDE VS2008 existen grandes mejoras, como poder depurar javascript, que hasta en momento era algo casi imposible. A pesar de esto, sigue caeciendo de solvencia a la hora de generar codigo html moderno. Sigue abusando de las tablas a la hora de renderizar los controles y hay que usar bastantes truquitos para poder hacer una web accesible.
    En fin, esta es la tecnología que me gusta, pero no por ello es la mejor. PHP no lo conozco muy a fondo, y si JSP, y aún asi me gusta más .NET.

    Saludos !!

Deja tu comentario en "¿SEO con Asp.Net?"



Artículos del Archivo