format internet:

…please wait (49% completed)…

Archive for the ‘SEO’ Category

Los problemas del desarrollo web en España resumidos en senado.es

Posted by javier ramirez on November 12, 2012

disclaimer: he escrito este artículo después de navegar quince minutos por la web del Senado. No pretende ser un análisis exhaustivo de sus deficiencias. La mayor parte de los desastres que describo se corresponden a la sección de la web y del buscador (responsabilidad de VASS y GFI). La parte del pequeño Senado correspondiente a Ibermatica está algo mejor resuelta, aunque también presenta deficiencias.

Vaya por delante que 500,000 euros para una web compleja no me parece un precio excesivo. Pagar alrededor de 100,000 euros anuales por desarrollador es algo que entra dentro de lo normal, por lo que una web compleja que necesite de cinco desarrolladores durante un año va a estar en ese rango de precio. Si además la web incluye mantenimiento o necesita de cosas sofisticadas como gestión de documentos o un canal de streaming de video, el coste es normal que suba. Si la oferta también incluye los gastos de alojamiento y mantenimiento, me puede llegar a parecer incluso un precio bastante ajustado.

¿He dicho más de 100,000 euros por desarrollador al año? Sí. Exactamente. Es lo que cuesta contratar un buen servicio. Unos 50 euros la hora. De hecho, es bastante habitual encontrar precios por encima de ese rango, aunque también es habitual encontrar precios bastante más baratos. No conozco a ninguna consultora de las grandes en España que cobre ese dinero por sus desarrolladores, sino que el rango está más bien alrededor de los 20 euros (siempre se colocan perfiles de “más nivel” como jefes de proyecto o arquitectos que sí se venden por 50 euros la hora o incluso más caros, pero el grueso del equipo se factura a precio de saldo).

Cuando haces las cuentas, le quitas la seguridad social, el beneficio de la empresa, una pequeña reserva por trabajador para posibles indemnizaciones e imprevistos… nos queda que un desarrollador web que trabaje en una consultora, difícilmente va a poder cobrar más de 20000-25000 euros. Y si quiere ganar más, tendrá que dejar de desarrollar software y dedicarse a hacer tareas de gestión (arquitecto, jefe de equipo…) o comerciales (preventa, evangelista…). No hay nada malo en hacer tareas de gestión o comerciales, pero sí hay un problema en dejar que la gente que está construyendo tu software sea gente con poca experiencia o con una motivación baja. Por muy buenos jefes que tengas, si los desarrolladores no entienden el contexto de lo que están haciendo, el resultado va a ser subóptimo en el mejor de los casos, o desastroso como en el caso de la web del Senado.

El problema en España es que pensamos que cualquiera puede hacer una web. Como pintar una página HTML es lo más sencillo del mundo, tiramos a lo más barato y nos ahorramos un dinero pensando lo listos que somos. Y como no queremos pagar el dinero que vale, cuando la gente ya ha aprendido y tiene experiencia, se pasa a puestos de gestión donde van a poder ganar más dinero que le permita lujos tales como independizarse o incluso tener un hijo, con lo que los desarrollos los acaban haciendo siempre o la gente que acaba de terminar la universidad o los refugiados de otras carreras que se meten en la informática porque les dan un curso y con eso ya pueden hacer una web.

Hay más problemas que ese, por supuesto. Como el hecho de que para presentar una oferta a una administración pública te pidan unas condiciones imposibles de cumplir para cualquier PYME, o que a las grandes consultoras no les duela a veces hacer ofertas aún perdiendo dinero porque saben que ellas se lo pueden permitir.

El resultado de todo esto, es que las Administraciones públicas y las empresas grandes en España, con honrosas excepciones, tienen unas webs que dan vergüenza porque el desarrollo se lo han hecho estas empresas en las que la gente que realmente sabe está en puestos de gestión, y los pobres a los que les toca hacer el desarrollo hacen lo que pueden con los plazos imposibles que les piden, la poca experiencia que tienen, y las condiciones laborales de risa que les ofrecen.

Hablar es gratis, me diréis.. queremos pruebas.. no hay problema. Con la chapuza de web del Senado que se ha lanzado hoy veréis muy fácilmente de lo que os hablo. Independientemente de que el precio no me parece desorbitado, la web me parece desastrosa.

A simple vista, es una página web que funciona. El diseño no es ni mejor ni peor que el de muchas otras webs que hay por ahí. A mí personalmente se me antoja algo viejo para una web moderna, y el tamaño de letra me parece minúsculo, considerando especialmente que la web se autoproclama accesible, pero no soy experto en usabilidad así que no me quiero meter en esa guerra. En la guerra que sí me voy a meter es en la de las cosas que en un vistazo rápido están mal, aunque a simple vista un no profesional no se daría cuenta.

Cómo llegar hasta la página

