Как правильно должен работать сайт?
Используйте роутер, это хорошая практика, ставшая уже общепринятой. 
https://github.com/nikic/FastRoute

Второе это используйте шаблонизатор для страниц (маршрутов). 
https://quasi-art.ru/library/it/5-top-php-template...

Ну и самое главное. Почему вы не используете любой из фреймворков Yii , Laravel ?
Не обязательно плодить столько условий. Например GETпараметр pageможно сразу поставлять в название подключаемого файла. Просто сначала проверить есть ли такой файл. Для мета информации нужно какое нибудь хранилище. Принцип в том что не проверять каждый параметр на существование. Очень простой пример: вы создаете массив где нибудь в конфиге с нужными полями. 
$meta = ['title' => null, 'description' => null]
Потом на странице в нужных местах выводите значения. И смысл в том что каждая страница будет по своему заполнять этот массив. Но учтите что более менее серьезные сайты так не строятся. Там совсем другая архитектура