2010-01-14 11 views
15

Cuando un usuario entra en mi página, tengo que hacer otra llamada AJAX ... para cargar datos dentro de un div. Así es como funciona mi aplicación.¿Los rastreadores de Google interpretan Javascript? ¿Qué sucede si cargo una página a través de AJAX?

El problema es ... cuando veo el origen de este código, no contiene la fuente de ese AJAX. Por supuesto, cuando hago wget URL ... tampoco muestra el HTML de AJAX. Tiene sentido.

Pero, ¿y Google? ¿Podrá Google rastrear el contenido, como si fuera un navegador? ¿Cómo permito que Google rastree mi página como lo vería un usuario?

+1

Esta pregunta sería más adecuada en http://webmasters.stackexchange.com/; Esto tampoco es una pregunta JS o AJAX; Por cierto, la respuesta se puede encontrar mediante el uso de un motor de búsqueda, por ejemplo Google: http://googlewebmastercentral.blogspot.de/2014/05/understanding-web-pages-better.html – feeela

Respuesta

5

Actualizado: De la respuesta a this question about "Ajax generated content, crawling and black listing" me encontré con este documento alrededor the way Google crawls AJAX requests que es parte de una colección de documentos sobre Making AJAX Applications Crawlable.

En resumen, significa que debe utilizar <a href="#!data">...</a> en lugar de <a href="#data">...</a> y luego proporcionar una respuesta real del servidor a la URL path/to/path?_escaped_fragment_=data.

Considere también una etiqueta <link/> para proporcionar a los rastreadores pistas sobre el contenido de SEO. <link rel="canonical"/>, que this article explica un poco, es un buen candidato

Nota: Tomé la respuesta de: https://stackoverflow.com/questions/10006825/search-engine-misunderstanting/10006925#comment12792862_10006925 porque parece que no puedo eliminar la mía aquí.

+5

Como se menciona en la siguiente pregunta, Google lo hace ahora admite JavaScript y esta respuesta no está actualizada. Ver: http://stackoverflow.com/questions/10006825/search-engine-misunderstanting/10006925#comment12792862_10006925 – Tarion

+0

La respuesta fuera de fecha, se interpreta ahora .. –

+0

Publicación oficial: http://googlewebmastercentral.blogspot.com/2014/ 05/understanding-web-pages-better.html – huglester

0

Si hace que sus páginas funcionen con O sin javascript (es decir, recurra al uso de marcos o solicitudes GET/POST estándar al servidor) si javascript falla, ya sea automáticamente o mediante un enlace "mostrar como html simple"), será mucho más fácil para los motores de búsqueda rastrear la página.

Tiene sentido para ellos no para rastrear contenido "dinámico", porque es solo eso ... dinámico.

Según tengo entendido, en la mayoría de los casos, Google no rastrea el contenido dinámico del lado del cliente.

2

Lo que hago en esta situación siempre es poblar inicialmente la página con contenido basado en los parámetros predeterminados de lo que sea que esté haciendo la llamada Ajax. Entonces solo uso javascript ajax para hacer actualizaciones a la página.

1

Como dicen otras respuestas, el rastreador de Google (y creo que los de otros motores de búsqueda) hace no interpretar Javascript - y usted debe no tratar de diferenciar por agente de usuario o similar (con el riesgo de tener su sitio degradado o bloqueado para presentar diferentes contenidos a los usuarios frente a los robots). Más bien, do ofrecen un nivel de contenido (quizás mínimo) a los visitantes que tienen Javascript bloqueado por cualquier motivo (incluidos los casos en los que el motivo es "ser robots" ;-) - después de todo, esa es la razón por la cual la etiqueta noscript existe ... para hacerlo muy, muy fácil de ofrecer como "nivel mínimo de contenido" (o, más que mínimo, si así lo eliges ;-) a los no usuarios de Javascript!

17

A pesar de las respuestas anteriores, al parecer no interpretar JavaScript, hasta cierto punto, according to Matt Cutts:

"Durante un tiempo, que estaba escaneando en JavaScript, y buscando enlaces.Google se ha vuelto más inteligente sobre JavaScript y puede ejecutar algunos JavaScript. No diría que ejecutamos todo el código JavaScript, por lo que hay algunas condiciones en las que no ejecutamos JavaScript. Ciertamente, hay algunas cosas de JavaScript comunes y bien conocidas. como Google Analytics, que ni siquiera quiero ejecutar porque no querrás intentar generar visitas fantasmas desde Googlebot en tu Google Analytics ".

(¿Por qué contestar una pregunta contestada? Sobre todo porque acabo de ver que por una cuestión duplicado publicado hoy, y no ver esta información aquí.)

0

Ahora parece Ike robot de Google no se limita al simple lynx como navegador.

Google bot intenta tomar el Humanly visible y Humanly contrasting texto para dar importancia en diferentes sectores de la página. Por lo tanto, muestra la página con un Layout Engine al igual que otros navegadores como FF o Chrome.

Incluso podría tener v8 Compatibilidad con el motor de Javascript. y el bot puede cargar la página y esperar hasta que dom sea ready e incluso puede esperar unos segundos para que la página llegue a una vista estable. y luego recorta el texto contrastante.

Cuestiones relacionadas