Tools for predicting improvement in website search engine rankings based upon website linking relationships

The present inventions may be implemented by tools for predicting website search engine rankings. An example system may comprise: a first website having a first IP address hosted on at least one server computer communicatively coupled to a network; a second website having a second IP address hosted on one or more of the at least one server computer; and one or more of the at least one server computers being configured to calculate a link match score indicating whether a search engine ranking for the first website would improve if the first website entered a linking relationship with the second website, wherein the link match score is a function of whether the first IP address is similar to the second IP address.

CROSS REFERENCE TO RELATED PATENT APPLICATIONS

This patent application is related to the following concurrently-filed patent applications, each of which are assigned to Go Daddy Operating Company, LLC and incorporated herein by reference:

U.S. patent application Ser. No. 13/017,921 entitled: “PREDICTING IMPROVEMENT IN WEBSITE SEARCH ENGINE RANKINGS BASED UPON WEBSITE LINKING RELATIONSHIPS;” and

U.S. patent application Ser. No. 13/017,953 entitled: “WEBSITE LINKING AND MONITORING SERVICE PROVIDING IMPROVED WEBSITE SEARCH ENGINE RANKINGS.”

FIELD OF THE INVENTION

The present inventions generally relate to the Internet and, more particularly, methods and tools for predicting and improving website search engine rankings based upon website linking relationships.

SUMMARY OF THE INVENTION

An example embodiment of a method for predicting website search engine rankings may comprise the step of calculating a link match score indicating whether a search engine ranking for a first website having a first IP address would improve if the first website entered a linking relationship with a second website having a second IP address, wherein the link match score is a function of whether the first IP address is similar to the second IP address.

An example embodiment of a tool for predicting website search engine rankings may comprise: a first website having a first IP address hosted on at least one server computer communicatively coupled to a network; a second website having a second IP address hosted on at least one server computer; and at least one server computer configured to calculate a link match score indicating whether a search engine ranking for the first website would improve if it entered a linking relationship with the second website, wherein the link match score is a function of whether the first IP address is similar to the second IP address.

An example embodiment of a method for implementing a website linking service providing improved website search engine rankings may comprise the steps of: receiving, from an operator of a first website, a request to enter a linking relationship with at least one of a plurality of websites; determining whether a search engine ranking for the first website would improve if the first website entered a linking relationship with a second website selected from the plurality of websites; and (responsive to a determination that the search engine ranking would improve) installing a first link to the first website on the second website and a second link to the second website on the first website.

The above features and advantages of the present inventions will be better understood from the following detailed description taken in conjunction with the accompanying drawings.

DETAILED DESCRIPTION

The present inventions will now be discussed in detail with regard to the attached drawing figures which were briefly described above. In the following description, numerous specific details are set forth illustrating the Applicant's best mode for practicing the inventions and enabling one of ordinary skill in the art to make and use the inventions. It will be obvious, however, to one skilled in the art that the present inventions may be practiced without many of these specific details. In other instances, well-known machines, structures, and method steps have not been described in particular detail in order to avoid unnecessarily obscuring the present inventions. Unless otherwise indicated, like parts and method steps are referred to with like reference numerals.

A network is a collection of links and nodes (e.g., multiple computers and/or other devices connected together) arranged so that information may be passed from one part of the network to another over multiple links and through various nodes. Examples of networks include the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, and wireless networks.

The Internet is a worldwide network of computers and computer networks arranged to allow the easy and robust exchange of information between computer users. Hundreds of millions of people around the world have access to computers connected to the Internet via Internet Service Providers (ISPs). Content providers place multimedia information (e.g., text, graphics, audio, video, animation, and other forms of data) at specific locations on the Internet referred to as webpages. Websites comprise a collection of connected, or otherwise related, webpages. The combination of all the websites and their corresponding webpages on the Internet is generally known as the World Wide Web (WWW) or simply the Web.

Prevalent on the Web are multimedia websites, some of which may offer and sell goods and services to individuals and organizations. Websites may consist of a single webpage, but typically consist of multiple interconnected and related webpages. Menus and links may be used to move between different webpages within the website or to move to a different website as is known in the art. The interconnectivity of webpages enabled by the Internet can make it difficult for Internet users to tell where one website ends and another begins. Websites may be created using HyperText Markup Language (HTML) to generate a standard set of tags that define how the webpages for the website are to be displayed.

Websites, unless extremely large and complex or have unusual traffic demands, typically reside on a single server and are prepared and maintained by a single individual or entity. Some Internet users, typically those that are larger and more sophisticated, may provide their own hardware, software, and connections to the Internet. But many Internet users either do not have the resources available or do not want to create and maintain the infrastructure necessary to host their own websites. To assist such individuals (or entities), hosting companies exist that offer website hosting services. These hosting service providers typically provide the hardware, software, and electronic communication means necessary to connect multiple websites to the Internet. A single hosting service provider may literally host thousands of websites on one or more hosting servers.

Users of the Internet may access content providers' websites using software known as an Internet browser, such as MICROSOFT INTERNET EXPLORER or MOZILLA FIREFOX. After the browser has located the desired webpage, it requests and receives information from the webpage, typically in the form of an HTML document, and then displays the webpage content for the user. The user then may view other webpages at the same website or move to an entirely different website using the browser.

Browsers are able to locate specific websites because each website, resource, and computer on the Internet has a unique Internet Protocol (IP) address (e.g., 64.202.167.32, an IPv4 address, or 2EDC:BA98:0332:0000:CF8A:000C:2154:7313, an IPv6 address). IP addresses, however, even in such human readable notation, are difficult for people to remember and use. A Uniform Resource Locator (URL) is much easier to remember and may be used to point to any computer, directory, or file on the Internet. A browser is able to access a website on the Internet through the use of a URL. The URL may include a Hypertext Transfer Protocol (HTTP) request combined with the website's Internet address, also known as the website's domain. An example of a URL with a HTTP request and domain is: http://www.companyname.com. In this example, the “http” identifies the URL as a HTTP request and the “companyname.com” is the domain.

