¿Cómo indexa Google Javascript?

Cuando solemos hablar de SEO (eso que nos permite tener más chances de aparecer en los resultados orgánicos de Google) se suele hablar de varios factores que hacen que esa magia sea posible.

Uno de esos factores es la accesibilidad. Y cuando hablamos de accesibilidad no sólo hablamos de hacer accesible las páginas de un sitio sino también su contenido.

Muchos sitios web tienen grandes problemas en este aspecto por lo que sus chances de aparecer como un posible resultado ante una búsqueda son prácticamente nulas.

Si bien existen varios factores que pueden hacer que un sitio web -o su contenido- no sean accesibles, hay uno que puede generar más dudas. Y es ahí donde un experimiento ejecutado por Adam Audette de Search Engine Land que me llamó poderosamente la atención por los resultados.

El experimento consistía en generar diferentes pruebas realizadas con JavaScript para ver como las interpretaba el robot de Google. Y los resultados fueron muy interesantes.

Redirects con JavaScript

Se hicieron dos tipos de pruebas. Un redirect con una URL absoluta y otro con una URL relativa.

Para la prueba se redireccionó vía JavaScript una URL que tenía un buen puesto en los SERP y se observó que la nueva URL tomó ese puesto sin problemas.

En ambos casos Google interpretó los redirects con JavaScript como si fueran redirects con 301 (Permanent Redirect).

Según las directrices de Google:

El uso de JavaScript para redirigir a los usuarios puede ser una práctica legítima. Por ejemplo, si rediriges a los usuarios a una página interna cuando han iniciado la sesión, puedes usar JavaScript para hacerlo. Al examinar el código JavaScript u otros métodos de redireccionamiento para asegurarte de que tu sitio cumpla nuestras directrices, ten en cuenta su intención. Recuerda que los redireccionamientos 301 son los mejores cuando transfieres tu sitio, pero puedes usar un redireccionamiento de JavaScript para ese fin si no tienes acceso al servidor de tu sitio web.

Links en JavaScript

Para esta prueba construyeron varios links en JavaScript programados de diferentes maneras incluídos los links en dropdowns con eventos onchange.

También construyeron varios links con

  • funciones por fuera del href pero con el tag (“onClick”)
  • funciones dentro del href (“javascript:window.location”)
  • funciones fuera del a pero llamados dentro del href (“javascript:openlink()”)

Lo interesante es que también probaron con event handlers como cuando el mouse se clickea (onmousedown) o se mueve fuera (onmouseout) de un elemento y recién ahí se ejecuta el código que muestra la URL.

Y en todos los casos los links fueron correctamente encontrados y seguidos por el robot de Google.

Contenido insertado dinámicamente

Aquí se realizaron dos pruebas.

  • Contenido insertado dinámicamente y que está presente en el código de la página.
  • Contenido insertado dinámicamente y que está fuera del HTMl de la página (en un archivo JavaScript aparte).

En ambos casos Google pudo indexar correctamente el contenido.

También hacen una aclaración que al parecer Google no está teniendo mayores problemas en indexar el contenido generado mediante JavaScript pero que es importante no bloquear el acceso al robot a los archivos js ya que de lo contrario no podrá ejecutar correctamente la página. Al parecer este es el motivo por el cual parecería ser que ya no alientan el uso de sus guías sobre sitios que usan Ajax.

Metatags y elementos generados mediante JavaScript

Para esta prueba insertaron varios elementos dentro del DOM de la página dinámicamente utilizando JavaScript.

  • Etiquetas title
  • Etiquetas meta description
  • Etiqueta robots
  • Etiquetas canonical (o url’s canónicas)

En todos los casos las etiquetas fueron correctamente indexadas como si fueran elementos HTML.

Experimento con la etiqueta nofollow

Una prueba más que realizaron fué la de insertar la etiqueta nofollow a un link mediante JavaScript. Pero Google indexó la página de todos modos porque la modificación del DOM demoró más de lo que Google tardó en encontrar el link y agregarlo a su lista de páginas a indexar. Recuerden que la etiqueta nofollow se insertó dinámicamente, pero no estaba presente en el DOM al principio sino luego de armarse el HTML. Y en esa pequeña fracción de tiempo el robot de Google avanzó rápido.

Conclusiones y punto de vista

Los resultados son increíbles. Pensar que hasta hace no mucho se desalentaba el uso de JavaScript para generar contneido o elementos clave para SEO dentro del HTML. Es evidente que Google estuvo trabajando mucho en esto ya que es fundamental para ellos poder acceder a la mayor cantidad de páginas -y a su contenido- para poder ser relevante ante las búsquedas.

Sin embargo, y si bien estos resultados son muy promisorios, hay que tener cuidado.

En la actualidad hemos estado viendo potenciales clientes que todavía no son encontrados por Google -y por ende no aparecen en los resultados de búsqueda- debido a problemas de accesibilidad generados por JavaScript. Si bien seguramente sea una cuestión de tiempo hasta que Google haga un despliegue completo de esto en todos los paises, al día de hoy podemos confirmar que existen muchos casos en los que Google todavía no accede a este tipo de información cuando se utiliza JavaScript.

De todos modos no deja de ser algo muy prometedor tanto para las agencias de SEO como para los mismos usuarios.