BACKGROUND

A web search engine is configured to receive a query from a client computing device, search an index of webpages based upon the query to identify webpages that are germane to the query, and thereafter rank the webpages such that webpages identified by the web search engine as being most relevant to the query are positioned at the top of an ordered list of webpages while webpages that are less relevant to the query are positioned lower in the ordered list of webpages. A conventional web search engine is configured to consider several different features of webpages and/or a query when ranking the webpages based upon the query. An exemplary feature of a webpage that is considered by a conventional web search engine when ranking webpages is a static score assigned to the webpage. Generally, the static score assigned to the webpage is based upon a number of hyperlinks on other webpages that point to the webpage and static scores assigned to the other webpages.

Conventional web search engines tend to weight static scores assigned to webpages relatively heavily when ranking such webpages. Therefore, website designers often design websites such that at least one webpage of the website will have as high of a static score assigned thereto as possible, with the result being that the at least one webpage will, over time, be ranked relatively high in ranked lists of webpages returned by the search engine.

Conventionally, approaches for computing static scores for webpages have weighted hyperlinks on a webpage equally; for example, a first webpage may include four hyperlinks that point to four different webpages: a first hyperlink points to a second webpage (e.g., is an inlink to the second webpage), a second hyperlink points to a third webpage, a third hyperlink points to a fourth webpage, and a fourth hyperlink points to a fifth webpage. If these hyperlinks were the only hyperlinks on webpages in the World Wide Web that pointed to the second through fifth webpages, a conventional approach for computing static scores for webpages would assign each of such webpages the same static score, as the conventional approach weights each hyperlink in the first webpage equivalently.

As indicated above, the conventional approach for computing static scores for webpages has led website designers to manipulate design of websites in order to maximize static scores for webpages that belong to websites designed by such website designers (in order to increase traffic to webpages of the websites). For example, a website designer may construct a plurality of webpages that link to one another in a particular manner in an attempt to maximize a static score for a webpage, wherein the goal of the website designer is to cause the webpage to be positioned relatively high in ranked lists of search results (even when content of the webpage is not as relevant to a received query as a second webpage that is positioned lower in the ranked list of search results).

SUMMARY

The following is a brief summary of subject matter that is described in greater detail herein. This summary is not intended to be limiting as to the scope of the claims.

Described herein are various technologies pertaining to ordering webpages in a ranked list of webpages based upon static scores assigned to such webpages, wherein hyperlinks on a webpage that are employed to compute static scores are weighted differently from one another. In an example, a first webpage may include two hyperlinks: 1) a first hyperlink that points to a second webpage; and 2) a second hyperlink that points to a third webpage. First values for features pertaining to hyperlinks can be generated for the first hyperlink and second values for the features can be generated for the second hyperlink. Exemplary features of a hyperlink can include, but are not limited to: 1) a position of a hyperlink on a webpage; 2) a section of the webpage (e.g., title, header, body, sidebar, footer, etc.) that includes the hyperlink; 3) size of anchor text of the hyperlink; 4) color of the anchor text, amongst several other features. The hyperlinks in the first webpage are assigned weights based upon the values for the features for such hyperlinks. Therefore, the first hyperlink is assigned a first weight based upon the first values of the features, while the second hyperlink is assigned a second weight based upon the second values of the features. Because the first values of the features are different from the second values of the features, a first weight assigned to the first hyperlink and a second weight assigned to the second hyperlink are different. A first static score for the second webpage is computed based upon the first weight assigned to the first hyperlink and a second static score for the third webpage is computed based upon the second weight assigned to the second hyperlink. When the second webpage and the third webpage are identified by a search engine as being relevant to a received query, a ranker of the search engine can position the second webpage relative to the third webpage in the ranked list of webpages based upon the first static score assigned to the second webpage and the second static score assigned to the third webpage.

In a nonlimiting example, the first hyperlink may be positioned near the top of the first webpage and may be in a “title” section of the first webpage, and the second hyperlink may be positioned near a bottom of the first webpage and may be included in a “footer” section of the first webpage. The first webpage can be rendered, an image of the first webpage can be generated, and locations of the first hyperlink and the second hyperlink can be ascertained. Additionally, sections that include the first hyperlink and the second hyperlink can be identified based upon the image of the first webpage. In this example, because the first hyperlink is positioned near the top of the first webpage and is included in the “title” section of the first webpage, the first hyperlink can be assigned a relatively high weight. In contrast, because the second hyperlink is located near the bottom of the first webpage and further because the second hyperlink is in the “footer” section of the first webpage, the second hyperlink may be assigned a relatively low weight. Accordingly, a first weight assigned to the first hyperlink is higher than a second weight assigned to the second hyperlink. Put differently, the first hyperlink is treated as being more important than the second hyperlink when computing static scores for the second webpage and the third webpage. While position of the hyperlinks in the first webpage and sections to which the hyperlinks belong have been presented as exemplary features that can be considered when assigning weights to the hyperlinks, it is to be understood that several other features are contemplated, such as length of anchor text, semantics of the anchor text, color of the anchor text, size of the anchor text, HTML tags that correspond to the anchor text, whether the hyperlink is visible, whether the anchor text semantically corresponds with text surrounding the anchor text, whether one or more topics of the webpage that includes the hyperlink are also found in a webpage pointed to by the hyperlink, etc.

Weighting hyperlinks from a webpage differently based upon values for features corresponding to such hyperlinks provides various advantages over conventional approaches for assigning static scores to webpages. Experimentally, it has been shown that performance of a search engine is improved when ranking webpages based upon static scores for such webpages, wherein the static scores are computed with webpage hyperlinks being weighted differently from one another. In addition, by weighting a hyperlink in a webpage based upon values for features (rather than weighting all hyperlinks in the page equally) when computing static scores for webpages, it may be more difficult for website designers to manipulate static scores assigned to webpages.

The above summary presents a simplified summary in order to provide a basic understanding of some aspects of the systems and/or methods discussed herein. This summary is not an extensive overview of the systems and/or methods discussed herein. It is not intended to identify key/critical elements or to delineate the scope of such systems and/or methods. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.

