Coding a website has gotten a lot more complicated than it used to be and in a lot of ways this has changed the role of the web designer. These days the designer has to know how to code the site as well so that he can know what he can and can't add to your site. Things like xHTML and CSS coding have completely changed the way that sites are built and designers have to understand how this affects the design process.
When designing a website these days you need to have a lot more skills than used to be required just a few years ago. The days when you could put together a professional looking website using just HTML are long gone. These days there are much more sophisticated coding languages that you can use. One of these is xHTML which was designed to deal with some of the limitations of HTML. In particular it was designed to make sure that your site would work properly when working with other data formats. It is now an important part of modern web design simply because there are so many other data formats being used.
Another of the important coding languages in modern web development is CSS. This is used to make it easier to design the layout of your site. In particular it makes it easy to change the layout of your site. In the past if you wanted to do this you had to completely recode the entire site. This is not necessary with CSS since it will allow you to create the layout separately from the rest of the site. That makes it a simple matter to go back and change things if you want to have a different look for your site.
In most cases it is a good idea to find a web designer who is proficient at using these coding languages in the design of your site. It is possible to have a designer create the look of your site and then find somebody to code it but this can create some problems. Mainly in the sense that the designer may not be aware of what is and what isn't possible. Having a web designer who also knows how to do the coding will solve this problem.
It is also a good idea to include any of these coding elements that you want to use right from the very start of the design process. If you have to go back and start changing things because you realize that you can add a certain feature it tends to make your site a little bit disjointed. It also means that the process of building your site will take longer. Therefore you are going to want to think about exactly what you want your site to be able to do right from the start so that these elements can be included in the initial design.