Moin,
ich hatte noch ein paar Sachen vergessen ;-)
Meine Homepage besteht aus 5 Hauptseiten (Home, Über Uns, Kalender, Fotos, Links // (Anmeldung/Registration) und mehreren Unterseiten.
Derzeit habe ich für JEDE Seite eine extra .html datei erstellt.
Das solltest du auch beibehalten (wie andere bereits schrieben). Gegen eine sinnvolle, nicht übermäßig verschachtelte (in Relation zum Projektumfang natürlich...) Ordnerstruktur (beispielsweise alle Bilder in einen Ordner und je Unterseiten (wenn vorhanden) auch einen Ordner für die HTML-Dateien) spricht meines Erachtens nicht.
Den Seitenkopf (inkl. head und der ganzen Meta-Angaben) sowie den Footer solltest du in separate Dateien packen und dass ganze dann mit PHP zusammenfügen, also statt:
<!doctype html>
<html>
<head>
<title>Titel</title>
<meta charset="utf-8">
</head>
<body>
<nav>
<ul>
<li><a href="seite-1.php">Seite 1</a></li>
<li><a href="seite-2.php">Seite 2</a></li>
<li>Aktuelle Seite</li>
</ul>
</nav>
<main>
<!-- Beginn Inhalt-->
<h1>Überschrift</h1>
<p>Inhalt...</p>
<!-- Ende Inhalt -->
</main>
<footer>
Seitenfuß...
</footer>
</body>
</html>
... für jede Seite nur das zwischen den beiden Kommentaren schreiben musst und Menü, Meta-Angaben und alles überall Gleiche in die per include eingebundenen Dateien packst (wenn man das nicht macht, der Web-Auftritt aber zwischenzeitlich auf hunderte Seiten angewachsen ist und dann eine Meta-Angabe anpassen muss, dann wird es spaßig!):
<?php
$aktuelle_seite = "startseite";
include("header.php");
?>
<h1>Überschrift</h1>
<p>Inhalt...</p>
<?php
include("footer.php")
?>
Das Menü kannst du auch per PHP ausgeben lassen und dabei die aktuelle Seite, die in der Variable aktuelle_seite hinterlegt ist, nicht verlinken, das irritiert nur den Nutzer. Das wird im folgenden Artikel gut beschrieben: Dynamisches Menü in PHP
Gruß
Julius