I found a way of adding MetaData to each page within a public facing website. There are still discussions on whether it is of any value, as some search engines don't always read it, to change the description and keywords.
In the Content Type(s) that the pages use add three fields - one for page title that will appear in the browser and will not affect the title used for the .aspx and in menus, one for the description as for some reason the description added when the page is created is not used (though I don't know it is crawled and returned in search results) and keywords.
I didn't add these fields to the page layout as there are lots of pages for our Marketing department, who own the content, to redo.
I'll post up the rest of the code tomorrow as I don't have the code at home.