Have your own blog. Don't just host a sub domain. See this as an example. Also you could use other's blogs for getting backlinks and to generate relevant traffic to your site. Having an internal blog is ideal to get searches on certain topics. And then those visitors could be influenced to make...
Sign up for the search console (previously known as Google webmasters) and track your website for issues. It will definitely show you the crawling errors due to which your site's urls are not being indexed properly. Cheers!