dipende
se tutta la pagina (html compreso) è salvato a database fai un controllo (come da te supposto), nel caso l'url sia uno particolare allora sostituisci il blocco da inizio head a fine head con questo, altrimenti lascia stare.
In realtà se usi php per creare una pagina dinamicamente (ad esempio a blocchi), puoi memorizzare a database alcune cose da usare solo in base al nome della pagina, le cerchi poi sul database usando come chiave il nome della pagina stessa ed usi i valori (inteso come variabili ottenute dalla query) e le stampi a video.
Esempio:
Codice PHP:
$nome_pagina = 'pagina1.php';
$query = "SELECT * FROM tabella WHERE pagina = $nome_pagina"; // mia query sql
$proc_query = mysql_query($query);
$res_query = mysql_fetch_array($proc_query);
?>
<html>
<head>
<title><?php print $res_query['title']; ?></title>
</head>
</html>
questo è solo un'esempio ovviamente.