Bonjour,
Tu gagnerais en place dans ta base de données oui, mais tu te verrais pas mal limité sur le contenu et les options que tu voudrais apporter à tes articles/posts. Imaginons pour un blog, l'idéal serait d'avoir une colonne pour le status de l'article (en cours de rédactions, en attente de validation, publié, ou supprimé), dans un post de forum cette colonne n'a pas de sens. Et pour alléger les requêtes et avoir un code plus ou moins propre l'idéal reste quand même d'avoir une table dédié pour chaque chose.
Si tu es sur un serveur dédié, que tu peux installer un peu ce que tu veux, installe MongoDB ou Cassandra, un moteur de cache performant comme APC ou Memcache (mais je connais moins memcache je ne saurais te dire ce qu'il vaut en difficulté). MongoDB est exceptionnel niveau performance d'accès et décriture sur la DB vu qu'elle ne se base pas sur un moteur de base de données. Le NoSQL est vraiment impressionnant à voir.
Pour tes requêtes allège au maximum les colonnes que tu souhaites, ne demande que ce que tu as besoin, joue avec les liaisons au lieu de faire des chaînes de requêtes. Normalement avec déjà cette base là tu devrais avoir un site intéressant niveau performance.
Après l'idéal reste aussi d'utiliser un framework qui intègre ces outils et sait les gérer de lui même. Je ne sais pas pour CakePhp (très présent dans les tutoriaux de Grafikart) et MongoDB mais Codeigniter ou Symfony (voir Symfony 2 bien qu'il soit encore en RC il est utilisable aujourd'hui) le font très bien. Mais si tu débutes en Php je te conseille vraiment de te tourner vers Codeigniter qui est plus simple que Symfony (2) à aborder. Après si tu veux vraiment te casser la tête pour faire un truc bien et qui puisse tenir quelques années avec des fonctionnalités importantes tourne toi vers Symfony 2.
Mais faut se dire quand même qu'aujourd'hui en faisant un cMS, ce n'est pas les tout début des sites dynamiques avec juste 3 champs dans un formulaire. Faut rester assez complet dans les options présentes et la personnalisation possible pour l'utilisateur. Donc se baser sur une table unique ne t'apporterait malheureusement que des limitations que tu ne voudrais pas ou qui te bloqueraient en avancant dans ton projet.
Enfin ce n'est que mon avis bien entendu, quelqu'un ici aura peut être un avis contraire ;)