There are many ways to make a site, and yes it can be free, but you should expect to pay a little bit to get a name and keep the site online.
There are many ways of making a site, but as far as I am concerned there is only one real way of making a site, and thats to make it your self from scratch, without using strange websites and things.
First, you need a name. this will cost about $10 a year. Then you will need a place to host, this will also cost something to do properly.
I could write a big book for you right now about all the things you could and should do, but so to not overload you, I will simply tell you that you need to google the following things:
HTML
CSS
JavaScript
PHP
WYSIWYG
Dream Weaver
If you know how to look things up and follow thru on the questions you generate with what you find, the search terms above should be enough to get you started.