LocalRank is a re-ranking method that boosts the results of a query that are cited by other results of the same query. Patent US 6,526,440 B1, "Ranking search results by reranking the results based on local inter-connectivity," describes it. Google filed it on January 30, 2001, and the patent was granted on February 25, 2003.
What does patent US 6,526,440 describe?
Patent US 6,526,440 describes a search engine that refines the relevance score of each result with the links it receives from the other relevant results. Its sole inventor is Krishna Bharat, the author of the Hilltop algorithm ("Hilltop: A Search Engine Based on Expert Documents," February 2000), which the patent cites, and the creator of Google News, launched in 2002. The patent holds 14 claims and 3 drawing sheets. Its term was extended by 185 days, and it expired in August 2021.
The abstract states the principle: "documents that are frequently cited in the initial set of relevant documents are preferred over documents that are less frequently cited within the initial set." A document with high inter-connectivity "has 'support' in the set, and the document's new ranking will increase."
Why does LocalRank use only the initial set of results?
LocalRank uses only the initial set because the patent treats links between documents already judged relevant to the query as "support": a document with high inter-connectivity with the other documents of the initial set "has 'support' in the set." PageRank measures importance across the whole web: a link from a popular page on any subject counts. LocalRank asks a narrower question: among the pages that are relevant to this query, which ones do the others cite?
The initial set "may optionally be limited to a preset number N (e.g., N=1000) of the most highly ranked documents." Their original scores are called OldScores. They come from a main ranking component, and the patent leaves its algorithm open: it can be the Brin and Page algorithm (the article that describes PageRank), or a score based on the proximity of the search terms in the document or on their number of occurrences.
How does Google compute the LocalScore?
Google computes the LocalScore in 5 steps for each document x of the initial set:
- List the backlinks inside the set: the documents of the set that link to x, called B(y).
- Remove links from the same host: documents "from the same host as document x tend to be similar to document x but often do not provide significant new information." The host comparison uses "the first three octets of the IP (Internet Protocol) address," the IP subnet: "If IP3(x)=IP3(y), document y is removed from B(y)."
- Remove mirrors and affiliated hosts: a "mirror" site, or a site affiliated with another and containing "the same or nearly the same documents," counts as the same host. These hosts are identified "through a manual search or by an automated web search that compares the contents at different hosts."
- Keep one document per host among the linkers: when 2 linking documents share the same IP subnet, only the one with the higher OldScore stays, "to prevent any single author of web content from having too much of an impact on the ranking."
- Sum the best scores: sort the remaining linkers by OldScore, keep the top k (for example 20), and compute LocalScore(x) = Σ OldScore(BackSet(i))^m. The patent states: "Typical values for m are, for example, one through three."
The power m "controls the sensitivity of LocalScore to the documents in BackSet," and its value "can be determined by trial and error type testing." It sets how much a strong linker counts compared with a weak one: with m = 3, a linker whose OldScore is twice as high contributes 8 times more. Only the top k linkers enter the sum, so linkers beyond the k best (20 in the example) add nothing.
How is the final score computed?
The final score combines the local score and the original score as a product: NewScore(x) = (a + LocalScore(x) / MaxLS) × (b + OldScore(x) / MaxOS), where MaxLS and MaxOS are the highest local and original scores of the set, and a and b are constants "for example, each equal to one."
The patent handles sets with little inter-connectivity. In such a set, MaxLS is low, yet "because of the lack of inter-connectivity, the contribution of LocalScore to the NewScore value should be reduced." So when MaxLS is below a predetermined minimum, MaxLSMin, MaxLS is set to MaxLSMin, a value that "can be determined by trial and error." Dividing by a higher MaxLS shrinks the local factor, so a topic where pages rarely link to each other keeps a ranking close to the original one.
What do the 14 claims protect?
The claims protect the general principle more broadly than the detailed formulas:
- Claim 1 covers any method that ranks an initial set of relevant documents, calculates a local score "quantifying an amount that the at least two documents are referenced by other documents in the initial set," and refines the relevance scores with it.
- Claims 2 and 3 add the filters: removing linkers "from the same host or from an affiliated host," then keeping, in each pair from the same or an affiliated host, only the one with the higher relevance score.
- Claim 6 covers the sum of OldScores raised to the power m over the first k documents, claim 7 the product of the two scores, claim 8 the NewScore formula and claim 9 the MaxLS threshold.
- Claims 11 to 14 cover the same idea as a method that returns the re-sorted list to the user, a server system, a "means for" system and a computer-readable medium.
The description adds that the search engine "could be implemented on any corpus," not only the web, and that the order of the acts "may be different in other implementations.
How is LocalRank different from PageRank?
LocalRank differs from PageRank on 4 points:
| Point | PageRank | LocalRank |
|---|---|---|
| Scope | The whole web graph | The top results of one query |
| When it runs | Before any query | After a query, as a re-ranking |
| Links that count | Every link | Links from relevant results, one per host or IP subnet |
| What it measures | General importance | Support from the other pages on the topic |
LocalRank is query-dependent: the same page can have strong local support for one query and none for another.
What does LocalRank change for your SEO?
LocalRank means that a link from a page that already ranks for your target query is worth more than a link from an unrelated popular page. 6 consequences follow:
- Earn links from pages that rank on your topic. The linkers that count are in the top results of the query. Look at who ranks for your target queries: those are your most valuable link sources.
- Diversify the hosts that cite you. Only one linking document per host, and per IP subnet, counts: 10 links from one site weigh like 1.
- Do not count on your own network. Links from the same host, from mirrors or from affiliated sites are removed before the calculation.
- Aim for the strongest linkers. With a power m above 1, the score of a linker is amplified: with m = 3, a linker twice as relevant counts 8 times more.
- Quality over volume. Only the k best linkers are summed (20 in the patent's example): the 21st supporting page adds nothing.
- Become a reference that others in your niche cite. Support from the other relevant pages raises a result: be the source the other pages on your topic link to.
The same logic of discounting links from related sites appears in the Panda patent, and the idea that authority comes from trusted pages close to you runs through seed-based PageRank.
The patent describes what Google's system can do. It does not confirm that Google uses LocalRank in its rankings today.