Besides working for Google? Knowing what terms people will use when searching for your site is a good start. Using proper hierarchy, having your words in text rather than images, properly tagging and titling your pages and images also helps. Google changes its search algorithm all the time, so sometimes you need to hire a professional.