Salve a tutti, apro una discussione perchè per quanto abbia girato non ho trovato una risposta e quindi spero possa essere di interesse generale il mio dilemma! 
Nel mio nomesito.com ho un index.php di questo tipo:
<?php
include("Mobile_Detect.php");
$detect = new Mobile_Detect();
if ($detect->isMobile() && !$detect->isTablet()) {
header('Location: m.nomesito.com );
exit();
}
?><?php
if (!isset($Language)) {
$Language = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$Language = strtolower(substr(chop($Language[0]),0,2));
}
if ($Language == it){
header("Location: nomesito.com/it");
}
if ($Language == en){
header("Location: nomesito.com/en");
}
if ($Language == es){
header("Location: nomesito.com/es");
}
?>
Questo codice fa il redirect automatico secondo la lingua del browser alla versione corrispondente ed a quello ottimizzato per cellulari se la chiamata arriva da un cellulare.
Ora il problema è:
Come faccio a far leggere ai crowler i meta, keywords, ecc?
Se li inserisco le file index.php che si trova nella root non vengo letti perchè il php in testa viene letto prima.
Di fatto usando dei tool di analisi se gli passo le sottodirectory i meta vengono letti se passo semplicemente il nomesito.com non li vede del tutto!
Devo indicizzare ogni signolo "sottosito" tipo nomesito.com/it, nomesito.com/en, ecc ecc o esiste un modo più "elegante"???
Spero di essermi spiegato.
Non ci dormo più! 