Diferentes métodos para indexar contenido JavaScript - Ajax
A priori debería indexar el contenido con ambos métodos, ya que si no fuese así sería de conocimiento público y se habría comentado ampliamente dada la cantidad de sites que usan estos métodos de una u otra manera.
Diciendo esto puede parecer que este experimento no tiene mucha trascendencia, pero sí la tiene, y mucha, ya que Googlebot se está actualizando, y no sabemos qué novedades habrá en cuanto a cómo Google es capaz de rastrear páginas webs altamente basadas en JavaScript (ya sea puro JavaScript como jQuery como el usado por frameworks como Angular, React o Vue.js).
Googlebot usando nuevas versiones de Chrome
En la siguiente imagen podemos ver las funcionalidades que soporta Googlebot en las diferentes versiones, a la izquierda las funciones que Googlebot aceptaba y acepta cuando rastrea el site usando la antigua versión y a la derecha las funcionalidades soportadas con la reciente actualización.
Debemos dejar claro, que el bot actual por defecto que usa Google es el antiguo, el que usa la versión 41 de Chrome, son muy pocos los accesos que Google realiza con el nuevo Googlebot y no sabremos cuánto tardará en usarlo como predeterminado.
Métodos para la carga de contenido mediante Ajax
- XMLHttpRequest
XMLHttpRequest es un objeto JavaScript que fue diseñado por Microsoft y adoptado por Mozilla, Apple y Google. Actualmente es un estándar de la W3C. Proporciona una forma fácil de obtener información de una URL sin tener que recargar la página completa
Este método era el usado típicamente hace tiempo, pero con la llegada de librerías como jQuery y posteriormente con FrameWorks como Angular, React o Vue (aunque estas dos últimas son librerías si nos ponemos estrictos) se quedó en desuso.
Aquí documentación y ejemplos de uso
- Fetch
El API fetch es un nuevo estándar que viene a dar una alternativa para interactuar por HTTP, con un diseño moderno, basado en promesas, con mayor flexibilidad y capacidad de control a la hora de realizar llamadas al servidor, y que funciona tanto desde window como desde worker
Este otro método tiene varias ventajas sobre el método XMLHttpRequest pero no vamos a entrar en esto, solo queremos comprobar si Google es capaz de ejecutar ambas y si es capaz de indexar el contenido obtenido por ambos métodos.
Tenéis documentación y ejemplos en este enlace.
Experimento SEO: indexando contenido obtenido por XMLHttpRequest y Fetch
Usando XMLHttpRequest
Usando Fetch
¿Cómo comprobar los resultados?
Para saber si Google es capaz de indexar (y por lo tanto poder posicionar) páginas que carguen contenido usando alguno de estos métodos JavaScript, podremos hacer una búsqueda por las palabras entrecomilladas en el encabezado de cada método.
Esta manera de comprobar si Google accede e indexa estos contenidos no es del todo fiable, podría ser "forzado" para su indexación, ya sea por sitemaps, por enlaces desde este site como otros sites que copien / fusilen este código, y otras mucha maneras.
La forma más fiable será analizando los logs y comprobando que Google accede a los archivos que contienen el HTML solicitado, y también si Google accede a las imágenes que hay en ese HTML.
Analizando los logs podremos obtener una respuesta más fiable que simplemente comprobando si aparece esta url en los resultados de Google al buscar alguna de las dos palabras que hay entre paréntesis
Así que ya sabéis, atentos a cuando publique los resultados, espero que en una semana podamos ver algo
¿Alguna idea / sugerencia / corrección sobre este experimento?