I am tired of such questions, there are already many threads on this forum with same topic. Take your time and try searching.
You need to spend many hours of research time, and some budget to spend to do this. Depends on your nithce but generally not very easy in this days.
Easy!! Stop wasting your time and go do some hardwork with your site. If you don't want to do hardwork, then pay google adsense to display your site as first though ads. These are the only ways. Spend money/TIme. Spend both to get the best results
Well, It takes so much time and hard work to get any website in top of the ranking.. The basic thing I know to rank any website on search engines needs solid off page optimization with Google guidelines.