La propuesta de SEO para AJAX de Google ya es realidad
Autor: 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 utilizar para parametrizar las páginas AJAX.
Las URLs quedarían así http://www.miweb.com/#!accion-parametro1-parametro2, y del lado del servidor habría que escuchar URLs en la forma http://www.miweb.com/?_escaped_fragment_=accion/parametro1-parametro2. La propuesta sugería instalar un headless browser en nuestro servidor para que interpretara el javascript y brindara el HTML interpretado al bot del buscador a través de la anterior URL. O sea que donde el bot encuentre URLs con los caracteres #!, en vez de indexar esa URL indexaría la versión del servidor terminada en ?_escaped_fragment_=accion/parametro1-parametro2.
En aquel momento critiqué la propuesta y hoy lo vuelvo a hacer… paso de sobrecargar mi servidor para ahorrarle trabajo a Google instalando nada. Pero esto no implicaba que hiciera mis experimentillos para sacarle partido a todo esto.
Un par de semanas después lanzamos el buscador de Twitter LocaFollow, un proyecto que surgió gracias a este experimento y otras cosas que quería probar con Google App Engine, Google AJAX API y con la API de Twitter, pero esa es otra historia que da para otro post ;-).
LocaFollow es un sitio totalmente AJAX, todo el trabajo se realiza en javascript y casi nada del lado del servidor. Evidentemente esto está contraindicado para cualquier proyecto que pretenda posicionarse en buscadores por muchos términos, cosa que inicialmente no entraba en mis objetivos.
En LocaFollow implementamos la propuesta de SEO AJAX de Google. Si hacéis una búsqueda veréis que se forman URLs de la forma http://www.locafollow.com/#!twitters/consultor/barcelona//.html o http://www.locafollow.com/#!twitters/ceo/madrid//.html. Tradicionalmente estas dos URLs de cara a los buscadores serían simplemente http://www.locafollow.com porque el protocolo HTTP no transmite la información después del carácter # y no seríamos capaces de mostrarle una versión diferenciada según los parámetros.
Pero del lado del servidor hemos implementado los handlers para escuchar URLs de la forma http://www.locafollow.com/?_escaped_fragment_=twitters/consultor//barcelona/.html que son las que Google intentará acceder para obtener el javascript interpretado. Por supuesto que no implementé ningún headless browser, lo que he hecho es publicar con un caché que tengo en el servidor una versión lo más parecido posible a lo que genera el javascript. Por lo visto ha funcionado y a día de hoy tenemos unas 2000 páginas indexadas de lo que en realidad es una única página.
Ya sabemos que no ha quedado solo en propuesta y no sólo porque 2000 URLs estén indexadas, la prueba fehaciente es que las Herramientas de Webmaster de Google muestra los enlaces del servidor en vez de los del cliente con #!.













Información Bitacoras.com…
Valora en Bitacoras.com: 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 utilizar para param…
[...] La propuesta de SEO para AJAX de Google ya es realidad [ http://www.bitacoradewebmaster.com ] [...]
Hola , conoces de algun tutorial de ejemplo de implementación más extenso.
Me parece muy interesante implementarlo :-)
@JuanMaria yo no he encontrado ninguno, pero una vez que lo comprendes es sencillo. Si necesitas ayuda aquí estoy :)
Pues a mi me parece bien. La verdad es que si programo un sitio en Ajax no espero que Google haga bien su trabajo, pues no espero que Google interprete JavaScript como lo haría un browser.
Si no quieres facilitarle el trabajo, pues no lo haces y punto. Facilitarle el trabajo a Google significa también facilitarselo a varios miles de usuarios que no usan el browser que tu esperas que usen, desde discapacitados visuales hasta gente que navega con la PSP.
@miguel, la propuesta de google es que hagamos un “cloaking legal”, esto no beneficia ni afecta en nada al usuario porque se trata de que hagamos un trato especial al bot del buscador en la forma que ellos plantean.
Otro tema es programar un sitio AJAX que degraden satisfactoriamente ante la ausencia de javascript, algo que suelo cumplir en la medida de lo posible en todos mis proyectos… pero eso es otro tema que no toco en el post.
Muy interesante, es realidad el ajax….
Esto no funciona con las librerias prototype no?
saludos
Funcionaría para cualquier framework… yo desarrollé un HistoryManager para Prototype que igual te ayuda:
http://www.flash-free.org/2008/07/05/history-manager-para-ajax-solucion-al-boton-back/
[...] de optimización que habría que sumar al post de Alfredo Artiles en Bitacora del Webmaster: La propuesta SEO para Ajax de Google ya es una realidad, un post de Enero del 2010, muy recomendable su [...]