2010-09-12 12 views
7

Molti aspetti del mio sito sono dinamici. Sto usando jquery.jquery load() e SEO - qualcuno ha una risposta decente?

Ho un div che una volta che il DOM è pronto viene popolato usando load().

Quindi, se si fa clic su un pulsante, utilizzando load() ancora una volta, questo valore viene sostituito da un altro valore.

Questo tipo di installazione è comune in tutto il mio sito. La mia home page è essenzialmente un sacco di contenuti caricati dinamicamente, aggiornati e mutevoli.

Quali sono le ripercussioni di questo per SEO?

Ive ha visto siti in cui ogni pagina viene caricata utilizzando load() e quindi visualizzata utilizzando le funzioni di animazione ... Sembra incredibile!

Le persone hanno posto questa domanda prima, ma nessuno ha risposto correttamente.

Quindi qualche idea? JQUERY E SEO ??

Grazie

EDIT

punti molto interessanti. Non voglio strafare il mio sito con JavaScript ... solo dove necessario per farlo sembrare buono - la mia homepage è comunque un luogo di preoccupazione.

Quindi, quando il DOM è pronto, carica il contenuto in un div. Facendo clic su una scheda, questo contenuto è cambiato. I.E No JS, Nessun contenuto.

La bellezza qui per me è che non esiste un codice duplicato. Il suggerimento qui è che dovrei semplicemente "stampare" alcuni contenuti predefiniti, quindi fare in modo che le schede si colleghino alle pagine (con lo stesso contenuto) se JS è disabilitato. I. E sacrificare un piccolo codice duplicato per SEO?

Per quanto riguarda il degrado, il mio unico altro punto di interesse sono le schede sulla stessa pagina. Ho 3 div, tutti contenenti contenuti. In questa pagina due div sono nascoste fino a quando non si fa clic su una scheda. Ho usato questo metodo prima di iniziare a giocare con JS. Sarebbe forse meglio caricare() queste schede, quindi i pulsanti di tabulazione collegano a dove viene estratto il contenuto?

Grazie

risposta

8

Nessuno dei contenuti caricati tramite JavaScript verranno sottoposti a scansione.

L'approccio comune e corretto è quello di utilizzare Progressive Enhancement: tutti i collegamenti dovrebbero essere normale <a href="..."> a pagine effettive modo che il sito "ha senso" ad un ragno di ricerca; e l'evento click() sostituisce la normale funzionalità con load(), quindi gli utenti normali con JavaScript abilitato vedranno la versione "migliorata" del tuo sito.

+0

Ecco un modo per implementarlo: se si dispone di pagine secondarie A, B e C, i collegamenti rimandano a "/A.html", "B.html" e "C.html", ma la funzione .load() verrà estratta da "/ ajax/A", "/ ajax/B" e "/ ajax/C". In questo modo, puoi modificare esattamente come il contenuto differisce tra la versione statica e quella dinamica (vale a dire, le versioni dinamiche non hanno bisogno dell'intestazione e roba) Oppure puoi usare jquery per caricare un 'frammento di pagina' come 'load ('/ A .html #container ') '()). –

+0

Oppure, a mio avviso, utilizzare il plug-in jQuery Ajaxify

+0

EDITS di cui sopra, vedere. –

1

Se i tuoi contenuti sono navigabili quando JavaScript è disattivato, sarai un buon modo per essere visibile ai motori di ricerca.

Si noti che i crawler dei motori di ricerca non invieranno moduli sul proprio sito, quindi se si dispone di elementi o elementi destinati a navigare tra le pagine di contenuto del proprio sito, tale contenuto non è navigabile dai motori di ricerca.

0

uso carico jQuery() caricamento della pagina asincrona. Migliora notevolmente l'esperienza dell'utente, ma non è facile da usare. Ecco l'unica soluzione che ho trovato finora:

  1. Sul primo carico Non faccio uso di carico jQuery() e cerco di scrivere cookie con javascript.document.cookie = 'checkjs = on';

  2. Nella pagina successiva caricare se lo script php trova questo cookie significa che javascript è abilitato e jquery load() può essere utilizzato. Se non esiste un cookie di questo tipo, javascript non è attivo (probabilmente è arrivato lo spider), quindi jquery load() non viene utilizzato.

    if (! $ _ COOKIE ['checkjs'] || $ _COOKIE ['checkjs']! = 'On') {echo 'js è disattivato, ciao Google!'; } Else {echo 'js è in, è possibile utilizzare il carico jQuery';}

In questo modo posso essere sicuro che la maggior parte degli utenti possono beneficiare di asincrona blocchi di caricamento della pagina, exept per la prima del carico. Anche gli spider hanno tutti i contenuti.

Nel tuo caso puoi caricare la stessa pagina con un nuovo parametro che rende attiva un'altra scheda. Spider sarà felice.