Básicamente hay cuatro formas de llegar a una web. O le das a un enlace que alguien te ha pasado (facebook, twitter…), o escribes directamente la dirección de la web en tu browser, o la buscas en google (una gran parte de la gente siempre navega usando el buscador, no entienden que existe la barra de navegación del browser) o vas por un bookmark.

De esas cuatro opciones, TRES están rotas en este preciso momento. Si uno quiere escribir “senado.es” en su navegador, verá cómo le dice “página no encontrada” en lugar de mostrarle la home. Para poderla ver, es necesario escribir www.senado.es. Este problema es de primero de web, y es muy simple de resolver. Pero da una primera impresión de las prisas o la falta de cariño en este desarrollo.

Un problema mucho más grave. A día de hoy (aunque no por mucho tiempo) hay más de dos millones de páginas indexadas en google para el sitio del senado. Esto es bueno, de hecho es muy bueno. El problema es que esos dos millones son para la versión antigua de la web. En la versión nueva se ha cambiado el esquema de URLs, con lo que ahora todos los resultados que da google, excepto la home, han dejado de existir. Así como te lo cuento. El excelente trabajo de indexación de más de dos millones de páginas que YA existían en google, han desaparecido de la noche a la mañana porque a nadie se le ha ocurrido hacer un módulo que convierta de las URLs antiguas a las nuevas. Yo esto lo he programado antes en unos cuantos sitios y es un trabajo de unas pocas horas. El impacto es brutal.

Si alguien quiere probarlo es bien fácil. Ejecutas en google la búsqueda

site:senado.es

Y pinchas en cualquier resultado (excepto la home). Página no encontrada. Ajá.. bien. Por cierto, ya que hemos llegado a “página no encontrada”, intenta usar cualquiera de los enlaces del menú superior (cambio de idioma, contactar…) o del pie de página. ¿No puedes? Ya, ni yo. Otro detalle de primero de web que también se les ha pasado.

Obviamente si tenías un bookmark a la web, tampoco te va a funcionar por el mismo problema. Han cambiado las URLs, pero nadie se ha ocupado de redigirir las antiguas. Todo muy útil para la gente que, como yo, a veces se guarda enlaces a documentos para poderlos consultar más adelante sin buscarlos de nuevo.

Calidad del código de la página

Una vez llegamos a la página, lo primero que he hecho ha sido pasar el validador del w3c. Es una cosa que me gusta hacer siempre en las páginas porque me da una cierta medida de la calidad. Ojo, hay que tomarse los validadores como lo que son y no ser demasiado estrictos. Algunos problemas de validación son menos graves que otros y en algunos casos es imposible no tener algún error poco grave, como por ejemplo atributos extras.

En el caso de la web del senado, hay 88 errores y 44 avisos en la home. De esos errores unos cuantos son graves, como que hay input fields en zonas no permitidas (que puede hacer que algunos browsers no puedan usar los formularios) o que hay IDs duplicados (que puede complicar el desarrollo en el futuro, ya que cualquier desarrollador cuando programa una web espera que los IDs sean únicos, tal y como manda el estándar).

Si examinamos con más detalle el código fuente de la web, vemos que no se han tomado demasiadas precauciones para reducir el número de peticiones que hace la página, incluyendo al menos 12 ficheros en la cabecera. Cuando se programa un sitio en el que se espera mucho tráfico, esto debería estar mucho mejor resuelto. Además, si realmente va a haber mucho tráfico esperaría usar un CDN o cuando menos un dominio separado para los ficheros estáticos, de manera que no tenga que malgastar tráfico enviando las cookies para cada petición separada. Ya que estamos, utilizar varios subdominios estáticos me ayuda a enviar más peticiones en paralelo, haciendo que la página cargue más rápida.

Además, siguiendo con el código fuente de la página, en muchas de las páginas internas aparece javascript y css mezclado con el código HTML, lo que hace que las páginas ocupen más de lo que deberían (es decir, malgastan tráfico), hace que vayan más lentas y complica enormemente el mantenimiento en el futuro y la posibilidad de reusar código en otras partes de la web. Para ser justos, esta parte de código mezclado la he visto solo en el buscador, que es responsabilidad de GFI. Los desaguisados anteriores eran de la parte correspondiente a VASS.

Indexación en buscadores

Una parte importantísima del tráfico de un sitio llega por los buscadores. Cuando yo quiero informarme sobre algo, normalmente le pregunto a google, y luego sigo los enlaces. Me parece vital que una web en la que hay mucho contenido esté bien construída para que esos contenidos aparezcan indexados en Google/Bing y similares.

Ya hemos visto que el trabajo de indexación hecho hasta ahora con la web antigua se ha roto por completo con la nueva versión, pero ¿Está preparada para indexar bien los nuevos contenidos?

