Newsgroup: it.comp.lang.javascript
Titolo: per esperti ajax: come vi indicizza i contenuti google?

Ciao a tutti,
sto sperimentando da qualche tempo le implementazioni via GET e POST con 
ajax ma un dubbio mi assale e riguarda l'indicizzazione su google dei 
vari contenuti incorporati per l'appunto con ajax.
 
Vengo all'esempio:
Supponiamo di avere la classica index.php con un link e un DIV. 
Cliccando sul link, ajax mi fa comparire nel DIV dinamicamente la pagina 
ciccio.php
Ora, quando lo spider di google (o di un qualsiasi motore) mi scansiona 
index.php e trova il richiamo di jquery a ciccio.php come lo gestisce?
Ho letto che gli spiders di google leggono anche i js da un po' di 
tempo... e quindi? Mi inserira' tra le SERP il file ciccio.php nudo e 
crudo che magari non ha manco meta e head ma solo il testo?
 
Vi siete mai trovati di fronte allo stesso problema con i vostri siti? 
Come avete risolto?
Vorrei evitare di inserire il 'nofollow' nei meta della index.php, certo 
potrei avvarlermi delle esclusioni mirate tramite robots.txt + Disallow, 
ma pensandoci magari la pagina di ciccio.php nelle SERP farebbe comodo 
ma che non mi compaia solo col testo nudo e crudo senza uno straccio di 
layout... pareri?
Spero di essere stato minimamente chiaro.
Grazie mille a chiunque risponde.
 
Luigi
 
 
PS: crossposto su it.comp.lang.javascript e 
it.lavoro.professioni.webmaster nella speranza di raccogliere più pareri.

 crudo che magari non ha manco meta e head ma solo il testo?
 
Nella migliore delle ipotesi, si`.
 
L'ideale e` fare il sito normalmente, e nel file ciccio.php metti 
qualcosa tipo
 
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
    &&
    strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') 
{
  // non mettere header e footer
}
 
Nella index.php metterai il link normalmente:
 
<a href="ciccio.php">...</a>
 
E via jQuery lo intercetti:
 
$('a').on('click', 'body', function() {
 var href = $(this).attr('href');
 // recupera la pagina via ajax e visualizzala
});
 
 
Bye.

Ti ringrazio per le risposte anche se una parte del problema rimane. 
Headers e meta sarebbero inseribili come scrivi con
 
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH'])
     &&
     strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
   // non mettere header e footer
}
 
ma il testo apparirebbe sempre nudo e crudo e il resto del layout (css 
inclusi) offerto da index.php non sarebbe incluso.
Se io indicizzo ciccio.php anche prevedendoci head, meta, body ecc. 
siamo comunque di fronte ad un file che contiene solo testo e il resto 
del layout solo index.php me lo da. Mi spiego? :-(
 
Forse l'alternativa sarebbe di rendere ciccio.php una copia di index.php 
ma prevedendo solo un testo diverso in un DIV preciso, così da far 
caricare solo quel DIV nella chiamata via ajax no?
Ma poi ciccio.php diventerebbe più pesante come codice e così anche 
altre pagine da incorporare via ajax...
Vedi altre alternative?
Grazie ancora.
 
Luigi

 del layout solo index.php me lo da. Mi spiego? :-(
 
Devi separare sia logicamente che fisicamente il template dal contenuto 
della pagina.
 
Tutte le pagine dovrebbero includere il template (che, oltre a header, 
footer e eventuali barre laterali) carica anche i css e i javascript.
 
Se vedi che arriva da AJAX (codice sopra) non includi il template, ma 
solo il corpo della pagina.
 
Oppure, col trucco di cui sopra, fai in modo che se l'utente arriva a 
quella pagina (ciccio.php) senza AJAX, venga rediretto alla index.php 
passandogli come parametro che arriva da ciccio.php. A quel punto in 
index.php gli precarichi ciccio.php.
 
E` un giro un po' complesso, ma facilmente automatizzabile.
 
D'altronde Google non puo` indicizzare un pezzo di pagina senza un URL, 
quindi tocca a te assicurarti che ad ogni URL corrisponda una pagina 
fruibile dall'utente.
 
Bye.

Quindi ritieni che uno spider di google sia in grado di rispettare anche 
la condizione
 
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH'])
     &&
     strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
   // non mettere header e footer
}
 
 
??
E se seguo la tua dritta e faccio comparire il layout solo se la pagina 
non è oggetto di richiesta ajax, su google me lo ritroverei comprensivo 
di layout grazie alla corretta interpretazione-esecuzione fatta anche 
dallo spider, giusto?
 
Hai per caso sperimentato di persona la cosa?
 
Grazie ancora Alessandro.
 
 
Luigi

 Hai per caso sperimentato di persona la cosa?
 
Si`, una volta, ma diversi anni fa e poi l'ho tolto.
Riservo il loading di pezzi importanti di pagina solo alle webapp e ai 
backend, per quanto possibile.
Al massimo via ajax carico i blocchetti news o roba del genere.
 
Bye.

Ti ringrazio. I tuoi consigli sono preziosi come sempre.
 
Luigi