Website building has been made very easy with the latest technology. All you need is a domain, hosting and WordPress. I don't recommend developing website from scratch if you're a beginner or tight on budget.
For optimization, go with a simple WordPress template that serves your purpose and avoid flashy designs. But SEO is a long-term process, so only choosing the right template won't bring you traffic.
If you want good site speed and faster load times, go with a good host. Do NOT go for Pakistani web hosts, they're crap. Tested them. If you're low on budget then go with
GoDaddy's $1/month hosting.
Again, you won't get any traffic by choosing the right template, consult a professional SEO if you're serious about your business.