One of the best and most effective ways to get a lot of free traffic is applying SEO. SEO is search engine optimization. When someone goes on a search engine such as Google, Bing and Yahoo to look for something, there are websites on that page that they can click on. Rarely anyone looks on page 2 so it's very important to have your website on the first page. You also want your website at the top of the page as well.
The way to make this happen is the use of certain keywords. You can go on https://adwords.google.com/KeywordPlanner to pick keywords you want to use for your website. The trick is to use keywords with the least competition with the highest search rate. When you implement the keywords to your site, try not to overuse them. That's called "keyword stuffing" and can get your website penalized.
Also use keywords in your domain name as well. Say you have a website about fishing. You may want to add the word "fishing" in your domain. It'll help you get ranked high if you use keywords in a domain. You can also use keywords for your Facebook page url, twitter user name, blog url and any other social network that you may be using.
In order for people to find your website, keywords are definitely the way to go.