Search Engine Optimization (SEO) relates to the activity of optimizing individual web-pages or the entire website to make them friendlier to acquire higher raking in the search results. All the major search engines such as Google, Yahoo, Ask, Bing, etc. rank web-pages based on certain factors that affect its ranking; therefore, SEO aims at generating the right types of signals on the web-pages. The core methodology used in SEO is to upgrade both content and associated coding of the website to improve its visibility and prominence in organic searches made by the search engines. The optimized websites obtain better ranks, and typically get a higher number of visitors. This research is based on reviewing different optimization techniques for individual web-pages or the entire website to make them search engine friendly. Besides, this study also critically analyzes and summarizes the core techniques proposed in the contemporary literature. This paper offers a comparative study of the previous research work regarding the techniques used in SEO and pinpoints certain gaps in the known search engine optimization techniques. Finally, we put forward some pertinent guidelines for optimizing the websites.