Para que una web indexe bien ha de tener estas consideraciones:

  • El código debe ser válido
  • Debe hacer buen uso de los elementos “title”, “description” y “h1”
  • La estructura ha de ser lo más semántica posible, añadiendo meta información extendida en los casos en los que se pueda (por ejemplo en el caso de las comparecencias, se puede añadir información del evento, o en el de los senadores información sobre la persona)
  • Los enlaces, las imágenes y los videos han de tener su “anchor text” o su “alt” bien definido pensando en los usuarios y, por tanto, en indexar bien
  • En un sitio multi idioma, hay que diferenciar a nivel de URL los diferentes idiomas y hay que proporcionar los enlaces canonical y alternate adecuados, para que cuando un usuario busca una página le aparezca en su buscador en el idioma más relevante para él
  • Si el sitio tiene mucho contenido, hay que proporcionar un fichero de sitemap en el que se le indica al buscador qué páginas lo componen
  • La estructura de las URLs debe ser clara

De todas estas consideraciones, la web del senado no cumple NI UNA SOLA. No solamente eso, sino que en su fichero robots.txt a día de hoy aparece una directiva en la que explícitamente se le pide a todos los buscadores que no indexen ninguna página del site, Ninguna en absoluto. Esto significa que cualquiera que busque información sobre el Senado en google va a encontrar cero referencias.

Móvil

En un mundo en el que la gente comparte enlaces via twitter/facebook/email y en el que cada vez más estos tres medios se leen en un móvil o en una tableta, me parece razonable pedir que al menos las páginas de aterrizaje estén optimizadas para estos dispositivos. No hablo de que el sitio completo sea usable por móvil, porque eso puede añadir un coste considerable, pero sí que las páginas susceptibles de ser enlazadas lo contemplen.

De hecho, Chus Pastor, la directora de Administración Pública de VASS, comentó que la web se vería en cualquier dispositivo.

Chus, ¿Has probado a verla en un móvil? Mírala tú, que a mí me da la risa.

Conclusión

Hacer una web es mucho más que saber escribir HTML y ponerle colores. Obviamente esas dos cosas son básicas, pero hay muchísimo más que has de tener en cuenta si tienes que hacerla, y aprender todo eso requiere tiempo y mucha experiencia.

¿Empezamos a ver por qué no es bueno que tu web la haga gente a la que le pagas poco dinero y, que por lo tanto, tiene poca experiencia? Ellos hacen lo mejor que saben, pero desafortunadamente no es suficiente para un sitio complejo.

Si quieres hacer una buena web, no solamente algo que “dé el pego” cuando la muestras en el browser, entonces necesitas gente que sepa lo que está haciendo. Y la informática tal cual se entiende en España provoca que esa gente abandone su carrera como desarrollador porque los sueldos y las condiciones son incompatibles con una vida digna.

Afortunadamente, hay vida más allá de las grandes consultoras donde el mundo es diferente y donde la gente se siente orgullosa de lo que hace. El reto ahora es que los grandes clientes se den cuenta de que les están timando y de que deberían exigir mucho más por su dinero. Y eso solo se conseguirá en la medida de que haya más sensibilidad hacia el trabajo de programador y más conocimiento de lo que aporta en un proyecto.

¿Son 500,000 euros muchos para hacer la web del Senado? No lo creo. Pero para el resultado obtenido, me parece un robo a mano armada.

Posted in development, internet, javier ramirez, SEO | Tagged: , , , , | 147 Comments »

SEO for developers

Posted by javier ramirez on March 10, 2010

As a web developer, my work involves much more than just coding; many times I find myself covering topics such as user experience, scalability, reliability of the system, or metrics and analytics to track the acceptance of a site.

SEO is left many times on the hands of the marketing team, but there are many technical aspects that are important in order to make a site appealing both for visitors and searchbots. Since web technologies (and search engines) evolve quickly, if you want to have a good site you need to keep posted about the latest developments. Sadly, there are a lots of materials based on outdated information and there are many myths and legends around the topic

I have been following closely the status of web crawling and indexing for some years, and we have been applying with success many of the practices I’ve learned to improve the sites of some clients. None of these practices involved links from external sites or bought traffic, just a better structure and changes of the contents and the sites’ internals.

Since we want to follow these practices in all the projects we are taking, I decided to prepare an internal training session for the ASPgems’ development team.

Here are the slides for my presentation. Even if they are not as good without the explanation (sorry, no video this time), I hope you’ll find them useful. UPDATE: video -in Spanish- has been uploaded to the media page of my blog.

This material is published under a Creative Commons NonCommercial-Attribution-ShareAlike license 2.5

If you find it interesting or if you are going to use it for any purposes, I’d appreciate an e-mail to jramirez@formatinternet.com

Posted in development, internet, javier ramirez, SEO, sites | Tagged: , , , , , | 10 Comments »