Hallo!
dass DOMDocument die Elemente <main>, <nav>, <header> und <footer> nicht kennt. Wie kann ich mir da sicher sein, dass alles mit rechten Dingen zugeht?
Dessen kannst du dir nicht sicher sein.
DomDocument#loadHTML nutzt einen speziellen Parsingmodus von libxml2, das eigentlich ein XML-Parser ist. Das hat mit dem, was in Browsern vor sich geht und im HTML5-Standard beschrieben ist, reichlich wenig zu tun.
Besser einen vollwertigen HTML5-Parser verwenden, wenn möglich:
http://masterminds.github.io/html5-php/
Grüße
Mathias