2009-07-23 13 views
6

Ho sempre pensato che il contenuto guidato da AJAX fosse invisibile ai motori di ricerca.I siti AJAX sono scansionabili dai motori di ricerca?

(cioè il contenuto inserito nel DOM tramite XMLHTTPRequest)

Per esempio, in questo sito, il contenuto principale viene caricato tramite richiesta AJAX dal browser:

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

... se si visualizza questa pagina con Javascript disabilitato, l'area di contenuto principale è vuota.

Tuttavia, la cache di Google mostra il contenuto completo dopo che il carico 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

Quindi, a quanto pare i motori di ricerca fanno indicizzare i contenuti caricati da AJAX.

Domande:

  • Si tratta di una nuova funzione nei motori di ricerca? La maggior parte dei messaggi sul Web indicano che è necessario pubblicare il contenuto HTML statico duplicato per i motori di ricerca per trovare i codici .
  • Esistono trucchi per ottenere un contenuto basato su AJAX sottoposto a ricerca per indicizzazione dai motori di ricerca (oltre alla creazione di contenuto HTML statico duplicato ).
  • Il contenuto gestito da AJAX sarà indicizzato se è stato caricato da un sottodominio separato ? Che ne dici di un dominio separato ?
+2

"... se si visualizza questa pagina con Javascript disabilitato, l'area del contenuto principale è vuota." No, non lo è. Sembra piuttosto ingombrante, in realtà. – NickFitz

+0

Che browser stai usando? Quando accedo al primo collegamento in Firefox con Javascript disabilitato, vedo "Informazioni per 'terra.cl'" e quindi una casella vuota. Visualizzazione del codice sorgente HTML Vedo un DIV vuoto con ID = contenuto-query, dove andrebbe il contenuto AJAX. – frankadelic

risposta

0

Il contenuto che viene caricato immediatamente (ad esempio con una richiesta HTTP secondaria come nell'esempio dopo il caricamento iniziale) è solitamente visibile al crawler del motore di ricerca.

Tuttavia, se si dispone di contenuto che oltre questo viene caricato tramite Ajax in seguito a un'azione dell'utente, ad es. facendo clic su una scheda o un pulsante e tale, non verrà visualizzato o indicizzato. Quelli saranno visti o indicizzati solo se hanno collegamenti di ancoraggio "reali".

+1

Alex, puoi fornire prove che Google eseguirà richieste AJAX sulle pagine in cui le richieste AJAX vengono eseguite quando la pagina viene caricata? – Josh

+1

@Josh, no, perché non è vero. :) – bzlm

1

AJAX-driven non vengono sottoposti a scansione dai motori di ricerca (o almeno, non da Google).

Il motivo per cui è possibile vedere la pagina nella cache di Google è perché nella cache c'è la pagina intera, incluso il file .js. Quindi quando vedi la pagina, il tuo browser utilizza il file .js memorizzato nella cache di google.

Non penso ci sia alcun trucco per farlo strisciare dal motore di ricerca, tranne che usando un .html statico.

Edit ad aprile, 27 2010: Google ha pubblicato un modo per make AJAX crawlable

Google webmaster toolkit potrebbe aiutare.

+2

Non penso che sia vero. Se visualizzo il link della cache di google con Javascript disabilitato, vedo ancora il contenuto guidato da AJAX. Se visualizzo la fonte, il contenuto è proprio lì nell'html. – frankadelic

1

I motori di ricerca possono eseguire il JavaScript necessario per indicizzare il contenuto Ajax, ma sarebbe difficile e computazionalmente costoso — Non sono a conoscenza di ciò che effettivamente fa.

Un sito ben scritto, se utilizza Ajax, lo utilizza secondo i principi di progressive enhancement. Qualsiasi funzionalità chiave sarà comunque disponibile senza la necessità di eseguire JavaScript.

D'altra parte, i siti che reinventano i frame (e non utilizzano il progressive enhancement) utilizzando JavaScript soffriranno di tutti i soliti problemi dei frame, ma scambieranno pagine orfane per l'invisibilità dei motori di ricerca.

+0

Giusto per il miglioramento progressivo. –

1

Ho NoScript installato e attivo. Entrambi i link mostrano lo stesso contenuto (+/- la barra di intestazione di google). Pertanto, la cache di Google mostra solo ciò che è staticamente lì.

+0

Sto ottenendo risultati diversi da te. Ho installato noscript. La pagina originale non mostra il contenuto principale, la pagina in cache di Google lo mostra. Se visualizzo la fonte, vedo contenuti diversi all'interno del DIV con ID = query-content. (questo è il div in cui viene iniettato il contenuto AJAX) Puoi provare in IE? – frankadelic

1

Se si utilizza qualcosa come le schede jQuery, anche se si sta collegando a file HTML all'interno della stessa directory, si degrada piacevolmente alla normalità senza javascript e le schede diventano semplicemente "Mi piace" alle pagine effettive. È brutto, ma funziona. Puoi anche dare uno stile a queste versioni.

+0

Beh, sì, qualsiasi contenuto AJAX che si carica dovrebbe avere un piacevole ripiegamento elegante in modo tale che i motori di ricerca e le persone con disabilitazione dei browser vecchi/javascript abbiano qualcosa da guardare. – Sam152

Problemi correlati