Moin,
ich mache seit vielen Jahren Webdesign, habe mir alles selbst
beigebracht.
Jau, das geht mir genauso. Aber in gut 12 Jahren hat sich da einiges angesammelt und man muss eigentlich ständig am Ball bleiben.
Meine ersten Websites habe ich mit Tabellen
layoutet, bin dann irgendwann im Internet auf CSS4U gestoßen,
habe mir dort die Vorlagen nach meinen Vorstellungen
angepasst.
Wobei CSS und der Verzicht auf Layouttabellen ja nicht alles ist. Ich habe hier von so viele Leuten gelesen, die von Tabellenlayout umsteigen auf CSS und dabei immer vergessen, dass sie eigentlich auch HTML noch gar nicht richtig verstanden haben. Es hapert in den meisten Fällen mehr am Verständnis von HTML als von CSS.
Die Websites machen das, was sie sollen.
Nein, das ist so sicher nicht korrekt. Und wenn Du weißt, was Du tust, dann ist Dir das auch bewusst. Fang doch mal an mit Deinem Menü: Es ist als Tabelle ausgezeichnet. Wie kann das das sein, was es sein soll? Deine Seite vermittelt also „jetzt kommen tabellarische Daten“ und nicht „jetzt kommt ein Menü“. Das ist definitiv was ganz anderes als das, was die Seite vermitteln soll.
Außerdem finde ich als beswonders wichtig gekennzeichnete Zeilenumbrüche in Deinem Code. Wie kann ein Zeilenumbruch als besonders wchtig gelten? Das fragt sich sicher so manch ein Client, der Deine Seiten in die Finger bekommt. Nein, Deine Seiten machen vielleicht optisch das, was Du visualisieren willst, aber das ist ja nur die halbe Miete. Der Unterbau ist höchst wackelig. Dir fehlt grundlegendes Verständnis für HTML, wie den meisten, die hier Fragen stellen.
Mir ist klar, dass es immer besser geht
Naja, in manchen Fällen geht es sogar *nur* besser, insbesondere wenn es nichtmal gut ist.
aber für mich ist immer das
Verhältnis zwischen Aufwand und Ergebnis wichtig
Dann wundert mich umso mehr, dass ich solchen Code bei dir sehe. Denn da stimmt das Verhältnis zwischen Aufwand und Ergebnis gar nicht. Der Aufwand, solche Seiten zu pflegen ist so unglaublich hoch, …
da ich einige private Websites betreue und ich mich nicht stundenlang
hinsetzen und programmieren kann.
…dass ich total verstehe, warum Dir alles über den Kopf wächst. Du machst Dir doppelte, dreifache und vielfache Arbeit, hast Code, der einfach unglaublich schwer zu warten ist und absolut unpraktisch und unendlich fehlerbehaftet ist.
Übrigens sind weder HTML noch CSS Programmiersprachen, vielleicht ist das auch ein Grund, warum Du ein falsches Verständnis von den beiden hast, wenn Du versuchst, Dinge damit zu programmieren - denn sowas geht mit beiden nicht.
Ich kann und werde (wenn Du es zulässt) Dir helfen, umzudenken und dann wirst Du feststellen, was ich meine. Du wirst erschrocken sein, wieviel Mehrarbeit Du Dir im Moment machst und wieviel unnütze und falsche Arbeit Du investierst, die gar nicht nötig wäre.
Ich bin immer bereit Neues
zu lernen, habe auch schon erste Erfahrungen mit Wordpress
gesammelt.
Naja, was ich Dir vermitteln würde, sind eher die Grundlagen für das Erstellen von Websites, nciht das Verwenden anderer Programme, die dann wieder Seiten erzeugen, mit denen man nicht immer 100% zufrieden ist. Sich von Programmen die Arbeit abnehmen zu lassen, um dann hinterher doch wieder manuelle Arbeit machen zu müssen, halte ich auch für doppelte Arbeit (wobei das jetzt nicht unbedingt auf Wordpress zutrifft).
Vielleicht kannst du mir mal in ein paar
Stichworten sagen, wie eine moderne Website aussehen muss
Schon falsch 
Eine Website sieht in erster Linie nicht aus, eine Website vermittelt in erster Linie Inhalte. Dazu musst Du mit HTML die Semantik festlegen und erst dann und davon völlig getrennt, erstellst Du das Layout mit CSS. Wenn Du das verinnerlichst, wird Deine Website wirklich das machen, was sie soll, sie wird außerdem barrierefrei sein, Deine Arbeitszeit halbiert sich und Redesigns sind eine Sache von wenigen Stunden und sind nicht komplette Neuentwicklungen.
Insgesamt (mit potenziellen Redesgns) sparst Du Dir bestimmt 80% Deiner Zeit ein.
und mit welchen Hilfsmitteln man Header, Navigation und Content
trennt.
Mit HTML.
Damit definiert man, was Header, Navigation und Content sind.
Wenn Du darauf hinaus willst, dass Du ein Menü nur einmal schreiben willst und das nicht in jede Seite packen willst, …
Ich rede dabei von statischen Seiten, kein PHP o. ä.
…dann wirst Du nicht um eine serverseitige Scriptsprache drumrum kommen. Bei einer Website, die mehr als nur ein paar Inhalte bietet, brauchst Du ohnehin servseitige Scripte (das ist dann übrigens wirklich Programmierung). Zumindest eine Möglichkeit des „serverseitigen include“ wirst Du brauchen. Sonst erhöhst Du deinen Arbeitsaufwand wieder um 70%.
Ich freue mich auch über entsprechende Links.
Da finden wir womöglich welche, wenn ich genau weiß, was Du alles wissen musst. Der eine von zwei wichtigen Links, die Du brauchst, steht in FAQ:1161 und zeigt auf eine gute Einführung in (X)HTML. Der andere ist http://www.google.de/ 
Letztlich kommt es auf Deinen Willen und auf Deine Eigeninitiative an, ob Du Deinen Aufwand mehr als halbieren willst und ob Du Deinen Besuchern eine anständige Website bieten willst, oder schlechtes Mittelmaß bleiben willst (anwenderfreundlich ist es z.B. nicht, wenn Du in einem Formular keine labels verwendest).
Und es kommt darauf an, ob Du die Hilfe annimmst. Wüste Beschimpfungen „es sei halt nicht jeder so superschlau“ von Beratungsresistenten hatte ich schon zur Genüge.
Ich bin gespannt auf Deine Antwort.
Liebe Grüße,
-Efchen