Most of this is good advice, but the idea of having a good design hasn't been stressed enough. If you have nice code and a fugly website, people will leave. You should become familiar with basic web design principles, or if you don't feel comfortable enough with the design aspect of websites, you can pay someone to design a site for you cheap at
99designs.com, and then code it yourself.
99designs is a great resource for cheap, good website design; I'm not affiliated with them, I just like the site. It works as follows: you post the price you will pay for a design (say $200) and the specifics you want regarding the design, and several people will create designs for it. You leave feedback on their designs, and at the end of your design contest you select a winner; they receive the $200, and you get to use that design. You don't have to pick anyone if you are unsatisfied with all the designs submitted (unless you guarantee your contest), and there are a bunch of great designers on 99designs.
Of course if you are good enough with web design do it yourself, but it's important to avoid the website looking amateurish if you want clients to pick you for guitar lessons.
As for coding, a lot of good stuff has been said, and I don't know your level of experience, but for a complete beginner I can't emphasize enough how important includes are. On my first website, I had never heard of includes, and every time I wanted to change the navigation bar or something similar that appears on every web page, I'd have to edit each page file. With php includes (or server side includes on Linux/Apache, but I prefer php), you can have one file that is included in all your web pages, and then a change in that one file is instantly applied to all the pages that include the file. It would have saved me a load of time if I had learned this earlier. You might already know this, but in case you didn't it's good to be aware of.