Este texto va a ser sustituido por el contenido en Ajax
El contenido que se cargará por defecto será el de la opción 1, que se ejecuta tras el onready. Seguidamente, tras transcurrir entre 1 y 5 segundos desde que el html del documento esté listo, se cargará el contenido de la opción 2 (pasados entre 1 y 5 segundos). Continuará después cargando el contenido de la opción 3 (entre 5 y 10 segundos), y por último el contenido de la opción 4, tras haber pasado más de 11 segundos.
Es decir, sin la acción del usuario (que serían las opciones 5,6 y 7) vamos a cargar cuatro contenidos distintos en base al tiempo que transcurra tras la completa carga del html (que no de sus elementos). Para ello usaremos el evento onready como lanzador de nuestra función, y así veremos también como Google si es capaz de ejecutar perfectamente casi cualquier javascript siempre y cuando se realice al cargar el documento/página.
El texto de la tabla punteada de arriba está cargado mediante javascript, y la url del fichero desde dónde se extrae el contenido está encriptada en base64 para que Google no la crawlee solo por ser una cadena con patrón de url, sino que para cargar ese contenido Google ha tenido que ejecutar correctamente el código JavaScript.
Podríamos resumir en estos los pasos necesarios para obtener el contenido externo:
Veremos como nada más cargar este post aparecerá un texto, cómo transcurridos entre 1 y 5 segundos hay otro texto y cómo transcurridos más de 5 segundos hay un tercer texto diferente. Además, también se cambiará el texto al hacer scroll (de ahí que esté en la zona superior del post), para poder verlo sin hacer scroll ya que cambiaría el texto
Al explorar cómo Google a través de Google Search Console vemos que Google, al menos, ejecuta la función al cabo de 2 segundos que le damos en el on ready, (línea subrayada en al código de abajo).
<script language="javascript"> var inicio; function cargarDivCodificadoCuando(div,url) { fin=new Date(); fin=fin.getTime(); tiempo=(fin-inicio)/1000; $(div).load(decodeURIComponent(b64_to_utf82(url))); window.document.getElementById("divTiempo").innerHTML="<br><br>Segundos transcurridos:<b>"+tiempo+"</b><br><sup>*(así podremos saber si Google siempre tarda lo mismo o no)</sup>"; } $(document).ready(function(){ inicio=new Date(); inicio=inicio.getTime(); cargarDivCodificadoCuando("#contenido","aHR0cDovL3d3dy5tZWNhZ29lbmxvcy5jb20vbWV0b2Rvcy1qYXZhc2NyaXB0LWNhcmdhQ29udGVuaWRvLnBocA=="); setTimeout ( cargarDivCodificadoCuando , Math.floor(Math.random()*(5000-1000+1)+1000),"#contenido","aHR0cDovL3d3dy5tZWNhZ29lbmxvcy5jb20vbWV0b2Rvcy1qYXZhc2NyaXB0LWNhcmdhQ29udGVuaWRvLnBocD9vcGNpb249Y29uTWluaUVzcGVyYQ=="); setTimeout ( cargarDivCodificadoCuando , Math.floor(Math.random()*(10000-5000+1)+5000),"#contenido","aHR0cDovL3d3dy5tZWNhZ29lbmxvcy5jb20vbWV0b2Rvcy1qYXZhc2NyaXB0LWNhcmdhQ29udGVuaWRvLnBocD9vcGNpb249Y29uRXNwZXJh"); setTimeout ( cargarDivCodificadoCuando , Math.floor(Math.random()*(14000-11000+1)+11000),"#contenido","aHR0cDovL3d3dy5tZWNhZ29lbmxvcy5jb20vbWV0b2Rvcy1qYXZhc2NyaXB0LWNhcmdhQ29udGVuaWRvLnBocD9vcGNpb249Y29uRXNwZXJhMTA="); window.document.getElementById("Thun_imagen2").src ="https://www.mecagoenlos.com/fotos/onready-contenido.png&w="+Math.round(0.85*window.document.getElementsByClassName("descripcion")["0"].offsetWidth); }); var hasBeenTrigged = false; $(window).scroll(function() { if ($(this).scrollTop() >= 100 && !hasBeenTrigged) { cargarDivCodificadoCuando("#contenido","aHR0cDovL3d3dy5tZWNhZ29lbmxvcy5jb20vbWV0b2Rvcy1qYXZhc2NyaXB0LWNhcmdhQ29udGVuaWRvLnBocD9vcGNpb249Y29uU2Nyb2xs"); hasBeenTrigged = true; } }); </script>
Habrá que esperar para saber cómo asocia este contenido extraído mediante javascript desde otra url y si es capaz de asociarlo a la url del post.
Sería bueno saber si el tiempo que espera para ejecutar la función dentro del onready es más o menos el mismo o no
También será interesante saber si Google indexa y/o asocia el contenido en el resto de los casos aquí expuestos. ¿Ejecutará la función tras 12 segundos? ¿emulará los clicks de los usuarios como en los links de arriba? ¿verá el contenido al que solo se accede mediante scroll?