Your solution sounds reasonable: part of the article data can be what you want to include in each of those entities. You may want a default value if not present for some reason. The details of implementation will depend on how your application is designed: if you have a single PHP file that you use to display the head section of the page (and then, for instance, require() into the article view), then you could have a function or in-line code to do those things.
<title>My Site: <?php
echo "A Default Title";