CROSS-REFERENCE TO RELATED APPLICATIONSThis application claims the benefit of and priority to U.S. Provisional Patent Application Ser. No. 61/060,033, entitled “COLLECTING AND SCORING ONLINE ADVERTISEMENTS, ONLINE MARKETING CHANNELS, AND ORGANIC SEARCH,” filed on Jun. 9, 2008, which application is incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTIONSearch engine optimization, in general, is a process webmasters apply to improve the volume and quality of traffic to a given Web Page or other Internet site. Typical techniques include keywords in title tags, keywords in meta tags, keywords in body text, anchor text in inbound links, age of site, site structure, link popularity in a site's internal link structure, amount of indexable text/page content, number of links to a site, popularity/relevance of links to site and topical relevance of inbound link tags. Additional techniques are sometimes employed based on the search engine for which the webmaster is attempting to optimize. Since search engine algorithms and metrics are proprietary, search engine optimization techniques are widely used to improve visibility of a Web Page or other Internet site on search engine result pages.
Search engine marketing is a form of Internet marketing that includes search engine optimization (SEO), paid inclusion, and paid placement. Paid inclusion and paid placement are forms of paid Internet advertising that place advertisements on the result page of a particular keyword search. Paid inclusion and paid placement vary in price based on factors such as keyword or search term.
Online advertising is a form of advertising that leverages the Internet or World Wide Web to convey a message. Online advertisements include text advertisements, banner advertisements, skyscraper advertisements, floating advertisements, expanding advertisements, polite advertisements, wallpaper advertisements, trick banner advertisements, pop-up advertisements, pop-under advertisements, video advertisements, map advertisements, mobile advertisements and many other forms of online advertisement.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.
BRIEF SUMMARY OF SOME EXAMPLE EMBODIMENTSThis Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential characteristics of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
In general, example embodiments of the invention relate to collecting and scoring online references of an entity. One example embodiment includes a method for indexing online references of an entity. The method includes identifying one or more channels of the Internet to be searched for references to an entity and identifying one or more signals to be evaluated within each of the one or more channels. The method also includes crawling the Internet for online references to the entity, wherein crawling the Internet comprises searching the one or more channels of the Internet for references to the entity and evaluating the one or more signals. The method further includes constructing a reverse index of the references, wherein the reverse index is based on each channel in which a reference is found and the one or more signals evaluated for the reference.
Another example embodiment includes a system for indexing online references of an entity. The system includes a deep index engine, wherein the deep index engine is configured to assemble parameters for crawling the Internet and to insert crawls to be performed into a job queue. The system also includes one or more worker nodes, wherein the worker nodes are configured to perform the Internet crawls assembled by the deep index engine. The system further includes one or more coordinators, wherein the coordinators are configured to launch jobs for the one or more worker nodes from the job queue.
These and other aspects of example embodiments of the invention will become more fully apparent from the following description and appended claims.
BRIEF DESCRIPTION OF THE DRAWINGSTo further clarify various aspects of some embodiments of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof that are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
FIG. 1 illustrates an embodiment of an example system for indexing online references of an entity;
FIGS. 2A-2C illustrate various configurations of worker nodes that can be employed in the system ofFIG. 1;
FIG. 3 illustrates aspects of a method of using a page search to find appropriate Web Pages to be searched for online references;
FIG. 4 illustrates aspects of a method of parsing a search engine result page;
FIG. 5 illustrates an example of a method for presenting results within a reverse index;
FIGS. 6A-6C illustrate various examples of presenting results to a user; and
FIG. 7 illustrates a flow chart of an example method for indexing online references of an entity.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTSReference will now be made to the figures wherein like structures will be provided with like reference designations. It is understood that the figures are diagrammatic and schematic representations of some embodiments of the invention, and are not limiting of the present invention, nor are they necessarily drawn to scale.
Reference is first made toFIG. 1, which illustrates an embodiment of asystem105 for indexing online references of an entity. The entities whose online references are indexed can include individuals, corporations, brands, products, models or any other entities referenced anywhere on the Internet. References can include organic references, online advertisements, news items or any other reference to the entity. In particular, thesystem105 can be used to identify online references of an entity where both the type of online reference and the entity are identified based on a customer's request. For example, in response to receiving a request from a customer to index online advertisements of a competitor, thesystem105 can be used to perform the index.
Thesystem105 includes adeep index engine110. Thedeep index engine110 is configured to assemble the parameters for crawling anetwork112 into a search job. Thenetwork112 exemplarily includes the Internet, comprising a global internetwork formed by logical and physical connections between multiple wide area networks and/or local area networks and can optionally include the World Wide Web (“Web”), comprising a system of interlinked hypertext documents accessed via the Internet. Alternately or additionally, thenetwork112 includes one or more cellular RF networks and/or one or more wired and/or wireless networks such as, but not limited to, 802.xx networks, Bluetooth access points, wireless access points, IP-based networks, or the like. Thenetwork112 also includes servers that enable one type of network to interface with another type of network.
The parameters assembled by thedeep index engine110 can include one or more channels. These channels are the particular media within the Internet/network112 that is to be searched. In some embodiments, channels can include organic searches, page searches, linked advertisement networks, banner advertisements, contextual advertisements, e-mail, blogs, social networks, social news, affiliate marketing, mobile advertisements, media advertisements, video advertisements, discussion forums, news sites, rich media, social bookmarks, paid searches and in-game advertisements. Nevertheless, the channels are not limited to those mentioned but can include any relevant areas of the Internet to be searched whether now existing or created in the future.
Organic searches refer to those listings in search engine result pages that appear by virtue of their relevance to the search terms, as opposed to their being advertisements. Page searches refer to the listings in search engine result pages regardless of the reason for appearing. Linked advertisement networks are advertisements that are automatically inserted into Web Pages if they contain relevant subject matter. Banner advertisements are advertisements that are placed on a particular Web Page in a particular location. Contextual advertisements are advertisements that are placed when certain key words or other identifiers are present, e.g., keyword advertisements. E-mail—electronic mail or email—is any method of creating, transmitting, or storing primarily text-based human communications with digital communications systems. Blogs—weblogs—are a type of Web Page, usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Social networks area social structure made of nodes (which are generally individuals or organizations) that are tied by one or more specific types of interdependency, such as values, visions, ideas, financial exchange, friendship, kinship, dislike, conflict or trade. Social news refers to Web Pages where users submit and vote on news stories or other links, thus determining which links are presented. Affiliate marketing includes using a Web Page to drive traffic to a different Web Page maintained by an affiliate of the first Web Page's owner. Mobile advertisements include personalized advertisements presented on wireless devices. Media advertisements include advertisements placed within a type of media, or means of communication, whether online, in print, in video or any other format. Video advertisements are advertisements presented in video format. Discussion forums—or message boards—are online discussion sites featuring user-generated content. News sites are Web Pages with the primary purpose of reporting news, including both general news and subject-specific news. Rich media—or interactive media—is media that allows for active participation by the recipient. Social bookmarks relate to a method for network users to store, organize, search, and manage bookmarks of Web Pages on the network and save the bookmarks privately, share the bookmarks with the general public, share the bookmarks with specified people or groups, share the bookmarks within certain networks or share the network with any other combination of private and public access. Paid searches are a type of contextual advertising where Web site owners pay an advertising fee, usually based on click-throughs or ad views, to have their Web Site search results shown in top placement on search engine result pages. In-game advertisements are advertisements placed within a video game either online or on a game console.
Returning toFIG. 1, the parameters assembled by thedeep index engine110 can also include one or more signals to be evaluated. The signals include information about the references to the entity. For example, advertisements placed at the top of a Web Page are much more visible, and therefore, are generally more expensive and are considered more effective than advertisements placed at the bottom of a Web Page. Therefore, if the references to be indexed include online advertisements, advertisement placement is a signal that can be identified for the indexing. Alternately or additionally, signals to be evaluated can include one or more of: frequency of the reference on a given Web Page, location of the reference on the Web Page, calendar date of the crawl, calendar date of Web Page posting, time of day of the crawl, time of day of Web Page posting, context-driven Web indexing, time to download the Web Page, Web browser compatibility of the Web Page, Web plug-in compatibility of the Web Page, or the like. Additionally or alternatively, signals within an e-mail message to be evaluated can include frequency of the e-mail message received, outbound links on the e-mail message, calendar date of the e-mail message received, time of day of the e-mail message received, or the like. The context-driven Web indexing signal can further include links within the Web Page and/or current events surrounding the posting and the topic of the Web Page. Nevertheless, the signals to be evaluated are not limited to those mentioned but can include any relevant information about the references to the entity, whether now existing or created in the future. It should also be noted that “Web Page” as used herein refers to any online posting, including domains, subdomains, Web posts, Uniform Resource Identifiers (“URIs”), Uniform Resource Locators (“URLs”) and non-permanent postings such as e-mail and chat unless otherwise specified.
With continued reference toFIG. 1, thedeep index engine110 creates, defines and/or identifies jobs and inserts the jobs, including, for search jobs, the assembled parameters of each search job, into ajob queue115. Insertion into thejob queue115 may be through direct insertion or by sending the job through acoordinator120 or through any other method by which the job is sent from thedeep index engine110 to thejob queue115. In some embodiments, thejob queue115 maintains the jobs that are to be performed and provides the jobs toworker nodes125 for execution.
Jobs in thejob queue115 include, but are not limited to, search jobs, e.g., crawling the Internet. In some embodiments, once the Internet has been crawled data is obtained. In general, data refers to any information that the deep index engine has specified as relevant. In some embodiments, data can include information regarding the channels searched and the signals evaluated. In other embodiments, data can include downloading the Web Page for further processing, as discussed below. In further embodiments, data can include search results to be parsed, as discussed below.
In some embodiments, once data has been obtained, it must be processed. Thedeep index engine110 can insert such processing jobs into thejob queue115. In some embodiments, processing the data can include evaluating the signals. In other embodiments, processing the data can include parsing search results, as discussed below. In further embodiments, processing can include evaluating the reference for positive or negative connotations. For example, a blog entry about a product can be processed to determine whether the entry is generally positive or negative in regards to the product.
In other embodiments, once the data has been obtained, the data may need to be compressed, which is another job that can be inserted by thedeep index engine110 into thejob queue115. In some embodiments, compressing the data can include saving the data for later processing. In other embodiments, compressing the data can include parsing the Web Page for the relevant signals and saving only the portion of the Web Page which relates to the relevant signals. It will be appreciated, with the benefit of the present disclosure, that thedeep index engine110 may insert any job that needs to be performed, including collecting and/or processing data, into thejob queue115.
In some embodiments, thesystem105 includesworker nodes125.Worker nodes125 comprise nodes that perform the jobs that have been inserted by thedeep index engine110 into thejob queue115. In some embodiments, jobs performed by theworker nodes125 include: crawling the Web and performing the relevant search, compressing the data, processing the data, constructing a reverse index, calculating a search engine optimization score or any other job that has been inserted into thejob queue115. In some embodiments, everyworker node125 can be a general worker node that is configured to perform any job inserted into thejob queue115. In other embodiments,worker nodes125 can be specialized worker nodes that are each configured to perform a single job. In further embodiments,worker nodes125 can be any combination of general worker nodes and specialized worker nodes.
In some embodiments, theworker nodes125 are further configured to simulate the activities of a human user of the Internet. In some embodiments, simulating the activities of a human user of the internet includes mimicking and/or providing one or more attributes typically associated with a human user, including one or more of: a geographic location, a particular time of browsing, an age, an income level, an e-mail address, or other demographics of human users. For example, theworker nodes125 can be configured to connect to the Internet through multiple Internet service providers to simulate human users of the Internet in different geographic locations. Alternately or additionally, theworker nodes125 can be configured to connect to the Internet at a particular time of day. Alternately or additionally, theworker nodes125 can be configured to input, in certain websites, an age, income level, or the like, corresponding to a particular demographic of human users. Alternately or additionally, theworker nodes125 can be configured to input, in certain websites, an e-mail address. In some embodiments of the invention, simulating the activities of a human user of the Internet allows for more relevant search results as the search references concern how such references would be presented to a user of the Internet.
FIG. 2A illustrates one example configuration of aworker node205 crawling the Internet in the performance of a search job, for instance. Theworker node205 connects directly to aWeb Page210. Theworker node205 may then perform a search for online references to an entity within theWeb Page210 and/or within additional Web Pages by looking through the appropriate channels. In some embodiments, theworker node205 may also locate and/or evaluate the appropriate signals to obtain signal information, as directed within the search job by thedeep index engine110 ofFIG. 1, outlined above, for later evaluation. In this and other embodiments, theworker node205 may evaluate the appropriate signals while connected to theWeb Page210.
FIG. 2B illustrates another example of aworker node220 crawling the Internet in the performance of a search job. In this example, theworker node220 uses aproxy225 to connect to aWeb Page230. In computer networks, a proxy is a server (e.g., a computer system or an application program), that acts as a go-between for requests from clients seeking resources from other servers. A client connects to the proxy, requesting some service, such as a file, connection, Web Page, or other resource, available from a different server. In some embodiments, aworker node220 connecting to aWeb Page230 through aproxy225 may allow theworker node220 to appear to be from a different geographic origin than it is actually from.
FIG. 2C illustrates yet another example of aworker node240 crawling the Internet in the performance of a search job. In this example, theworker node240 connects to the Internet through aproxy245 and locates aWeb Page250 through abacklink255.Backlinks255 are incoming links to a Web site orWeb Page250. Thebacklinks255 of aWeb Page250 may be of significant personal, cultural or semantic interest because they can indicate who is paying attention to thatWeb Page250. Abacklink255 can include any link to aWeb Page250 from another Web Page.Backlinks255 are also known as incoming links, inbound links, inlinks, and inward links.Backlinks255 are sometimes used as a measure of the popularity ofWeb Page250 and several search engines providebacklink255 information ofWeb Pages250. In some embodiments, thebacklinks255 are used to help find online references of an entity or otherwise evaluate the references.
Returning toFIG. 1, in some embodiments, thesystem105 also includes one ormore coordinators120. Thecoordinators120 can receive jobs from thedeep index engine110 and insert them into thejob queue115 as described above. Thecoordinators120 can also remove jobs from thejob queue115 and provide them to theworker nodes125 as needed for completion of the jobs. Thecoordinators120 can also track which jobs are being performed by whichworker nodes125 to optimize the performance of the worker nodes125 (e.g., to make sure that specialized nodes have the work available after finishing their current task).
The modules, or individual components, of thesystem105, including thedeep index engine110, thejob queue115, theworker nodes125 and thecoordinators120, can be implemented in hardware, software or any combination thereof. If implemented in software, the modules of thesystem105 are stored in a computer-readable medium, to be accessed as needed to perform their functions. Additionally, if implemented in software, the tasks assigned to each module can be carried out by a processor, field-programmable gate array (FPGA) or any other logic device capable of carrying out software instructions or other logic functions.
FIG. 3 illustrates aspects of a method of using a page search to find appropriate Web Pages to be searched for online references. The method ofFIG. 3 can be performed by aworker node305 in conjunction with akeyword database310. Thekeyword database310 contains one or more keywords to be used in the page search. In some embodiments, thedeep index engine110 ofFIG. 1 can compile thekeyword database310. In other embodiments, theworker nodes125 ofFIG. 1 can, prior to the page search, compile thekeyword database310.
Returning toFIG. 3, theworker node305 obtains315 a keyword from thekeyword database310. Theworker node305 then queries320 a search engine for a page search. The search engine can be any public or private search engine used to perform searches, whether now existing or created in the future. Multiple search engines can be used for each keyword to compile results or individual search engines can be used as preferred for each entity.
Once the search is performed, theworker node305 collects325 the search engine result page. The result page can be collected325 as text to be processed by theworker node305 or to be inserted into the job queue for processing by other worker nodes. The search engine result page can also be collected325 in the original format or only the links themselves preserved with the links inserted into the job queue for additional Web crawls by the worker nodes. Nevertheless, any method that collects the search engine result page, either now existing or created in the future, is contemplated for collecting the searchengine result page325.
After the search engine result page is collected, the search engine result page is parsed330 for relevant information. The result page can be parsed330 byworker node305 or can be inserted into a job queue for parsing by other worker nodes. The information that is considered relevant can be determined by the parameters assembled previously by thedeep index engine110 ofFIG. 1. For example, if so desired, only organic search results can be considered. Alternatively, only paid results may be considered if the online references are limited to paid advertisements within search engines. In some embodiments, the rank of the search result may be relevant to the indexing, whereas in other embodiments the rank may be of little or no relevance to the indexing.
FIG. 4 illustrates aspects of a method of parsing a search engine result page for references to an entity, such as a search engine result page obtained from a keyword search as illustrated inFIG. 3. In some embodiments, the method ofFIG. 4 is performed by one or more worker nodes.
The method ofFIG. 4 begins by parsing405 the search engine result page into one or more channel-related groupings, such as organic results and paid advertisements. For the purposes of this example, organic results and paid advertisements are treated differently, although in other embodiments they may be treated the same or differently. The worker node parses410 the organic results to identify415 one or more signals in the organic results of the search engine result page that refer to the entity, the one or more signals including, for example, rank, URL, title and/or description of a corresponding search engine result that refers to the entity. These signals can help identify the relevance of a search engine result as well as help identify one ormore Web Pages420 to be searched in the future. TheWeb Pages420 can then be parsed for references to the entity.
The worker node can also parse425 the paid advertisement results to identify430 one or more signals in the paid advertisement results of the search engine result page that refer to the entity, the one or more signals including, for example, placement and/or URL of a corresponding paid advertisement in the search engine result page that refers to the entity. Prominent placement is often considered more effective and, therefore, will normally cost more, than less prominent placement of a paid advertisement. Therefore, placement of the paid advertisement within a search engine result page and/or other Web Page gives an indication of how much was paid for an advertisement and the relevance that is placed on the correlation between the keyword searched and the marketer placing the advertisement. As with the organic search results, aWeb Page435 pointed to by a paid advertisement can be identified and itself parsed for additional references to the entity.
With combined reference toFIGS. 3 and 4, it is noted that, in this example, the same worker node that performs the search need not visit the Web Page that is ultimately searched for online references. For example, one worker node can obtain315 a keyword from thekeyword database310,query320 the search engine and collect325 the results. A second worker node can parse330,405 the result page, identifying410,425 which results are organic and which results are paid. A third worker node can identify415 the appropriate signals of the organic results while a forth worker node can identify430 the appropriate signals of the paid results. TheWeb Pages420,435 can then be inserted into the job queue for crawling by additional worker nodes. In other embodiments, fewer or more than four worker nodes can be employed to perform the steps ofFIGS. 3 and 4.
Returning toFIG. 1, once thesystem105 has completed the search for the online references, the system can present the results to a user. In some embodiments, areverse index130 can be created that lists the online references to the entity and ranks them according to a set of criteria, such as cost-effectiveness, visibility, or any other criteria. When a search engine tabulates all documents that contain a given word, that is called a reverse index. This is in contrast to a regular index, which contains the locations of all words within a document.
In other embodiments, the results can be presented as raw data. For example, the results could be presented as the number of hits on a particular Web Page, i.e., the traffic history of the Web Page, or as the organic search result rank for a particular keyword or set of keywords. In further embodiments, the results can be presented as mentions in a particular media. For example, the results can be presented as the number of mentions within blogs. Alternately or additionally, the results can be further broken down. For example, blog mentions can be broken down into positive mentions and negative mentions.
FIG. 5 illustrates one example of a method for presenting the results within a reverse index. In this example, the results have a search engine optimization (SEO) score generated505 for a Web Page that has been crawled. In other words, the results are presented based on some predefined criteria, such as placement within search engine results. The search engine results can include organic searches, paid searches or both. Additionally, the SEO score can be factored to weigh more heavily search results from a particular search engine. For example, high placement in the results of a more popular search engine can influence the SEO score more than the results of a less popular search engine.
Alternatively or additionally, a reverse index generated according to the method ofFIG. 5 can include an advertisement score. In some embodiments, the advertisement score can be used to indicate the cost-effectiveness of an advertisement. For example, if a first advertisement generates 50% of the traffic of a second advertisement, but the first advertisement costs only 10% to run compared to the second advertisement, it may be given a higher advertisement score to indicate that it is more cost-effective in generating traffic.
The method ofFIG. 5 further includes identifying510 keywords where the Web Page ranks—i.e., keywords that return the Web Page when searched. In some embodiments, identifying510 keywords where the Web Page ranks can be done by obtaining possible keywords from akeyword database515 and performing a search on the keywords. In other embodiments, the keywords can be keywords of interest and the results of the keyword search can have SEO scores generated. In further embodiments, the keyword database can be compiled in any other way that is desired to optimize the indexing.
Once the keyword(s) has been searched, the organic rank for the Web Page is identified520. A weighted multiplier is then applied525 to the organic rank, where the weighted multiplier can be based on the organic rank. That is, the weighted multiplier is different for each ranking (i.e., not a constant). In some embodiments, the weighted multiplier considers530 the distribution of click analysis of the organic rank. That is, the multiplier takes into account the number of users that follow the link to the URL. For example, a search may turn up a result that is irrelevant to the majority of users for whatever reason. Even if the ranking of the result is high, the multiplier can be adjusted to reflect the low number of users who follow the link. From the weighted multiplier and the organic rank, an SEO score can be generated535. The SEO score allows an analysis of the relevance of the references based on the predefined criteria.
FIG. 6A illustrates an example of presenting results to a user. In this example, the results are presented in the form of achart615. Thechart615 can be produced, for example, at the request of a client who wishes to see how organic rank has changed over time both of his own Web Page, and the Web Pages of his competitors. Thechart615 has multiple lines representing the organic rank of different Web Pages. Thefirst line610 represents organic rank of the client's Web Page and the changes in organic rank over one week intervals. Thesecond line615 represents organic rank of a first competitor's Web Page and the changes in organic rank over one week intervals. Thethird line620 represents organic rank of a second competitor's Web Page and the changes in organic rank over one week intervals.
In some embodiments, thechart615 can be limited to the organic rank history of the client. In other embodiments, thechart615 can be limited to the organic rank history of competitors and can exclude the organic rank history of the client. Thechart615 can include the organic rank history of more or less than two competitors, as specified by the client. Additionally, competitors can be identified in any manner. For example, only the largest competitors could be shown or certain competitors could be identified which are of particular interest.
FIG. 6B illustrates an additional example of presenting results to a user. Thechart640 ofFIG. 6B presents mentions of a Web Page in social media channels. Mentions can include various references to a Web Page, product or any other entity. Thex-axis645 of thechart640 includes the channels searched. The y-axis650 of thechart640 indicates the number of mentions discovered by the system. In some embodiments, number of mentions can include the absolute number of mentions. In other embodiments, number of mentions can be a relative number of mentions. For example, the number of mentions for a Web Page can be compared to the number of mentions of a competitor's Web Page.
FIG. 6C illustrates another example of presenting results to a user. Thechart670 ofFIG. 6C is a pie chart presenting to the user the quality of the backlinks to their Web Page. In some embodiments, quality can be determined using a pagerank value (0 to 10). Pagerank is a link analysis algorithm that assigns a numerical weighting to each element of a hyperlinked set of documents, such as the Web, with the purpose of measuring each element's relative importance within the set. In some embodiments, it is more beneficial to have an inbound link (backlink) from a single (or few) domain(s) with a high pagerank value of 6 or higher than it is to have hundreds of backlinks from domains with lower pagerank values of 0 and 1.
Thefirst region675 of thechart670 indicates premium backlinks, or backlinks from Web Pages with a pagerank value of 7 to 10. Thesecond region680 of thechart670 indicates quality backlinks, or backlinks from Web Pages with a pagerank value of 3 to 6. Thethird region685 of thechart670 indicates regular backlinks, or backlinks from Web Pages with a pagerank value of 0 to 2. Quality of backlinks can be evaluated using other methods and is not limited to pagerank.
It is appreciated that the charts ofFIGS. 6A-6C are merely examples of charts that can be generated to present results to a user according to some embodiments of the invention. Indeed, results can be presented to users by generating other types of charts, or without generating any charts at all.
With additional reference toFIG. 7, anexample method700 is disclosed for indexing online references of an entity. Entities whose online references are indexed can include individuals, corporations, brands, products, models or any other entities referenced anywhere on the Internet. References can include organic references, online advertisements, news items or any other reference to the entity. In particular, themethod700 can be used to identify online references of an entity where both the type of online reference and the entity are identified based on a customer's request. For example, a customer can request indexing of online advertisements of a competitor and themethod700 can be used to perform the index. Alternately or additionally, themethod700 can be used to identify online references of an entity where one or both of the type of online reference or the entity is identified other than by customer request.
Themethod700 includes identifying705 the channel or channels to be searched. As explained above, channels are the particular medium within the Internet that is to be searched. In some embodiments, channels can include organic searches, page searches, linked advertisement networks, banner advertisements, contextual advertisements, e-mail, blogs, social networks, social news, affiliate marketing, mobile advertisements, media advertisements, video advertisements discussion forums, news sites, rich media, social bookmarks, paid searches and in-game advertisements. Nevertheless, the channels are not limited to those mentioned but can include any relevant areas of the Internet to be searched, whether now existing or created in the future.
Themethod700 further includes identifying710 signals to be evaluated. The signals include relevant information about the references to the entity. For example, advertisements placed at the top of a Web Page are much more visible, and therefore, are generally more expensive and are considered more effective. Therefore, if the references to be indexed include online advertisements, advertisement placement is a signal that can be identified for the indexing. Signals to be evaluated can alternately or additionally include frequency of the reference on a given Web Page, location of the reference on the Web Page, calendar date of the crawl, calendar date of Web Page posting, time of day of the crawl, time of day of Web Page posting, context-driven Web indexing, time to download the Web Page, Web browser compatibility of the Web Page, Web plug-in compatibility of the Web Page, or the like. Additionally or alternatively, signals within an e-mail message to be evaluated can include frequency of the e-mail message received, outbound links on the e-mail message, calendar date of the e-mail message received, time of day of the e-mail message received, or the like. Context-driven Web indexing can further include links within the Web Page, current events surrounding the posting and the topic of the Web Page. Nevertheless, the signals to be evaluated are not limited to those mentioned but can include any relevant information about the references to the entity, whether now existing or created in the future.
Themethod700 also includes crawling715 the Web, the Internet, or other network, such as thenetwork112 ofFIG. 1, for online references to the entity. Crawling715 the Web/Internet/network112 may be via direct connection to a Web Page, may include the use of proxy servers, may use backlinks to identify an appropriate Web Page or can include any other method of locating and evaluating Web Pages. Crawling715 the Web/Internet/network112 may also include simulating the activities of a human user of the Internet. For example, crawling715 the Web can be done through multiple Internet service providers to simulate human users of the Internet in different geographic locations. Simulating the activities of a human user of the Internet may allow for more relevant search results as they concern how such references would be presented to a user of the Internet.
Themethod700 further includes constructing720 a reverse index of the results. For example, a reverse index can be constructed720 that references the online references to the entity and ranks them according to a set of predetermined criteria. Constructing720 a reverse index can optionally include performing a trend analysis. A trend analysis shows how the online references have changed over time. For instance, thechart605 ofFIG. 6A shows how the organic ranks of a client Web page, a first competitor's Web page, and a second competitor's Web page have changed over time. As such, the data included in thechart605 ofFIG. 6A may be representative of a particular type of trend analysis.
Constructing720 a reverse index can alternately or additionally include generating an SEO score. The SEO score allows a user, such as the customer that requested the index, to see the relevance of the references based on one or more predetermined criteria, e.g., cost-effectiveness.
In some embodiments, themethod700 may be performed using a system, such as the system described inFIG. 1. The modules, or individual components, of a system used to perform the method can be implemented in hardware, software or any combination thereof. If implemented in software, the modules of the system are stored in a computer-readable medium, to be accessed as needed to perform their functions. Additionally, if implemented in software, the tasks assigned to each module can be carried out by a processor, field-programmable gate array (FPGA) or any other logic device capable of carrying out software instructions or other logic functions.
The embodiments described herein may include the use of a special purpose or general purpose computer including various computer hardware and/or software modules, as discussed in greater detail below.
Embodiments within the scope of the present invention may also include physical computer-readable media and/or intangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such physical computer-readable media and/or intangible computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such physical computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other physical medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Within a general purpose or special purpose computer, intangible computer-readable media can include electromagnetic means for conveying a data signal from one part of the computer to another, such as through circuitry residing in the computer.
When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, hardwired devices for sending and receiving computer-executable instructions, data structures, and/or data signals (e.g., wires, cables, optical fibers, electronic circuitry, chemical, and the like) should properly be viewed as physical computer-readable mediums while wireless carriers or wireless mediums for sending and/or receiving computer-executable instructions, data structures, and/or data signals (e.g., radio communications, satellite communications, infra-red communications, and the like) should properly be viewed as intangible computer-readable mediums. Combinations of the above should also be included within the scope of computer-readable media.
Computer-executable instructions comprise, for example, instructions, data, and/or data signals which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Although not required, aspects of the invention have been described herein in the general context of computer-executable instructions, such as program modules, being executed by computers, in network environments and/or non-network environments. Generally, program modules include routines, programs, objects, components, and content structures that perform particular tasks or implement particular abstract content types. Computer-executable instructions, associated content structures, and program modules represent examples of program code for executing aspects of the methods disclosed herein.
Embodiments may also include computer program products for use in the systems of the present invention, the computer program product having a physical computer-readable medium having computer-readable program code stored thereon, the computer-readable program code comprising computer-executable instructions that, when executed by a processor, cause the system to perform the methods of the present invention.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.