Sì, è fondamentalmente sbagliato. Sì, è meglio includere solo ciò che effettivamente cambia.
Credo sia più facile scriverlo che spiegarlo (scritto al volo, grezzo, sicuramente non girerà ma dovrebbe rendere l'idea):
index.php
Codice PHP:
<?php
// includi il file delle definizioni per la pagina richiesta prima di renderizzarla
if ($_GET['page']){
switch($_GET['page']) {
case "sponsor":
include "path/verso/sponsor.inc";
break;
case "pizza":
include "path/verso/pizza.inc";
break;
}
//renderizza la pagina con le variabili adatte alla pagina richiesta
?>
<HTML>
<HEAD>
<TITLE><?php echo PAGINA_TITLE;?></TITLE>
<META NAME="description" CONTENT="<?php echo PAGINA_META_DESCRIPTION;?>">
</HEAD>
<BODY><?php echo $pagina_body;?></BODY>
</HTML>
<?
} else {
// manca 'page', fai qualcosa a riguardo...
}
?>
sponsor.inc
Codice PHP:
<?php
define ('PAGINA_TITLE', 'Mortadella Rigà, lo sponso degli sponsi');
define ('PAGINA_META_DESCRIPTION', 'finafinafina');
$pagina_body = <<< EOT
infila qua il body della pagina
EOT;
?>
Chiaramente puoi usare globali o locali a tuo piacimento e definire tutti i meta che vuoi, anche se oggi come oggi non dovrebbero avere più di tanta rilevanza sui motori di ricerca.