La primera tira más a la lógica de "web modular", la cual no es mala implementación dependiendo del proyecto (aplicando más seguridad que en tu ejemplo. Hay códigos en la web donde manejan este tipo de desarrollos en los cuales cuidan mucho más este aspecto).
La segunda tampoco está mal, pero tu ejemplo solo se basa en el title y los keywords, cuando hagas el resto del código no me parece lo "mas óptimo en cuanto a tiempo de carga" que es lo que pedís.
En cuanto a velocidad es mejor usar simples includes, ej:
header.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$titulo;?></title>
</head>
noticias.php
[php]
<? $titulo = 'Noticias'; ?> include('header.php');
<body>
<?
... ?>
</body>
</html>
eventos.php
Código PHP:
<?
$titulo = 'Eventos';
?>
include('header.php');
<body>
<?
...
?>
</body>
</html>
Ahora, tenés que evaluar que no tendrás templates, o que los mismos sean por CSS, que no cambies de diseño 20
veces al mes, y otras cosas. Y de todas maneras personalmente cambiaría la distribución del html (entre header.php y paginas.php), es solo un ejemplo, a donde falta lo mismo para el footer, navegación, etc.
Y un consejo, cuando se siente realmente la optimización es cuando trabajas
con la DB, si bien esto ayuda, un query mal optimizado puede tirarte abajo el site ;)
Saludos, espero que te ayude en algo.
PD: Algo muy importante, es que si al segundo código lo tiene que tocar un diseñador te va a odiar y porque no mandar a matar.
Con el primero, si usas por ejemplo DW se podrá ver el resultado en la vista, y editar de manera simple el HTML por cualquier mortal.