Si tu veux que google indexe bien, il faut du HTML valide, mais je crois que je l'ai déjà dit ?
HTML valide inclue bien sur le meta keywords, et une page accessible (donc liens bien comme il faut, donc bbcode déjà parsé, etc.), ce qui est une nécéssité pour être bien indexé.
Sinon en gros c'est simple.
Tu fais le moteur de ton site dans une partie. Le moteur ne fait rien de surhumain: il gère les droits, les lectures et modifications de la base de données, en communicant avec le reste par une interface propre et claire.
Ensuite, tu gères deux formats de sortie: Le format HTML statique, servi par défaut, et le format <truc> utilisé pour les requêtes AJAX (<truc> peut être html (partiel), xml, yaml, json, etc.)
Si tes fonctions en dessous sont bien fichues c'est pas vraiment la mort, par contre ça implique d'écrire le même moteur de mise en page deux fois: une en php, une autre en javascript. (Mais si tu balances du html directement en AJAX, tu réduis pas mal les coûts
)