Internet users may locate websites via search engines that search for information on the World Wide Web. Commercially-available search engines include GOOGLE, YAHOO, and MICROSOFT BING. A search engine functions as an information retrieval system that, responsive to a user's search request (e.g., keyword query entered into a data field on a search engine's website), locates and returns links to websites determined by the search engine to be relevant to the submitted keywords. Search engines use various algorithms to determine which websites are most relevant to the submitted keywords.

Although the algorithm used by a specific search engine may be proprietary, it is generally known that many algorithms consider as relevant factors the frequency and location of terms on a website and the way that the website links to other websites on the Web. Websites having terms deemed relevant to the submitted keywords may be given a higher ranking. Similarly, websites that are linked to other websites deemed relevant to the submitted keywords (e.g., the other websites contain hyperlinks to the subject website) also may be given a “boost” in relevancy ranking by the search engine. Search engines generally return results, perhaps in list form on a results webpage, such as a list of vertically-arranged links, placing those links deemed (by the search engine's algorithm) to be most relevant to the submitted keywords in the most prominent location on the search result webpage (e.g., the top of the list).

Search Engine Optimization (SEO) is the process of analyzing search engines and their algorithms to identify the factors used by the search engine to determine website relevancy, and using those factors to improve a website's ranking, and therefore obtain a more prominent placement on the search engine results webpage. Optimizing a website for improved SEO ranking may include editing its content, HTML, metadata, and/or associated code to increase its relevance to specific keywords. It also may comprise promoting the website to other website operators to increase the number of inbound links to the website.

Link building, therefore, is one of the many strategies employed by website operators to improve their websites' search ranking. Successful link building, however, is time-consuming and laborious, requiring the website operator to research other websites, reach out to their operators, and agree to exchange and install links. Applicant has determined that presently-existing systems and methods do not provide optimal means for predicting, recommending, implementing, or monitoring successful link building relationships. Specifically, there is a need for the methods and tools for predicting website search engine rankings based upon website linking relationships and recommending, implementing, and monitoring such website linking relationships as described herein.

Predicting Improved Website Search Engine Rankings Based Upon Website Linking Relationships

FIG. 1illustrates a possible embodiment of a method for predicting website search engine ranking based upon website linking relationships that may comprise the step of calculating a link match score (Step100) indicating whether a search engine ranking for a first website having a first IP address would improve if the first website entered a linking relationship with a second website having a second IP address, wherein the link match score may be a function of whether the first IP address is similar to the second IP address.

As a non-limiting example, the method illustrated inFIG. 1(and all methods described herein) may be performed by any central processing unit (CPU) in one or more computing devices or systems, such as a microprocessor running on a server computer communicatively coupled to a network (e.g., the Internet) and executing instructions stored (perhaps as scripts and/or software) in computer-readable media accessible to the CPU, such as a hard disk drive or solid-state memory on a server computer.

As discussed above, the first website's search engine ranking refers to the position at which the first website would appear on a search engine results page responsive to a query. The first website would have a higher ranking if it appears in a prominent or preferential location on the search result webpage (e.g., the top of the list) and vice versa.

A link match score may be calculated that may predict whether the first website's search engine ranking would benefit (e.g., improve) if the first website entered a link relationship with a second website (Step100). A linking relationship between the first website and the second website might be unilateral or bilateral. In a unilateral linking relationship, only one website has a link to the other (e.g., the second website contains a hyperlink to the first website, but the first website does not contain a hyperlink to the second website). In a bilateral (e.g., reciprocal) linking relationship, both websites have links to each other.

One reason the first website's search engine ranking may benefit from such a relationship is that many search engine rankings are based (in part) on the number and quality of inbound links to a website. Thus, the mere existence of an inbound link from the second website to the first website may cause various search engines to raise or improve the first website's ranking. However, many search engines discount or disregard inbound links that are obvious attempts to spoof the search engine ranking algorithm. For example, inbound links from a website operated by the same individual or entity as the receiving website may be discounted or disregarded when a rank is determined.

One possible method of calculating such a link match score may comprise determining whether the first website's IP address is similar to the IP address of the second website because similar IP addresses may indicate commonality of website ownership. As a non-limiting example, a link match score may indicate an improved search engine ranking for the first website where its IP address does not match the second website's IP address. This is true because, although many search engines may “boost” a website's rankings based upon the number of inbound links, they also attempt to factor in the quality of such links. They do this by analyzing the servers hosting the first and second websites. If the IP addresses are similar for both, this may indicate a common website operator attempting to spoof the search engine's algorithm by installing mutual links between his own websites to falsely raise his website's rank. To combat this, search engine ranking algorithms may not improve a website's rank—even if the website has inbound links—if the inbound links come from a website hosted on the same server or network.

Thus, a calculated link match score for a website may be high (therefore predicting an improved ranking) where the second website's IP address differs from the IP address of the first website because differing IP addresses indicate different website operators and, therefore, legitimate inbound links. As a specific non-limiting example, where the first and second websites are hosted on servers using class C IPv4 IP addresses, the link match score may be a function of whether the first three octets of the first website's IP address matches the first three octets of the second website's IP address. For example, the link match score may indicate an improved search engine ranking for the first website where the first three octets of its IP address do not match the first three octets of the second class C IP address.

There are five IPv4 IP classes (A-E), each class using 32-bit IP addresses, which are each divided into four octets (eight-bit sections), such as 64.202.167.32. Class C addresses, often used by businesses and hosting providers, range from 192.0.1.1 to 233.255.254.254, and use the first three octets to identify the network. The fourth octet identifies the computer connected to the network. Thus, class C IP addresses may support over two million different networks, each of which may support 254 computers. Linked websites having a different first three octets of a class C IP address are more likely to have different operators, less likely to have spoofed links, and more likely to have a higher search engine ranking.

A higher calculated link match score may indicate an improved search engine ranking for the first website should it enter a linking relationship with the second website. The link match score itself may comprise any rating or ranking scale known in the art or developed in the future. As non-limiting examples, the link match score may range from 0 to 1, 1 to 10, 0% to 100%, and/or A+ to F− (e.g., grades). Alternatively, it may comprise a star rating system or a color rating system (e.g., red indicates a poor quality match, yellow indicates an average quality match, and green indicates a good match).

As one non-limiting example, the range for link match scores may have a minimum value of 0% and a maximum value of 100%, and may indicate an improved search engine ranking for the first website if it exceeds a score of 50%. Where the link match score if a function of whether the first website's IP address is similar to the IP address of the second website, the link match score may be initially set at 50% where the IP addresses are different.

FIG. 2illustrates an alternate method embodiment that builds upon that illustrated inFIG. 1, wherein the link match score further may be a function of a number of inbound links to the second website, a PageRank for the second website, whether an Open Directory Project category for the first website matches an Open Directory Project category for the second website, whether a keyword for the first website matches a keyword for the second website, and/or a popularity rank for the second website. The link match score may be a function of one, some, or all of these variables.

The number of inbound links (also known as backlinks, incoming links, inlinks, and inward links) to the second website (or any of its webpages) may be factored into the link match score calculation. An inbound link is any link received by a web node (web page, directory, website, or top level domain) from another web node. The number of inbound links is an indication of the popularity or importance of the second website. For example, the more that other websites link to the second website, the more hits the second website is likely to receive. Thus, the first website's search engine ranking is likely to increase if linked to the second website because the second website would have a higher ranking itself.

The illustrated method may use any system, process, or method known in the art or developed in the future to determine the number of inbound links to the second website. As a few non-limiting examples, YAHOO!'s Site Explorer Application Programming Interface (API) or GOOGLE Analytics services may analyze the second website and determine the number of inbound links. Alternatively, proprietary software may be written to analyze the second website and determine the number of inbound links.

Once the number of inbound links have been determined, the calculated link match score for the first website may increase or decrease according to the determined number of inbound links to the second website. For example, the link match score may be set at a higher value if the number of inbound links to the second website is greater than 1. Continuing with the above example, if the link match score was initially set at 50% because the IP addresses for the first and second website are different, the link match score may be reset to a higher value (e.g., 60%) if the second website has more than one inbound link.

The GOOGLE PageRank for the second website also may be factored into the link match score calculation. PageRank is a link analysis algorithm that assigns a numerical weighting to each element of a hyperlinked set of documents (such as webpages and websites on the Internet) to calculate reach document's relative importance. Thus, a website's PageRank comprises a numerical value that represents how important or popular a website is, according to GOOGLE's proprietary algorithm. The PageRank algorithm is made available for public use via an exposed API and GOOGLE's website. Users merely need to submit a website's URL, and the PageRank is returned, generally as a whole number between zero and ten. The most popular websites have a PageRank of ten and the least popular have a PageRank of zero.

Once the PageRank for the second website been determined, the calculated link match score for the first website may increase or decrease according to the determined PageRank score. For example, the Link match score may be reset to a higher value if the PageRank for the second website is greater than one. Continuing with the above example, if the link match score was initially set at 50% because the IP addresses for the first and second website are different and subsequently reset to 60% because the second website has more than one inbound link, the link match score again may be reset to a higher value (e.g., 70%) if the second website has a PageRank greater than one.

Another variable that may factor into the link match score is whether an Open Directory Project category for the first website matches an Open Directory Project category for the second website. The Open Directory Project (ODP) is an open content directory of websites that is maintained and edited by a community of volunteer editors. It uses a hierarchical ontology scheme to organize websites according to their content. Websites on similar topics are assigned to relevant categories and grouped accordingly. The ODP-assigned category for a particular website may be determined by entering the website's URL in the search box on ODP's website (www.dmoz.org) or by placing a function call on the ODP's API.

Returning toFIG. 2, once the ODP-assigned category for the first and second websites have been determined, the calculated link match score for the first website may increase (if the categories match) or decreased (if they do not match). Continuing with the above example, if the link match score was initially set at 50% because the IP addresses for the first and second website are different, reset to 60% because the second website has more than one inbound link, and raised to 70% because the second website has a PageRank of greater than one, it may again be raised if the ODP-assigned categories for the first and second websites match (e.g., to 80%).

Another variable that may factor into the link match score is whether a keyword for the first website matches a keyword for the second website. Websites having keywords in their text, HTML code, and/or metadata that match—or are ontologically similar to—search terms are more likely to return as a hit in a search. Thus, for improved SEO rankings, it is important for a linking relationship that linked websites have matching, or similar, keywords. Keyword for the first or second websites may be received from their respective website operators, perhaps during the process of registering for (or otherwise requesting) a linking relationship for their respective websites. Alternatively, website keywords may be determined by crawling the first and/or second websites. This may be accomplished by a Web crawler, which may comprise software running on a server that may browse the first and second websites, analyze their links, HTML code, text and other content, and/or metadata to identify keywords that may be indicative of the websites' subject matter.

Once keywords for the first and second websites have been determined, the calculated link match score for the first website may increase (if the categories match) or decreased (if they do not match). Continuing with the above example, if the link match score was initially set at 50% because the IP addresses for the first and second website are different, reset to 60% because the second website has more than one inbound link, raised to 70% because the second website has a PageRank of greater than one, and raised to 80% because their ODP-assigned categories for the first and second websites match, the link match score may again be raised (e.g., to 90%) if matching keywords are found.

Another variable that may factor into the link match score is a popularity rank for the second website. The link match score reset at a higher value if the popularity of the second website is high (of reduced if it is low). The disclosed method embodiments may utilize any system or method of quantifying or otherwise ranking the popularity a website including, but not limited to using a website's ALEXA ranking as a variable in the link match score calculation.

ALEXA is a company that provides Internet users with a toolbar that, once installed on a user's browser, collects data on browsing behavior. The data then is transmitted to ALEXA where it is analyzed and used to generate website popularity rankings A website having an ALEXA score of one indicates that the website is the most visited website on the Internet. A score of 1000 similarly indicates that it ranks as the 1000thmost visited website. ALEXA makes its rankings available to the public through a comprehensive set of web services and APIs.

Once the second website's ALEXA ranking has been determined, the calculated link match score for the first website may increase if the ranking is high (e.g., a low ALEXA score) or decreased if low (e.g., a high ALEXA score). Continuing with the above example, if the link match score was initially set at 50% because the IP addresses for the first and second website are different, reset to 60% because the second website has more than one inbound link, raised to 70% because the second website has a PageRank of greater than one, raised to 80% because their ODP-assigned categories for the first and second websites match, and raised to 0.9 because matching keywords were found, it may be lowered (e.g., back to 80%) if the second website's ALEXA ranking is high (e.g., a poor ranking).

FIG. 3illustrates an alternate embodiment of a method for predicting website search engine ranking based upon website linking relationships that builds upon the embodiments illustrated inFIGS. 1 and 2, and further comprises the step of presenting the calculated link match score to the operator of the first website (Step300). The link match score may be presented or transmitted to the website operator via any means of presenting or transmitting data known in the art or developed in the future including, but not limited to, sending an HTTP transmission to the website operator that, when rendered in a browser on a client computer, displays the link match score on the client's display.

Such data (and any other data described herein) may be transmitted or received via any method of data transfer know in the art or developed in the future. Such data transfer methods can generally be classified in two categories: (1) “pull-based” data transfers where the receiver initiates a data transmission request; and (2) “push-based” data transfers where the sender initiates a data transmission request. Both types are expressly included in the embodiments illustrated herein, which also may include transparent data transfers over network file systems, explicit file transfers from dedicated file-transfer services like FTP or HTTP, distributed file transfers over peer-to-peer networks, file transfers over instant messaging systems, file transfers between computers and peripheral devices, and/or file transfers over direct modem or serial (null modem) links, such as XMODEM, YMODEM and ZMODEM. Data streaming technology also may be used to effectuate data transfer. A data stream may be, for example, a sequence of digitally encoded coherent signals (packets of data) used to transmit or receive information that is in transmission. Any data transfer protocol known in the art or developed in the future may be used including, but not limited to those used with TCP/IP (e.g., FTAM, FTP, HTTP, RCP, SFTP, SCP, or FASTCopy), those used with UDP (e.g., TFTP, FSP, UFTP, or MFTP), those used with direct modem connections, HTTP streaming, Tubular Data Stream Protocol (TDSP), Stream Control Transmission Protocol (SCTP), and/or Real Time Streaming Protocol (RTSP).

As alternative non-limiting examples, the link match score may be transmitted via any electronic communication, such as an email message or Short Message Service (SMS) message (i.e., text message), or via any other means, such as via a written, typewritten, faxed, or mailed document, or via oral communication. Depending on the scoring scheme used, the score may be presented as a range from 0 to 1, 1 to 10, 0% to 100%, A+ to F− (e.g., grades), a star rating system, or a color rating system (e.g., red indicates a poor quality match, yellow indicates an average quality match, and green indicates a good match).

FIG. 4illustrates a method embodiment that builds upon that illustrated inFIG. 3and may further comprise the step of (perhaps responsive to the first website operator receiving and reviewing the link match score) receiving from the first website operator a request to enter a linking relationship with the second website (Step400). After this request is received, it may be transmitted to the second website operator (Step410), who may decide whether to accept the request and enter the linking relationship with the first website. Alternatively, rather than re-transmitting the request from the first website owner to the second website owner, the request may be directly transmitted to the second website operator. If the second website operator accepts the request and agrees to enter the linking relationship with the first website, the acceptance may be received (Step420) thereby establishing mutual intent to establish the linking relationship.

Once both first and second website operators consent to the linking relationship, a first code comprising a first link to the first website may be transmitted to the second website's operator (Step430) and/or a second code comprising a second link to the second website may be transmitted to the first website's operator (Step440) for installation on their respective websites. The first and second code may comprise any computer program, software, or script that, when received and installed on a website provides a hyperlink to the linked-to website. As a non-limiting example, the link codes may comprise pre-formatted HTML code transmitted to the website operator, perhaps as an email attachment.

FIG. 5illustrates an alternate embodiment of a method for predicting website search engine ranking based upon website linking relationships that builds upon the embodiments illustrated inFIGS. 1 and 2, and further comprises the steps of (after calculating a link match score (Step100)) determining whether the link match score exceeds a predetermined value (Step500) and, responsive to a determination that the link match score exceeds the predetermined value, recommending the linking relationship to an operator of the first website or an operator of the second website (Step510).

The predetermined value (e.g., score) may comprise the threshold limit at which a linking relationship to the second website may be recommended or suggested to the first website operator. The predetermined value may be received from the first website operator when he signs up for a link matching service. Alternatively, the link match service provider may generate a threshold predetermined value above which linking relationships will be recommended.

Continuing with the above example, if a 0% to 100% link match score scale is used, the first website owner may indicate, perhaps via a data field on a link match service provider's webpage, that he wishes to receive link match recommendations only if the calculated link match score exceeds 70%. If the calculated link match score for a potential matching website (e.g., the second website) exceeds 70%, a linking relationship between the first and second website may be recommended (Step510).

A linking relationship may be recommended (Step510) by any of the means of communication and/or transmitting and receiving data described above. In one non-limiting example, the link match service provider may transmit email (or any other electronic communications) to the first website operator and/or the second website operator. The electronic communication may provide the first website operator with contact information for the second website operator (and/or vice versa), such as email address, telephone number, website URL, etc., thereby enabling the website operators to directly contact each other and install links to each other's website. Alternatively, the link match provider may transmit links to the respective website operators as described above with respect to Steps430and440.

FIG. 6illustrates a possible embodiment of a method for predicting website search engine ranking based upon website linking relationships that may comprise the steps of: generating a first website profile for a first website (Step600); generating a second website profile for a second website (Step610); and calculating a link match score indicating whether a search engine ranking for the first website would improve if the first website entered a linking relationship with the second website (Step100).

The first website profile700is illustrated inFIG. 7and, as non-limiting examples, may comprise any data structure (e.g., data file, spreadsheet, database record, etc.) storing in association information about the first website including, but not limited to: a domain name for the first website; an IP address for the first website; a number of inbound links to the first website; a PageRank for the first website; an Open Directory Project category for the first website; at least one keyword for the first website; and/or a popularity ranking for the first website.

The second website profile800is illustrated inFIG. 8and, as non-limiting examples, may comprise any data structure (e.g., data file, spreadsheet, database record, etc.) storing in association information about the second website including, but not limited to: a domain name for the second website; an IP address for the second website; a number of inbound links to the second website; a PageRank for the second website; an Open Directory Project category for the second website; at least one keyword for the second website; and/or a popularity ranking for the second website.

As a non-limiting example, the first website profile700and second website profile800may be generated (Steps600and610), perhaps by software and/or scripts running on at least one server, by receiving information regarding the relevant website (e.g., domain name, URL, website category, website operator contact information, etc.) directly from the website operator. Additional information (PageRank, ALEXA ranking, number of inbound links, ODP category, keywords, etc.) then may be determined—perhaps by a Web crawler spidering the websites, determining the additional information, and returning such data to the server generating the website profiles.

Once the website profiles have been generated (Steps600and610), the link match score may be calculated (Step100) by determining the degree to which the first website profile700correlates with the second website profile800. If the calculated correlation is high, the link match score may indicate that a search engine ranking for the first website would improve if it entered a linking relationship with the second website.

As a non-limiting example, the calculated correlation could range from 0 to 1 and a correlation of greater than 0.5 may result in a link match score that indicates an improved search engine ranking for the first website. For example, a calculated correlation of 0.8 might result in a green link match score (if a color scoring scheme is used), a B score (if a grading scoring scheme is used), or an 80% score (if a percentage scoring scheme is used).

The calculated correlation may increase or decrease based upon any of the data in the website profiles. As a non-limiting example, the calculated correlation may be initially set at greater than 0.5 where the IP address for the first website does not match the IP address for the second website.

The number of inbound links to the second website also may be factored into the calculated correlation. For example, the calculated correlation may be set at a higher value if the number of inbound links to the second website is greater than 1. Continuing with the above example, if the calculated correlation was initially set at 0.5 because the IP addresses for the first and second website are different, the calculated correlation may be reset to a higher value (e.g., 0.6) if the second website has more than one inbound link.

The GOOGLE PageRank for the second website also may be factored into the calculated correlation. For example, the calculated correlation again may be reset to a higher value (e.g., 0.7) if the second website has a PageRank greater than one.

Another variable that may factor into the calculated correlation is whether an Open Directory Project (ODP) category for the first website matches an ODP category for the second website. Continuing with the above example, the calculated correlation again may be raised if the ODP-assigned categories for the first and second websites match (e.g., to 0.8).

Another variable that may factor into the calculated correlation is whether a keyword for the first website matches a keyword for the second website. Continuing with the above example, the calculated correlation may again be raised (e.g., to 0.9) if matching keywords are found.

Another variable that may factor into the calculated correlation is a popularity rank for the second website, such as its ALEXA ranking. For example, the calculated correlation may be lowered (e.g., back to 0.8) if the second website has a poor ALEXA (or other popularity) ranking.

FIG. 9illustrates a more detailed embodiment of a method for predicting website search engine ranking based upon website linking relationships that builds upon the embodiments illustrated inFIGS. 6 through 8, and further comprises the above-described steps of: presenting the link match score to an operator of the first website (Step300); receiving from the operator of the first website a request to enter the linking relationship with the second website (Step400); transmitting the request to an operator of the second website (Step410); receiving from the operator of the second website an acceptance of the request (Step420); transmitting, to the operator of the first website, a second code comprising a second link to the second website (Step440); and transmitting, to the operator of the second website, a first code comprising a first link to the first website (Step430). The illustrated embodiment also comprises the step of (perhaps prior to step A), receiving from an operator of the first website a request for a linking relationship with at least one of a plurality of websites that may be participating in the link match service (Step900).

FIG. 10illustrates an alternate embodiment of a method for predicting website search engine ranking based upon website linking relationships that builds upon the embodiments illustrated inFIG. 6, and further comprises the steps of (after calculating a link match score (Step100)): determining whether the link match score exceeds a predetermined value (Step500) and, responsive to a determination that the link match score exceeds the predetermined value, recommending the linking relationship to an operator of the first website or an operator of the second website (Step510). Steps500and510may be accomplished as described in detail above.

FIG. 11illustrates an alternate embodiment of a method for predicting website search engine ranking based upon website linking relationships that builds upon the embodiments illustrated inFIG. 6, and further comprises (prior to generating a first website profile700(Step600)) receiving at least one information (e.g., domain name, URL, website category, website operator contact information, etc.) about the first website (Step1100), perhaps from the first website operator. The received information, which may be used to generate the first website profile700(Step600) may be subsequently verified (Step1110), perhaps by a Web crawler spidering the first website, verifying the submitted information, and returning either a confirmation or denial of the submitted information to the server generating the first website profile700.

Other information about the first website (e.g., IP address, PageRank, ALEXA or other popularity ranking, number of inbound links, ODP category, keywords, etc.) then may be determined, perhaps by a Web crawler spidering the first website, determining the additional information, and returning such data to the server generating the website profiles700and800(Step1120). Both the operator-submitted website information and the data determined in Step1120may then be used to generate the first website profile700.

Tools for Predicting Improved Website Search Engine Rankings Based Upon Website Linking Relationships

FIG. 12illustrates an example embodiment of system that may perform the methods described herein. Such a system may comprise, as a non-limiting example: a first website1200having a first IP address1210hosted on at least one server1220communicatively coupled to a network1230; a second website1240having a second IP1250address hosted on one or more of the at least one server1220; and one or more of the at least one server1220configured to perform the method steps described in detail elsewhere in this application.

The example embodiments herein place no limitation on network1230configuration or connectivity. Thus, as non-limiting examples, the network1230could comprise the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, wireless networks, or any combination thereof.

Server computers1220(and/or client computers used to access the network1230) may be communicatively coupled to the network1230via any method of network connection known in the art or developed in the future including, but not limited to wired, wireless, modem, dial-up, satellite, cable modem, Digital Subscriber Line (DSL), Asymmetric Digital Subscribers Line (ASDL), Virtual Private Network (VPN), Integrated Services Digital Network (ISDN), X.25, Ethernet, token ring, Fiber Distributed Data Interface (FDDI), IP over Asynchronous Transfer Mode (ATM), Infrared Data Association (IrDA), wireless, WAN technologies (T1, Frame Relay), Point-to-Point Protocol over Ethernet (PPPoE), and/or any combination thereof.

The first website1200and second website1240each may comprise any collection of data and/or files accessible to a client or server1220communicatively coupled to the network1230. As a non-limiting example, the first and second websites1200and1240each may comprise a single webpage or multiple interconnected and related webpages resolving from a domain name, each of which may provide access to static, dynamic, multimedia, or any other content, perhaps by accessing files (e.g., text, audio, video, graphics, executable, HTML, eXtensible Markup Language (XML), Active Server Pages (ASP), Hypertext Preprocessor (PHP), Flash files, server-side scripting, etc.) that enable the website107to display when rendered by a browser on a client.

Such files may be stored (i.e., hosted) in any data storage medium capable of storing data or instructions1270for access and/or execution by a computing device, such as a server1220or client computer. Such data storage may comprise, as non-limiting examples, magnetic, optical, semiconductor, paper, or any other data storage media, a database or other network storage device, hard disk drives, portable disks, CD-ROM, DVD, RAM, ROM, flash memory, and/or holographic data storage, perhaps in a network storage device communicatively coupled to the network1230, such as a hard drive or other memory on a server1220.

The at least one server1220and/or any other server described herein, could be any computer (i.e., hardware) or program (e.g., software) that provides services to other computers, programs, or users either in the same computer or over a computer network. As non-limiting examples, the at least one server1220may comprise an application, communication, mail, database, proxy, fax, file, media, web, peer-to-peer, or standalone server and may use any server format known in the art or developed in the future (possibly a shared hosting server, a virtual dedicated hosting server, a dedicated hosting server, or any combination thereof).

As a non-limiting example, at least one server1220may be configured to perform the steps described herein by installing instructions1270(e.g., software, scripts, code, etc.) in computer-readable media1260on a server1220or other computing device that, when executed by a microprocessor1280on the server1220or other computing device, cause the microprocessor1280to accomplish the required step.

The computer-readable media1260may comprise any data storage medium capable of storing instructions1270for execution by a computing device. It may comprise, as non-limiting examples, magnetic, optical, semiconductor, paper, or any other data storage media, a database or other network storage device, hard disk drives, portable disks, CD-ROM, DVD, RAM, ROM, flash memory, and/or holographic data storage. The instructions1270may, as non-limiting examples, comprise software, scripts, code, etc. stored in the computer-readable media1260that may be stored locally in a server1220or client computer or, alternatively, may be stored in a highly-distributed format in a plurality of computer-readable media1260accessible to the computing device via the network1230, perhaps via a grid or cloud-computing environment.

FIG. 13illustrates another example embodiment that builds upon the system illustrated inFIG. 12and may perform the methods described herein. Such a system may comprise, as a non-limiting example: at least one server1220configured to calculate a link match score by: generating a first website profile700for a first website1200(Step600); generating a second website profile800for the second website1240(Step610); and calculating a link match score (Step100), wherein the link match score is based upon a calculated correlation between the first website profile700and the second website profile800.

The illustrated embodiment further comprises at least one profile database1330communicatively coupled to the network1230via the methods described above. The profile database1330may store the first website profile700and/or second website profile800generated by the server computer(s)1220or other computing device. As a non-limiting example, the profile database1330may run on at least one server1220and may store the first website profile700, second website profile800and/or other related data, perhaps via database tables205, database relations, or structured files, which may comprise any set of organized data elements (i.e., values), perhaps organized using a model of vertical columns and horizontal rows.

As non-limiting examples, the profile database1330may comprise a local database, online database, desktop database, server-side database, relational database, hierarchical database, network database, object database, object-relational database, associative database, concept-oriented database, entity-attribute-value database, multi-dimensional database, semi-structured database, star schema database, XML database, file, collection of files, spreadsheet, or other means of data storage located on a computer, client, server, or any other storage device known in the art or developed in the future.

The systems illustrated inFIGS. 12 and 13may be accessed by users (e.g., website operators wishing to participate in a link match service offered by an individual or entity practicing the illustrated and claimed embodiments), perhaps by a client1320communicatively coupled to the network1230. Examples of suitable client computers1320include, but are not limited to, a desktop computer, a laptop computer, a hand held computer, a terminal, a television, a television set top box, a cellular phone, a wireless phone, a wireless hand held device, an Internet access device, a rich client, thin client, or any other client functional with a client/server computing architecture.

Another tool that may perform the methods described herein may comprise an application programming interface (API) running on at least one server1220communicatively coupled to a network1230. The API may comprise computer-readable code (e.g., instructions1270stored in computer-readable media1260) that, when executed by a microprocessor1280on the server computer1280, causes the server1220to perform the method steps described herein.

The API may comprise a software-to-software interface that specifies the protocol defining how independent computer programs interact or communicate with each other. As a non-limiting example, the API may allow website operators' software to communicate and interact with the described inventions—perhaps over the network1230—through a series of function calls (requests for services). Alternatively, the API may allow third-party entities to offer the link match services described and claimed herein via API-based function calls to the server1220running the API, without having to implement such link match functionality on the third-parties own servers. The API may comprise any API type known in the art or developed in the future including, but not limited to, request-style, Berkeley Sockets, Transport Layer Interface (TLI), Representational State Transfer (REST), SOAP, Remote Procedure Calls (RPC), Standard Query Language (SQL), file transfer, message delivery, and/or any combination thereof.

Website Linking and Monitoring Service Providing Improved Website Search Engine Rankings

FIG. 14illustrates an embodiment of a method for predicting website search engine ranking based upon website linking relationships and implementing a website linking relationship that may comprise the steps of: receiving (perhaps from an operator of a first website1200) a request to enter a linking relationship with at least one of a plurality of websites (Step900); determining whether a search engine ranking for the first website1200would improve if it entered a linking relationship with a second website1240selected from the plurality of websites (Step1400); and responsive to a determination that the search engine ranking would improve, installing a first link to the first website1200on the second website1240(Step1410) and a second link to the second website1240on the first website1200(Step1420).

Step900may be accomplished by any means or method of receiving a request known in the art or developed in the future including, but not limited to, receiving (perhaps at a server1220) an HTTP request from the first website1200operator comprising information regarding the first website1200(e.g., domain name, URL, website category, website operator contact information, etc.) along with a request to participate in a link match service and enter a linking relationship with one or more of the other websites participating in the service.

Step1400may be accomplished by first selecting a second website1240from the plurality of websites participating in the link match service. The second website1240may be randomly or systematically selected and a determination made (Step1400) whether the first website's1200search engine ranking would increase if the websites were to be linked. Alternatively, all websites in the plurality of websites may be analyzed and the first website1200operator may be presented with results for one, some, or all of the websites in the plurality of websites. The determination step (Step1400) may be accomplished by any of the methods of calculating a link match score (Step100) described above.

Responsive to a determination that the first website's1200search engine ranking would improve, the first link to the first website1200may be installed on the second website1240(Step1410) and the second link to the second website1240may be installed on the first website1200(Step1420). Where the described and claimed link match service is provided by the hosting provider hosting the first website1200and the second website1240, the links may be automatically installed directly on the appropriate websites, perhaps by uploading the appropriate HTML code into the appropriate webpage file in the website's directory. Alternatively, and as described in detail above, a first code comprising a first link to the first website1200may be transmitted to the second website's1240operator (Step430) and/or a second code comprising a second link to the second website1240may be transmitted to the first website's1200operator (Step440) for installation on their respective websites.

FIG. 15illustrates an example method embodiment that builds upon that illustrated inFIG. 14and further comprises: receiving a link match request from the second website1240operator (Step1500); generating a first website profile700for the first website1200(Step600) and a second website profile800for the second website1240(Step610); and storing the first website profile700and the second website profile800in a profile database1330communicatively coupled to a network1230(Step1530). Step1500may be accomplished in the same manner as Step900.

Once the website profiles700and800have been generated (Steps600and610), the link match score may be calculated (Step100) by determining the degree to which the first website profile700correlates with the second website profile800as described in detail above. If the link match score indicates that the search engine rank for the first website will increase, the first website1200and second website1240may be linked (Step1550), perhaps as described in detail above with respect to Steps430,440,1410, and1420.

FIG. 16illustrates an alternate method embodiment that builds up those described above by providing a monitoring service for linked websites. As a non-limiting example, such a method may comprise the step of (after the first website1200and/or second website1240are linked (e.g., Steps430,440,1410,1420, or1550)) determining whether the first link to the first website1200on the second website1240remains an active link (Step1620). Step1620may be accomplished, perhaps by software and/or scripts running on a server1220scanning the second website1240(e.g., a Web crawler spidering the second website1240) and determining whether the link to the first website1200is present, active, and operational. Such a scan may be automatically performed periodically (e.g., daily or weekly) or whenever requested by the website operator, perhaps by clicking on a scan button1730on a control panel webpage1700as illustrated inFIG. 17. Where the first website1200is linked to a plurality of websites, one or more of the plurality of websites may be scanned.

Responsive to a determination that the first link to the first website1200installed on the second website1240remains active, the first website1200operator may be notified that the first link is active (Step1630). As non-limiting examples, Step1630may be accomplished by transmitting an electronic communication (in any of the forms described above) to the first website1200operator, or by displaying a list of active links1710on a control panel webpage1700accessible only to the first website1200operator (perhaps by user authentication protection on the webpage1700). Where the first website1200is linked to a plurality of websites, the electronic communication or control panel webpage1700may list, perhaps by URL, each of the plurality of websites having active links to the first website1200.

Responsive to a determination that the first link to the first website1200installed on the second website1240remain inactive, the first website1200operator may be notified that the first link is inactive (Step1640), perhaps via the same methodologies described in relation to Step1630(e.g., transmitting an electronic communication to the first website1200operator, or by displaying a list of inactive links1720on a control panel webpage1700). The second website1240operator also may be contacted (perhaps via an electronic communication) and advised that his link to the first website1200is inactive. The second website1240operator also may be provided a deadline by which the link to the first website1200must be restored or, perhaps, a remedy will be implemented, such as deleting one or more links to the second website1240.

An Example Use of the Systems, Methods, and Tools Described Herein

An operator of a first website1200may decide to improve the search engine ranking of his website1200by increasing its number of inbound links. To do so, he may sign up for a link matching service by navigating (via a browser running on his Internet-connected client computer1320) to a link match website provided by a link match service provider. There he may sign up for the link match service by, among other things, providing his contact information (name, address, telephone number, business name, etc.), the URL for his website1200, and a category for his website1200(e.g., “automobiles”) (Step1100).

Software running on the link match service provider's server1220(also communicatively coupled to the Internet) may receive the link match request (Step900) and then generate a first website profile700(Step600). For purposes of this illustration, the first website profile700may comprise the first website's1200IP address, number of inbound links, PageRank for the first website, Open Directory Project category, and ALEXA ranking. To generate the profile700, a Web crawler may spider the Internet to obtain the profile data, which is all available via publically-accessible websites and/or APIs (Step1100). One generated, the first website profile700may be stored in the link match service provider's profile database1330running on its server1220.

The link match service provider's software then may calculate a link match score (Step100) for a plurality of other website profiles stored in the database1330that were generated (Step610) when their respective website operators previously signed up for the link match service. The calculated link match score indicates whether the first website's1200search engine ranking would improve if it were linked to from one or more of the other websites in the profile database1330. For each such website, the server1220may determine whether it has a different IP address than the first website1200, whether it has a similar Open Directory Project category as the first website1200, its PageRank, its ALEXA ranking, and its number of inbound links.

For example, a website's link match score may be initially set at 50% because the IP addresses are different, raised to 60% because the second website1240has more than one inbound link, raised again to 70% because the second website1240has a PageRank of greater than one, raised again to 80% because their ODP-assigned categories match, but then decreased back to 70% because it has a poor ALEXA ranking. Other websites in the database may have calculated link match scores of, for example, 20%, 40%, and 60%.

The server1220may then present link match scores (Step300) to the first website1200operator by transmitting HTML code via the Internet to his client computer1320that, when rendered in its browser, lists link match results1810(e.g., the ranked websites along with their corresponding link match scores as illustrated inFIG. 18), perhaps as follows:

The first website1200operator then may opt to request a linking relationship with a second website1240having the highest link match score (www.website.com in the example), perhaps by clicking the “link” button1820on the results webpage1800. When this request is received by the server1220(Step400), it may transmit a request to the second website1240operator (perhaps by an email to an email address provided by the second website1240operator when he signed up for the link match service) asking whether the second website1240operator wishes to enter a linking relationship with the first website1200(Step410).

If the server1220subsequently receives an acceptance of the link match request from the second website1240operator (Step420), perhaps via return email, the server1220may transmit, perhaps as an email attachment, a first code comprising a first link to the first website1200to the second website's1240's operator (Step430) and a second code comprising a second link to the second website1240to the first website's1200operator (Step440) for installation on their respective websites.

Once the links are installed on their respective websites by the first and second website operators, they may be monitored by the link match service provider, perhaps by a Web crawler spidering and scanning the websites to determine whether the links are present, active, and operational (Step1620). A control panel webpage1700may be used to notify the website operators whether the links to their respective websites remain active (Steps1630and1640). If the website operators would like another scan performed, they may simply log into their web-based account with the link match service provider, access the control panel webpage1700, click the scan button1730and the scan will repeat itself and the control panel webpage1700may refresh with the results of the most recent scan.

The foregoing embodiments have been presented for the purpose of illustration. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.

Some portions of this description describe the embodiments in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like.

Some embodiments also may relate to systems or apparatus for performing the operations herein. Such apparatus may be specially constructed for the required purposes, and/or may comprise a general-purpose computing device selectively activated or configured by a computer program stored in the computer. Such a computer program may be stored in a tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and perhaps coupled to a computer system bus. Furthermore, any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.

Some embodiments of the invention also may relate to a computer data signal embodied in a carrier wave, where the computer data signal includes any embodiment of a computer program product or other data combination described herein. The computer data signal is a product that is presented in a tangible medium or carrier wave and modulated or otherwise encoded in the carrier wave, which is tangible, and transmitted according to any suitable transmission method.

Thus, other embodiments and uses of the above inventions will be apparent to those having ordinary skill in the art upon consideration of the specification and practice of the inventions disclosed herein. The specification and examples given should be considered exemplary only, and it is contemplated that the appended claims will cover any other such embodiments or modifications as fall within the true scope of the inventions.

The Abstract accompanying this specification is provided to enable the United States Patent and Trademark Office and the public generally to determine quickly from a cursory inspection the nature and gist of the technical disclosure and in no way intended for defining, determining, or limiting the present inventions or any of its embodiments.