Propuesta de estándar de Google para hacer un sitio AJAX indexable - SEO
Autor: aartiles | Archivado en: SEO el día 8/Oct/2009
Después de varios meses de rumores, Google publicó ayer su propuesta de estándar para hacer un sitio AJAX indexable por los buscadores. Esto me toca muy de cerca porque llevo años desarrollando sitios muy dinámicos totalmente basados en AJAX y he tenido que rozar la ilegalidad para lograr que se indexen correctamente sin ser penalizados.
La mayoría de la webs AJAX hacen uso del carácter # para controlar el estado de la página y así permitir utilizar los botones de ir a página anterior y página siguiente sin abandonar la página y cambiar el estado de la web (mostrar/ocultar secciones). Casi todos los frameworks AJAX suelen proveer soluciones, como el history manager de mootools o el history manager para prototype que desarrollé hace ya algún tiempo. Al usar estos componentes las URLs suelen quedar así: http://www.miweb.es/index.php#pagina1
Partiendo de este tipo de URLs la propuesta plantea:
- Cambiar esas URLs añadiendo un signo de exclamación ! después del signo #, quedando la nueva URL así http://www.miweb.es/index.php#!pagina1
- Instalar un headless browser en nuestro servidor para que le sirvamos en HTML los contenidos javascript a los buscadores. Un headless browser es un navegador web sin interfaz gráfica. Estos programas permiten visualizar la información de una página tal como lo vería internamente un navegador web normal, o sea visualizar las coordenadas de los objetos, sus colores, sus tipos de fuentes y además son capaces de interpretar javascript. Google ha sugerido htmlUnit para Java, yo no he encontrado ningún otro.
- Preparar el servidor para escuchar URLs de la forma http://www.miweb.es/index.php?[QUERYTOKEN]=state, que en nuestro caso sería http://www.miweb.es/index.php?!=state
En resumen, hacemos la simple modificación a nuestras URLs AJAX añadiendo el !, y preparamos el servidor para escuchar URLs con los estados AJAX en el formato URL encode y estas URLs se servirán mediante un headless browser que interpretará el javascript y lo mostrará como HTML.
La verdad me alegra que Google esté dando este paso, al igual que ya ha hecho intentos con Flash, pero creo que esta no es la forma adecuada. Veo muy difícil que se popularice este método, puesto que casi ningún hosting compartido permitirá instalar estos headless browsers. Esto le dará una clara ventaja a los practicantes del SEO y beneficiará poco al que programa pensando en la experiencia del usuario tal como proponen las directrices del propio Google.
Ayer @alejandrosuarez hizo un comentario en twitter que me hizo mucha gracia, refiriéndose a las invitaciones para Google Wave:
Mérito d Google x tener a la gente dando invitaciones gratis … No deberían ellos pagar alguien? Xq bailamos la música q ponen?
Y es que tiene toda la razón, la posición que ha alcanzado Google hace que acatemos todas sus decisiones, ideas y productos sin miramientos. Creo que Google tiene potencial para darle solución a este problema,… interpretar ellos mismos el javascript y dejarnos a nosotros programar pensando en el usuario.
¿Y tú qué piensas?, ¿Crees que verá la luz esta propuesta de estándar? ¿Conoces otros headless browsers?
Propuesta de Estándar: http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html













Información Bitacoras.com…
Valora en Bitacoras.com: Después de varios meses de rumores, Google publicó ayer su propuesta de estándar para hacer un sitio AJAX indexable por los buscadores. Esto me toca muy de cerca porque llevo años desarrollando sitios muy dinámicos totalme…
¿Y es Google el que dice que una página hay que desarrollarla pensando en el usuario final? ¿Y ahora proponen esto? :(
Hola Alfredo, en qué dirección puedo leer la propuesta de Google al respecto?
@José Alberto: Sí, me parece muy fuerte que nos propongan esto. Google está olvidando qué le llevó al lugar que tiene ahora, deberían dejar un poco Wave y las tonterías. Espero que la entrada en escena de Bing ayude a que se pongan las pilas.
@Ignacio G.: Está en el primer párrafo.. pero aquí lo tienes: http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html
Hombre, pues yo la verdad es que creo que eso es un error en todos los aspectos (como quiere leer el AJAX y el hecho de querer leer el AJAX).
El principal problema del AJAX no es la falta de indexación de google, es el de la gente/navegadores/situación en la que los JS no se cargan… Es decir a tomar por c… todo el site.
Yo siempre que desarrollo un site con AJAX intento primero crear el site sin apoyarme en JS o AJAX y luego “doy la capa AJAX” por encima… Es más costoso, cierto, ya que haces el trabajo doble, pero da mucha más flexibilidad al site y le da la posibilidad de, entre otras cosas, ser leído por buscadores, accesible, navegable desde móviles…
Un ejemplo lo puedes tener en: coleccionismobaralDOTcom que aunque no sea correcto el site al 100% si cumple lo que te decía (y eso que era un favor)
Aunque también es cierto que esto no siempre se puede hacer al 100%, véase el caso de locafollowDOTcom ;-)
Respecto a la experiencia de usuario yo pienso que si la mejora, porque a los usuarios les gusta Ajax y Google se esfuerza en indexarlo para que los usuarios no pierdan el 60% de la información disponible en internet. Habría que considerar el consumo de recursos de servidor que el uso del standard supone, ya que el javascript se ejecuta en el servidor donde alojamos la web.
http://knol.google.com/k/seo-en-redes-sociales
A pesar de intentar definir un standard, se pueden utilizar otras técnicas enfocadas a crear contenido alternativo mediante el uso de los eventos javascript adecuados en los enlaces.
[...] escribí un comentario en el blog de Alfredo Artiles1, Bitácora de Webmaster, en un artículo relacionado con la nueva [...]
[...] escribí un comentario en el blog de Alfredo Artiles1, Bitácora de Webmaster, en un artículo relacionado con la nueva [...]
[...] aartiles | Archivado en: JavaScript, SEO el día 3/Ene/2010 El pasado octubre Google publicó una propuesta de estándar para hacer un sitio AJAX indexable por los buscadores. La solución consistía en añadir una carácter especial ! a la almohadilla # que se suele [...]