I have website I want to create SEO tags for in Umbraco. I was wondering how it is done? are there any best practice documents or advice?
You need to have properties for those items inside each document which should have them and will be displayed / indexed etc. You can achieve the goal with couple ways:
You can create a small composition document type with all required properties (SeoTitle, SeoDescription, SeoKeywords and whatever you want more) and attach it to your document types (maybe even some master document type used for all webpages rendered and indexed across your site). Then you can create a partial view or render the values from it on the master template. In my opinion this way is giving you the best control over what's there and we're doing it for all of our projects (just importing exported composition doctype and attaching it to desired items in specific solution).
You can use a package e.g. https://our.umbraco.org/projects/backoffice-extensions/seo-metadata-for-umbraco/ which is doing exactly the same thing in a little bit different way, gives you the possibility to retrieve those properties from CurrentPage object. You can read more about the package here: https://ryanl.me/2015/04/13/seo-metadata-for-umbraco/.