2009-07-23 12 views
6

Siempre había supuesto que el contenido impulsado por AJAX era invisible para los motores de búsqueda.¿Los sitios AJAX se pueden rastrear por los motores de búsqueda?

(es decir, contenido insertado en el DOM a través de XMLHTTPRequest)

Por ejemplo, en este sitio, el contenido principal se carga a través petición AJAX por el navegador:

http://www.trustedsource.org/query/terra.cl

... si ve esta página con Javascript deshabilitado, el área de contenido principal es en blanco.

Sin embargo, Google caché muestra el contenido completo después de la carga AJAX:

http://74.125.155.132/search?q=cache:JqcT6EVDHBoJ:www.trustedsource.org/query/terra.cl+http://www.trustedsource.org/query/terra.cl&cd=1&hl=en&ct=clnk&gl=us

Así que, al parecer, los motores de búsqueda hacen indexar el contenido cargado por AJAX.

Preguntas:

  • ¿Es esta una nueva característica de los motores de búsqueda? La mayoría de las publicaciones en la web indican que tiene que publicar contenido HTML estático duplicado para que los motores de búsqueda lo encuentren .
  • ¿Hay algún truco para obtener un contenido impulsado por AJAX para ser rastreado por los motores de búsqueda (además de crear contenido HTML estático duplicado).
  • ¿El contenido controlado por AJAX será indexado si se carga desde un subdominio separado ? ¿Qué tal un dominio separado ?
+2

"... si ve esta página con el Javascript desactivado, el área de contenido principal está en blanco." No, no lo es. Se ve bastante desordenado, en realidad. – NickFitz

+0

¿Qué navegador estás usando? Cuando accedo al primer enlace en Firefox con el Javascript desactivado, veo "Información para 'terra.cl'" y luego un recuadro en blanco. Viendo fuente html Veo un DIV vacío con ID = query-content, donde iría el contenido AJAX. – frankadelic

Respuesta

0

El contenido que se carga inmediatamente (por ejemplo, con una solicitud HTTP secundaria como en su ejemplo después de la carga de página inicial) suele ser visible para el rastreador del motor de búsqueda.

Sin embargo, si tiene contenido que más allá de esto se carga a través de ajax después de una acción del usuario, p. hacer clic en una pestaña o botón y tal, no será visto o indexado. Esos solo se verán o indexarán si tienen enlaces de anclaje "reales".

+1

Alex, ¿puede proporcionar pruebas de que Google ejecutará solicitudes AJAX en las páginas donde se ejecutan las solicitudes AJAX cuando se carga la página? – Josh

+1

@Josh, no, porque no es verdad. :) – bzlm

1

AJAX-driven no son rastreadas por los motores de búsqueda (o al menos, no por Google).

La razón por la que puede ver la página en el caché de google es porque en el caché, está la página completa, incluido el archivo .js. Entonces, cuando veas la página, tu navegador usará el archivo .js de google cache.

No creo que haya ningún truco para que sea rastreado por el motor de búsqueda, excepto si se usa un .html estático.

Editar en abril 27 de 2010: Google publicó una manera de make AJAX crawlable

Google webmaster toolkit podría ayudar.

+2

No creo que esto sea cierto. Si veo el enlace del caché de google con el Javascript desactivado, aún veo el contenido dirigido por AJAX. Si veo la fuente, el contenido está ahí en el html. – frankadelic

1

Los motores de búsqueda podrían ejecutar el JavaScript necesario para indexar el contenido de Ajax, pero sería difícil y computacionalmente caro — No conozco ninguno que realmente lo haga.

Un sitio bien escrito, si usa Ajax, úselo de acuerdo con los principios de progressive enhancement. Cualquier funcionalidad clave seguirá estando disponible sin necesidad de ejecutar JavaScript.

Por otro lado, los sitios que reinventan marcos (y no usan mejora progresiva) usando JavaScript sufrirán todos los problemas habituales de marcos, pero intercambiarán páginas huérfanas para la invisibilidad del motor de búsqueda.

+0

Derecho para la mejora progresiva. –

1

Tengo NoScript instalado y activo. Ambos enlaces muestran el mismo contenido (+/- la barra de encabezado de google). Por lo tanto, la caché de Google muestra solo lo que está estáticamente allí.

+0

Recibo resultados diferentes a usted. Instalé Noscript. La página original no muestra el contenido principal, la página de Google-caché lo muestra. Si veo el código fuente, veo contenido diferente dentro del DIV con ID = query-content. (este es el div donde se inyecta el contenido de AJAX) ¿Puedes probar en IE? – frankadelic

1

Si está utilizando algo así como las pestañas jQuery, incluso si está enlazando a archivos HTML dentro del mismo directorio, se degrada agradablemente a la normalidad sin el javascript, y las pestañas solo se convierten en me gusta a las páginas reales. Es feo, pero funciona. También puede diseñar estas versiones también.

+0

Bueno, sí, cualquier contenido de AJAX que cargue debería tener un elegante y elegante retroceso para que los buscadores y las personas con navegadores de versiones anteriores desactivadas tengan algo que ver. – Sam152

Cuestiones relacionadas