There are different approaches to this, but mostly I have seen the following being used often:
1. Using a contentplaceholder control in the HEAD element (see this article for details):
http://odetocode.com/Blogs/scott/archive/2006/04/10/3258.aspx
2. Using a BasePage approach, refer this article:
www.codeproject.com/aspnet/PageTags.asp
I really find the second method (using a BasePage class) much more cleaner and flexible as users can change the tags,title etc in the ASPX using page level properties. Though the same can be done in the first approach but using a contentplaceholder in the HEAD tag doesnt sound neat!