2010-01-14 12 views
15

Quando un utente entra nella mia pagina, devo fare un'altra chiamata AJAX ... per caricare i dati all'interno di un div. Ecco come funziona la mia applicazione.I crawler di Google interpretano Javascript? Cosa succede se carico una pagina tramite AJAX?

Il problema è ... quando visualizzo il codice sorgente di questo codice, non contiene la sorgente di tale AJAX. Certo, quando faccio wget URL ... non mostra nemmeno l'HTML AJAX. Ha senso.

Ma che dire di Google? Google sarà in grado di eseguire la scansione del contenuto, come se fosse un browser? Come faccio a consentire a Google di eseguire la scansione della mia pagina proprio come l'utente la vedrebbe?

+1

Questa domanda sarebbe più adatta su http://webmasters.stackexchange.com/; Anche questa non è una domanda JS o AJAX; A proposito, la risposta potrebbe essere trovata utilizzando un motore di ricerca, ad esempio Google: http://googlewebmastercentral.blogspot.de/2014/05/understanding-web-pages-better.html – feeela

risposta

5

Aggiornato: Dalla risposta a this question about "Ajax generated content, crawling and black listing" ho trovato questo documento circa the way Google crawls AJAX requests che fa parte di una raccolta di documenti circa Making AJAX Applications Crawlable.

In breve, significa che è necessario utilizzare <a href="#!data">...</a> anziché <a href="#data">...</a> e quindi fornire una vera risposta lato server all'URL path/to/path?_escaped_fragment_=data.

Considerare anche un tag <link/> per fornire ai crawler un suggerimento ai contenuti SEO-friendly. <link rel="canonical"/>, che spiega un po 'il this article

Nota: ho preso la risposta da: https://stackoverflow.com/questions/10006825/search-engine-misunderstanting/10006925#comment12792862_10006925 perché sembra che non riesca a cancellare il mio qui.

+5

Come menzionato nella seguente domanda, google fa ora supporta JavaScript e questa risposta è obsoleta. Vedi: http://stackoverflow.com/questions/10006825/search-engine-misunderstanting/10006925#comment12792862_10006925 – Tarion

+0

Risposta non aggiornata, viene ora interpretata .. –

+0

Post ufficiale: http://googlewebmastercentral.blogspot.com/2014/ 05/comprensione-web-pagine-better.html – huglester

0

Se fate le vostre pagine in modo tale che essi lavorare con o senza javascript (cioè ripiegare a utilizzare telai o le richieste GET/POST standard per il server se javascript fallisce, automaticamente o tramite un link "display as plain html", sarà molto più facile per i motori di ricerca eseguire la scansione della pagina.

Ha senso per loro non per eseguire la ricerca per indicizzazione di contenuti "dinamici", perché è proprio così ... dinamico.

La mia comprensione è che nella maggior parte dei casi, Google non esegue la scansione del contenuto dinamico lato client.

2

Quello che faccio in questa situazione è sempre inizialmente compilare la pagina con il contenuto basato sui parametri predefiniti di qualsiasi cosa stia facendo la chiamata Ajax. Quindi uso solo il javascript di ajax per aggiornare la pagina.

1

Come dicono altre risposte, il crawler di Google (e credo che quelle di altri motori di ricerca) non non interpretare Javascript - e si dovrebbe non cercare di differenziarsi da user-agent o simile (con il rischio di avere il tuo sito declassato o bloccato per presentare contenuti diversi agli utenti rispetto ai robot). Piuttosto, do offrire un po '(forse minimo) livello di contenuto ai visitatori che hanno Javascript bloccato per qualsiasi motivo (compresi i casi in cui il motivo è "essere robot" ;-) - dopo tutto, questo è proprio il motivo del tag noscript esiste ... per renderlo molto, molto facile da offrire tale "livello minimo di contenuto" (o, più che minimo, se si sceglie così ;-) per i non utenti di Javascript!

17

Nonostante le risposte di cui sopra, a quanto pare non interpretare JavaScript, in una certa misura, according to Matt Cutts:

"Per un po ', ci sono stati scansione entro JavaScript, e cercavamo link.Google è diventato più intelligente su JavaScript e può eseguire alcuni JavaScript.Non direi che eseguiamo tutti i JavaScript, quindi ci sono alcune condizioni in cui non eseguiamo JavaScript.Certamente ci sono alcune cose JavaScript comuni e ben note come Google Analytics, che non avresti nemmeno vuoi eseguire perché non vorrai provare a generare visite fantasma da Googlebot a Google Analytics ".

(Perché rispondere a una domanda ha risposto? Soprattutto perché ho appena visto che a causa di una domanda duplicato pubblicato oggi, e non ho visto queste informazioni qui.)

0

ora sembra ike Google bot non è limitata al semplice browser lynx.

Google bot tenta di afferrare il testo Humanly visible e Humanly contrasting per dare importanza ai diversi settori della pagina. Quindi rende la pagina con un Layout Engine proprio come un altro browser come FF o Chrome.

Potrebbe anche avere il supporto del motore JavaScript v8. e il bot potrebbe caricare la pagina e attendere dom è ready e potrebbe anche attendere alcuni secondi affinché la pagina raggiunga una visualizzazione stabile. e quindi ritaglia il testo contrastante.

Problemi correlati