1. A method comprising: transmitting a first document from a server to a client device, the first document comprising a first subdocument including a text and a link for display on a display of the client device; receiving, at the server, a request from the client device for a second document, the request for the second document received via the link included in the first subdocument of the first document, the first document being different from the second document; dividing the second document into second subdocuments, each of the second subdocuments including text; assigning a label to each of the second subdocuments of the second document; a ranking engine of the server comparing the text of the first subdocument included in the first document with the text of each of the second subdocuments included in the second document; the ranking engine generating a document-document value for each of the plurality of second subdocuments according to a degree of association between the text of the first subdocument and the text of the corresponding one of the second subdocuments; the ranking engine ranking in ranked order the plurality of second subdocuments based, at least in part, on the document-document values indicating the degree of association between the text of the first subdocument included in the first document and the text of the corresponding one of the second subdocuments included in the second document; and transmitting to the client device a response configured to communicate the ranking of the plurality of second subdocuments in the ranked order for display on the display of the client device.