Not even Google engineers can pin point what factors affect a website’s ranks on search engines. We have clues for sure, but a definite list of factors? Not quite. Google Engineers have time and again mentioned that the factors are mostly outcome of machine learning and algorithm updates which happen almost every time on Google. Sometime minor, sometimes major. We don’t know them entirely.
However, SEOs have pretty much a good understanding of the factors Google looks in a website, that helps it decide whether to rank (or not) a website on the result pages. Here is a comprehensive, yet exhaustive list of all the factors that Google looks for in a website.
You might want to get a cup of coffee before diving in.
Thanks to GetElastic for putting this up.