Actualizado el domingo, 19 junio, 2016
Todos los buscadores tratan de innovar sus métodos de rastreo e indexación de paginas a través de la web; nuevas técnicas y trucos se crean a diario para intentar posicionar paginas en los primeros lugares de los resultados de búsquedas, por lo que no es nada fácil para compañías como Google o Yahoo mantener la calidad de los resultados obtenidos en sus búsquedas, ya que esto a final de cuentas es lo que el usuario busca al usar sus servicios. Si el usuario no encuentra de manera fácil y rápida lo que busca simplemente optara por otras opciones (claro, además de los numerosos servicios agregados que cada una ofrecen). Actualmente las páginas basadas en tecnologías como Ajax presentan una gran dificultad para que los spiders de los buscadores rastreen su contenido de manera correcta, por lo que difícilmente quedan indexadas en sus bases de datos. Para esto, Google propuso la siguiente solución:
Si el usuario no encuentra de manera fácil y rápida lo que busca simplemente optara por otras opciones (claro, además de los numerosos servicios agregados que cada una ofrecen).
Actualmente las páginas basadas en tecnologías como Ajax presentan una gran dificultad para que los spiders de los buscadores rastreen su contenido de manera correcta, por lo que difícilmente quedan indexadas en sus bases de datos. Para esto, Google propuso la siguiente solución:
- Todas las URL´s generadas por Ajax contienen el parámetro #! a lo que llamaremos “URL bonita” (Pretty URL).
- Cuando el spider del buscador se encuentre con una dirección de este tipo, sustituirá este parámetro por ?_escaped_fragment_= a lo que llamaremos “URL fea” (Ugly URL).
- Cuando nuestra página o servidor detecte esta solicitud deberemos responder con una instantánea en html (snapshot) de cada URL con contenido Ajax y que debe coincidir con el contenido mostrado al usuario en el navegador.
Ejemplo.
- http://www.midominio.com/#!s45fg (“URL bonita”, esta es la que aparecerá en los resultados de los buscadores)
- http://www.midominio.com/?_escaped_fragment_=s45fg (“URL fea”, es lo que nos envía el spider para solicitarnos el snapshot)
De esta manera el rastreador puede interpretar el contenido de nuestra página Ajax y además puede indexarlo de manera correcta.
- El contenido de estos snapshots debe coincidir con lo que se muestra en la página Ajax. Sabemos que esto se puede prestar a muchos tipos de prácticas (Cloaking), por lo que créanme que los buscadores se esfuerzan en verificar esta coincidencia.
- Los buscadores nunca indexaran o mostraran en sus resultados páginas mostrando la URL fea, es decir, rastrearan el contenido de las URL feas pero indexaran la URL bonita.
- La respuesta a esta URL fea puede ser una página o código generado de manera automática y temporal solo para atender la solicitud de la araña.
Lo solucionaremos con una redireccion a una pagina html estática. Podemos hacerlo de muchas formas, pero te pongo un ejemplo con tan solo dos lineas en tu .htaccess.
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=([^&]*) [NC] RewriteRule .* http://%{HTTP_HOST}/snapshots/%1.html? [NC,R=302]
En el ejemplo se agrega el directorio snapshots como destino de estas páginas, tú puedes agregarlas en el directorio que mejor se acomode a tu estructura.
Es importante señalar que para que esto funcione, previamente en el .htaccess debe estar habilitado el motor de re escritura, si no lo está, debemos incluir las siguientes líneas:
Options +FollowSymlinks RewriteEngine on RewriteBase /
De igual manera en nuestra página Ajax debemos asegurarnos de haber incluido la siguiente línea:
<meta name="fragment" content="!"/>
Esto le indica al buscador que el sitio admite el esquema de rastreo con Ajax.
Sitemap En nuestro sitemap debemos incluir la URL que queremos aparezca en los resultados de las búsquedas, es decir, debemos incluir únicamente la “URL bonita”.