1. A method for a search engine to rank a set of pages returned as search results from a search query, the method comprising: receiving a search query, a first origin page, and a second origin page, the search query including one or more keywords, wherein the first origin page and the second origin page are chosen based on information associated with the search query; generating set of search results based on the one or more keywords; creating an index database by storing at least information on the location of a plurality of web pages where at least one keyword was found and the number of times the keyword relating to the search query appears in each web page; establishing information on any relationship between the web pages; calculating a first click distance from the first origin page to each page returned in the set, wherein the first click distance represents the number of intermediate pages that a user would need to traverse in order to progress from the first origin page to a page in the set of search results, wherein the first click distances are normalized, wherein normalizing the calculated first click distance is performed by scaling the first click distance by a maximum click distance from the first origin page to a farthest result from the first origin page; calculating a second click distance from the second origin page to each page returned in the set, wherein the second click distance represents the number of intermediate pages that a user would need to traverse in order to progress from the second origin page to a page in the set of search results, wherein the second click distances are normalized, wherein normalizing the calculated second click distance is performed by scaling the second click distance by a maximum click distance from the second origin page to a farthest result from the second origin page; summing the normalized first and second click distance for each page in the set of results; ranking the set of search results based on the summed click distances; determining existence of any additional factors, wherein the additional factors include user preferences or other information that affect speed and accessibility of the web pages for completing the search query; and re-ranking the search results by applying a weighted value when additional factors were determined, wherein the weight of the value is determined by type of the additional factor determined.