I want to make a site for my business but it must be free, what’s the best solution?
Yeh, I have to agree with Jeff here. If you're running a business, having a FREE website ought to be embarrassing. Assuming you're profitable, you can get a 'real' website with custom domain for like $50/year.
Why are you insistant on it being free?
If you really want to impress your customers, going cheap (or worse, free) isn't a viable option. Free hosting typically is slow, doesn't offer much bandwidth and disables a lot of functionality. More over, free domains are usually a subsidiary of the hosting domain, so your domain name will look something like YOURWEBSITE.hostingwebsite.com. I recommend you spend the whole $12/yr it takes to at least possess a respectable domain name. However, if you must - I have listed a few hosts below.