¿Qué son las URLs Hash-Bang?
Básicamente es un signo de número seguido de un signo de exclamación ( #! ). El signo de número se ignora, pero en esa secuencia, Googlebots lo reconocerá como una URL a una página. Hace unos años, los Hashbangs se volvieron bastante populares entre los desarrolladores de Ajax que tuvieron dificultades para obtener altas calificaciones de SEO en sus aplicaciones.
Grandes sitios como Twitter y Facebook usaron el método Hashbang hasta que se dieron cuenta de sus defectos. Esto parecía una solución fácil, pero eventualmente resultó en toneladas de contenido perdido, aplicaciones rotas y argumentos sobre sitios web dependientes de JavaScript.
¿Por qué es las URLs Hash-Bang se consideran un hack?
En primer lugar, es porque la URL que comienza con #! está enrutando del lado del cliente: en lugar de que el contenido se resuelva en el servidor como de costumbre, el código en el navegador interpreta la ruta después del # !, construyendo una consulta de datos personalizada para una API y luego renderiza los datos en una página existente.En segundo lugar, está ahí porque tiene que estar. En el momento de la redacción de este documento (file), no existe un soporte de navegador universal para alterar la ruta real de la URL mostrada por tu navegador, sin que este vuelva a cargar la página.
Cuando el cliente está resolviendo el contenido, eso no es lo que se quiere que suceda (en el caso de una API). Entonces, en su lugar, se interviene en el evento hashChange en el navegador y trabaja completamente dentro del fragmento de URL que nunca se envía al servidor.
La pregunta de la semana
El usuario de Twitter Oleg Korneitchouk, ha preguntado: ¿Cual es el estado actual de las URLs Hash-Bang y la ejecución de Ajax, cómo puedo definir las redirecciones?.Antes de adentrarnos en la respuesta de John (que es muy breve); me gustaría aclarar algo, la pregunta fue hecha por un individuo que, aparte de ser desarrollador; se preocupa por optimizar sus proyectos. Esa es la forma correcta de trabajar.
La respuesta del googlero
John comienza introduciéndonos en una imagen que explica cómo funcionaba la ejecución de Ajax cuando era llamado en una URl con #!.Con el ejemplo de arriba el googlero afirma: Este esquema lo propusimos en los primero días de los sitios en JavaScript. Hace diez años en 2009. Eso fue hace mucho tiempo atrás y aparentemente las personas aun continúan usando el esquema de ejecución Ajax.
Esto nos ha hecho pensar; si las personas aun lo utilizan y funcionaba bien para ellas, debemos evolucionar. Google ha aprendido a renderizar todas las páginas como debería hacerlo un navegador.
Mientras tanto, hemos usado una versión especial de Chrome para la ejecución y renderizado. Para hacerlo breve, no debes hacer nada distinto o especial con las URLs Hash-Bang; nosotros simplemente las vamos a renderizar sin procesos intermediarios.
En cuanto a moverse a una estructura URL diferente, se refiere. Necesitas usar JS en estas páginas para crear las redirecciones; no es posible usar redirecciones del lado del servidor. porque todo lo que viene después del #! nunca es enviado al servidor, si no procesado en el navegador.
Una vez que hayas implementado las redirecciones en tu documento de JS, Google procesará información, y seguirá estas correctamente.
Conclusión
En lo personal me ha gustado mucho la respuesta de John. No solo ha disipado la duda, si no que también nos ha mostrado un poco sobre cómo Google ha influido y mejorado (con la propuesta de su esquema en 2009) la historia de la web; contribuyendo a hacerla lo que es hoy. Si quieres recir todas las novedades del buscador más usado del mundo, directo en tu bandeja de entrada; suscribete a la newsletter.Si te ha gustado este artículo ¡Compartelo! es gratis < 3