US20100042613A1 - Method and system for automated search engine optimization - Google Patents

Method and system for automated search engine optimization Download PDF

Info

Publication number
US20100042613A1
US20100042613A1 US12/479,711 US47971109A US2010042613A1 US 20100042613 A1 US20100042613 A1 US 20100042613A1 US 47971109 A US47971109 A US 47971109A US 2010042613 A1 US2010042613 A1 US 2010042613A1
Authority
US
United States
Prior art keywords
web page
analysis
analyses
seo
fix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/479,711
Inventor
Matthew Scott Malden
John Ludwig COKER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Yield Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yield Software Inc filed Critical Yield Software Inc
Priority to US12/479,711 priority Critical patent/US20100042613A1/en
Assigned to YIELD SOFTWARE, INC. reassignment YIELD SOFTWARE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COKER, JOHN LUDWIG, MALDEN, MATTHEW SCOTT
Publication of US20100042613A1 publication Critical patent/US20100042613A1/en
Assigned to AUTONOMY, INC. reassignment AUTONOMY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YIELD SOFTWARE, INC.
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AUTONOMY, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0249Advertisements based upon budgets or funds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • G06Q30/0275Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0276Advertisement creation

Definitions

  • the present application relates to Internet searching and, in particular, a method and system for analyzing a web page for conformance to search engine optimization best practices and fixing or otherwise modifying the web page to improve search engine rankings.
  • search engines Many persons use the Internet to make purchases.
  • users may employ search engines to find desired products and services.
  • the user enters one or more words, called a search term, into the search engine.
  • the search engines display the web pages that best match the users search terms on the search engine results page (SERP) in a region commonly called the organic or natural search results.
  • SERP search engine results page
  • SERP search engine results page
  • each search engine reads most of the pages on the internet. Then, based on an internal scoring algorithm, the search engine ranks (or calculates in real-time upon a user's query) each web page's relevance for each search term. The ranking is based on a variety of criteria, for example, the existence of keywords in the content of the page, the internal structure of the page, the number and quality of other pages linking to the page, and a variety of other criteria.
  • search engine optimization The practice of modifying a web page as well as additional content on the internet (e.g., creating links from third-party sites, defining the anchor text or text displayed on those links, etc.) to drive the web page higher in the SERP is called search engine optimization (SEO).
  • SEO search engine optimization
  • Some of the criteria used for ranking pages are public information, while others are non-public and only known by experts at search engine companies. Additionally, the criteria change over time. Many individuals in the field continually theorize about what criteria may be used by the search engine's relevance ranking. It may not be publicly known whether these theoretical criteria are used by the search engine. However, if many individuals believe they may have an impact, theoretical criteria, together with the criteria made public by the search engines, may comprise the “best practices” for search engine optimization.
  • a system and method receives identification of a web page.
  • the web page is added to a web page library.
  • the web page is provided to an automated analysis framework.
  • Analyses representing SEO best practices are run against the web page.
  • Each of the analyses is associated with input data.
  • FIG. 1 illustrates a system in accordance with one embodiment of the present invention.
  • FIG. 2 illustrates a functional block diagram and method in accordance with one embodiment of the present invention.
  • FIG. 3 illustrates a functional block diagram and method in accordance with one embodiment of the present invention.
  • FIG. 4 illustrates a screen in accordance with one embodiment of the present invention.
  • FIG. 5 illustrates a screen in accordance with one embodiment of the present invention.
  • FIG. 6 illustrates a functional block diagram and method in accordance with one embodiment of the present invention.
  • FIG. 7 illustrates a screen in accordance with one embodiment of the present invention.
  • FIG. 8 illustrates a block diagram of one embodiment of a system in accordance with one embodiment of the present invention.
  • FIG. 9 shows a diagrammatic representation of a machine in an exemplary form of a computer system in accordance with one embodiment of the present invention.
  • the present invention is a system and method of automated testing of web pages and landing pages (collectively called “web pages”) for compliance with best practices (also known as “analysis”) for search engine optimization.
  • the present invention is also a system and method of automating fixes or modifications to web pages and landing pages to realize best practices for search engine optimization.
  • FIG. 1 illustrates a system 100 of analyzing a web page for conformance with best practices using automated search engine optimization (SEO) and fixing the web page or content on the internet to improve search engine rankings in accordance with the present invention.
  • the present invention can be used in connection with a variety of search engines.
  • the term “fix” or “fixing” with respect to a web page means modifying or otherwise optimizing the web page to improve search engine rankings.
  • the present invention can be used in connection with a variety of content management systems.
  • the system 100 includes user computing devices 102 , Internet 108 , search engines 104 , web sites 106 , and a platform 110 .
  • the platform 110 includes web servers 112 , an analytics server 114 , business logic server 116 , and database server 118 .
  • a user can access the internet 108 via user computing devices 102 and use the functionality of the platform 110 .
  • the user can then specify web pages to be optimized which are routed through the web server 112 to the business logic server 116 and stored in the database server 118 .
  • the business logic server 116 performs the automated search engine optimization by retrieving information from search engines 104 and web sites 106 via the internet 108 and the web servers 112 .
  • Both the business logic server 116 and the analytics server 114 retrieve, process and store information in the database server 118 . Then, the business logic server 116 conducts the automated SEO analysis and through the web server 112 , internet 108 and user computing devices 102 interacts with the user to implement a manual or auto-fix of the web page.
  • FIG. 2 illustrates a functional block diagram and method 200 of analyzing a web page for conformance to search engine optimization best practices and fixing the web page to improve search engine rankings in accordance with one embodiment of the present invention.
  • the method 200 includes analysis library 202 , web page library 204 , database server 206 , analysis scheduler 208 , analysis queue 210 , automated analysis framework 212 , internet 214 , web page cache 216 , cache manager 218 , and content management server 220 . Also shown is a user interface 222 of the user computing devices 102 .
  • the user interface 222 includes web page administration 224 , analysis results screens 226 , and auto-fix wizard 228 .
  • the auto-fix wizard 228 which is described in more detail below, leads to manual-fix instructions 230 and modified web page 232 .
  • the user specifies that one or more web pages should be automatically analyzed for search engine optimization best practices.
  • a specified web page is added to a list of web pages stored in the web page library 204 .
  • the web page is submitted to the analysis scheduler 208 to be added to the analysis queue 210 for submission to the automated analysis framework 212 .
  • the addition of a web page to the web page library 204 is one of many “analysis events”, as described in more detail below.
  • the analysis library 202 represents an extensible framework for adding one or more best practices (also called “analyses”) into the automated analysis framework 212 . Developers can add new analyses to the analysis library 202 and these analyses will be added to the list of best practices against which each web page will be evaluated.
  • the analysis library 202 is defined in source code (e.g., Java, etc.).
  • the method and system of the present invention will automatically analyze web pages, and recognize patterns that lead to improved search engine rankings and create and store the resulting analyses in the analysis library 202 . These analyses are added to the list of best practices against which each web page is evaluated.
  • the analysis scheduler 208 retrieves all the analyses (also known as “best practices”, as indicated above) and the one or more conditions that signify an “analysis event” for each analysis from the analysis library 202 .
  • An analysis event can be any one of myriad conditions including, for example, a duration threshold since the web page was last checked, if the web page was modified, if an auto-fix was applied, if the user manually requested that the page be re-analyzed, if the analysis has been changed or updated, etc.
  • some analysis events may be specific to a single analysis. In another embodiment, some analysis events may apply to multiple or all analyses.
  • the analysis scheduler 208 also retrieves the web pages to be analyzed from the web page library 204 .
  • the analysis scheduler 208 will monitor or be notified by the database server 118 when analysis events occur for specific web pages. When an analysis event occurs, the analysis scheduler 208 will place the appropriate web pages in the analysis queue 210 for submission to the automated analysis framework 212 .
  • the analysis scheduler 208 will conserve computing resources and avoid rerunning one or more analyses if none of the inputs (e.g., the content of the web page, the target keywords, the version of the analysis, etc.) has changed.
  • the automated analysis framework 212 analyzes web pages for conformance with SEO best practices.
  • the automated analysis framework 212 reads and runs analyses from the analysis library 202 . Analyses include, for example, that the page size is within a certain threshold, the page content includes the primary SEO keywords that the user is optimizing this page for, the page content includes the secondary SEO keywords that the user is optimizing this page for, and the number of inbound links is above a threshold, amongst others.
  • Other analyses include, for example, primary keyword in meta description tag of the web page, secondary keywords in meta keywords tag of the web page, existence of keywords in content, registration with major search engines, the age of the web page is within a threshold age, the size of the web page is within a threshold size, the absence of broken links, existence of a meta description tag, and a unique meta description tag within the web site.
  • Other analyses that test the URL, test the structure of the web page, test the content of the web page, and test the links pointing to the page are also included. It will be appreciated that many other analyses not expressly identified herein are within the scope of the present invention.
  • the automated analysis framework 212 may retrieve a cached version of the web page being analyzed in evaluating the analysis from the cache manager 218 .
  • the cache manager 218 retrieves the cached version of the web page from the web page cache 216 .
  • the web page cache 216 is used to improve performance and minimize the number of web hits to a web page.
  • the cache manager 218 may retrieve a newer version of the web page from the internet 214 that was retrieved from the web server 112 and may have been retrieved from a content management server 220 , store it in the web page cache 216 and store information regarding the date and time the version was retrieved from the internet 214 in the web page cache 216 .
  • the user can manually copy the web page or web pages onto a web server or content management server 220 .
  • the system and method of the present invention automatically copy the web page or web pages onto the web server or content management system 220 .
  • the cache manager 218 monitors the content management server 118 for changes to the web pages or any of the elements of a web page amongst those in the web page library 204 . In another embodiment, the cache manager 218 will monitor the internet for changes to the web pages or any elements of a web page amongst those defined in the web page library 204 . In one embodiment, when the cache manager 218 detects a change in a web page or elements of a web page amongst those web pages defined in the web page library 204 , it will store this information in the database server 206 which will then be read by the analysis scheduler 208 and the web page will be submitted to the analysis queue 210 to rerun the analysis for the affected web page.
  • the automated analysis framework 212 then sends the analysis results to the analysis results screens 226 , as discussed in more detail below.
  • the user can select the analysis for processing by the auto-fix wizard 228 , as discussed in more detail below.
  • FIG. 3 illustrates a functional block diagram and method 300 for the automated analysis framework block 212 .
  • the method 300 includes the analysis library 302 , retrieve analysis block 304 , gather all input data block 306 , additional analysis inputs 308 , web page cache 310 , content management server 312 , internet 314 , evaluate analysis block 316 , results database 318 , severity criteria 320 , run regression block 322 , and determine severity block 324 .
  • the analysis library 302 is the same as the analysis library 202 .
  • web page cache 310 is the same as the web page cache 216 .
  • the content management server 312 is the same as the content management server 220 .
  • the internet 314 is the same as the internet 214 .
  • the retrieve analysis block 304 reads the details of each analysis from the analysis library 302 .
  • the details of each analysis include, for example, the description, the list of additional data required, the test used to check conformance, etc. This information is passed to the gather all input data block 306 .
  • the gather all input data block 306 may retrieve additional inputs from the additional analysis inputs 308 (e.g., the targeted primary and secondary SEO keywords, etc.), a copy of the web page from the web page cache 310 , and/or a copy of the components of the web page from the content management server 312 .
  • additional inputs e.g., the targeted primary and secondary SEO keywords, etc.
  • the gather all input data block 306 also may retrieve additional information from the internet 314 .
  • additional information may include, for example, the natural search engine ranking the web page being analyzed receives from each search engine for each target keyword, the number of inbound links to the web page being analyzed, the anchor text from each of the inbound links, amongst others.
  • the input data from the gather all input data block 306 is then passed to the evaluate analysis block 316 that executes the analysis based on all the input data.
  • the evaluate analysis block 316 returns a numeric score for each analysis.
  • results from, and some of, the input data from the evaluate analysis block 316 are stored in the results database 318 .
  • the system and method of the present invention may use two techniques to indicate the severity of each analysis.
  • a mathematical technique called “regression analysis” is used to correlate results for each analysis with their corresponding importance in effecting search engine rankings.
  • a rules system with administrator defined rules is used to indicate the severity based on the results of each analysis.
  • other techniques can be used.
  • the run regression block 322 runs a mathematical regression amongst all or some of the results correlating the results of each analysis to the search ranking and in turn establishes ranges for the results that correspond to each severity level.
  • the search ranking is the organic search ranking that indicates the position of the web page in the portion of search results that do not include paid-for advertising.
  • the run regression block 322 may segment results by industry, time period, and other dimensions. Based on the results of the mathematical regression, the run regression block 322 will calculate severity criteria and store the criteria for each analysis in the severity criteria database 320 .
  • the severity criteria can be stored according to industry, time period, and other dimensions. In other embodiments, different mathematical algorithms may be used.
  • an administrator can define rules to indicate the severity criteria which will also be stored in the severity criteria database 320 .
  • the evaluate analysis block 316 also passes the results to the determine severity block 324 that reads the severity criteria from the severity criteria database 320 and assigns a severity to each analysis.
  • a first user interface 400 as an exemplary analysis results screen 226 , is shown in FIG. 4 .
  • the first user interface 400 includes a summary header 402 and a detailed description 404 .
  • the summary header 402 includes an “Analysis” heading 406 , a results summary 408 , and a hide details link 410 .
  • the “Analysis” heading 406 is an indication to the user that the first user interface 400 relates to analyses.
  • the results summary 408 is a summary of the results of the analyses run. In one embodiment, the results summary 408 can include information such as, for example, the number of failed analyses and the number of warnings, as described in more detail below.
  • the hide details link 410 allows the user to display only the summary header 402 and not display detailed information about the analysis as shown in the detailed description 404 .
  • the detailed description 404 includes a text description 412 , an analysis listing 414 , analysis severity indicators 416 , date fields 418 , and response options 420 .
  • the text description 412 provides a detailed textual account of the results of analyses run.
  • the text description 412 includes information such as, for example, the percentage of analyses that failed, the percentage of analyses requiring attention, and the percentage of analyses that passed.
  • the analysis status indicators 416 are provided for each analysis in the analysis listing 414 . Each analysis status indicator 416 indicates the status or severity of each analysis.
  • the status of an analysis may be, for example, “In Progress”, “Complete”, “Inactive”, or “Error”.
  • the severity of each analysis as indicated by the analysis severity indicators 416 may be, for example, “High”, “Medium”, and “Low”.
  • the severity of each analysis may be color or otherwise coded. Such coding can include, for example, “Red” (fail), “Yellow” (warning), “Green” (pass), and “Gray” (another indication such as “In Progress”, “Error”, etc.).
  • the system and method of the present invention may indicate the total number of analyses and the severity or status percentage of analyses.
  • the analysis status indicator 416 or elsewhere on the first user interface 400 , would display “Red 60%” as an indication of status and/or severity.
  • Red 60% an indication of status and/or severity.
  • many other indications of status and severity percentages are possible in accordance with the present invention.
  • the analysis listing 414 lists analyses that have run or are schedule to be run.
  • the following analyses are run and thus displayed on the first user interface 400 : primary keyword in meta description tag, secondary keywords in meta keywords tag, existence of keywords in content, registered with all major search engines, age of site, page size, and no broken links.
  • some but not all of the aforementioned analyses can be run.
  • other analyses can be run in place of or in addition to the aforementioned analyses.
  • the date fields 418 indicates the date when each analysis was run.
  • the response options 420 provide selectable options for the user to choose in response to the results of run analyses.
  • the response options 420 include “Auto-Fix”, “Ignore”, and “More”. In one embodiment, other response options can be included.
  • the user can select an “Auto-Fix” button to allow the system 100 in accordance with the present invention to automatically address and remedy a web page that has either failed the analysis or requires attention.
  • the user can select an “Ignore” button which will display the analysis run with a severity of, for example, “Green” or “Low” regardless of the true severity.
  • the user can select a “Reset” button (not shown) to revert the analysis back to display its true severity.
  • a “More” button to select other options in response to the running of an analysis, depending on the particular design of the first user interface 400 .
  • a second user interface 500 of the analysis results screen 226 is shown in FIG. 5 .
  • the second user interface 500 which can be alternative or in addition to the first user interface 400 , includes a web page field 502 , a URL field 504 , an analysis field 506 , a description 508 , a recommendation 510 , and a history 512 .
  • the web page field 502 identifies the title of the web page against which the analysis was run.
  • the URL field 504 includes the URL for the web page against which the analysis was run.
  • the analysis field 506 identifies the particular analysis to be run.
  • the description 508 provides an explanatory discussion regarding the operation of search engines and related importance of the analysis for search engine optimization.
  • the description 508 of each analysis is user-friendly and targeted for users without a technical or internet marketing background.
  • the recommendation 510 is a detailed discussion regarding how to fix the web page based upon the results of the analysis.
  • the recommendation 510 can also provide myriad measures that the user can selectively or collectively implement to fix the web page.
  • the history 512 displays a list documenting the results of past analysis runs for the particular analysis for the particular web page.
  • the history 512 may be condensed to only show analysis runs in which the severity changed from the severity in the previous analysis run.
  • FIG. 6 illustrates a functional block diagram and method 600 for the auto-fix wizard block 228 .
  • the method 600 includes the display current content and manual-fix instructions block 602 , auto-fix library 606 , edit and evaluate content block 608 , analysis queue block 610 , automated analysis framework block 612 , analysis library 614 , analysis results 616 , generate modified auto-fixed web page block 618 , cache manager 620 , and content management server 622 .
  • the cache manager 620 is the same as the cache manager 218 .
  • the analysis library 614 is the same as the analysis library 202 .
  • the automated analysis framework 612 is the same as the automated analysis framework 212 .
  • the analysis queue 610 is the same as the analysis queue 210 .
  • the content management server 622 is the same as the content management server 220 .
  • the automated analysis framework 212 analyzes web pages for conformance with SEO best practices.
  • the automated analysis framework 212 displays the analysis results in the analysis results screen 226 .
  • the user can click on the auto-fix button in the response options 420 , which will read the steps to resolve the problem from the auto-fix library 606 and display a customized list of manual-fix instructions (i.e., a recommendation to improve the condition) specific to a single analysis and a single web page in the current content and manual-fix instructions block 602 to allow the user to manually make the changes to improve the analysis results.
  • manual-fix instructions i.e., a recommendation to improve the condition
  • the user can use a wizard-like interface which guides the user through a series of questions/answers (e.g., changing elements of the web page) and other steps to model a version of the web page that complies with the best practice associated with the analysis and reduces the severity of any issue identified.
  • a wizard-like interface which guides the user through a series of questions/answers (e.g., changing elements of the web page) and other steps to model a version of the web page that complies with the best practice associated with the analysis and reduces the severity of any issue identified.
  • the edit and evaluate content block 608 allows the user to optionally preview the impact of any changes.
  • the analysis is submitted to the analysis queue 610 which will then be processed by the automated analysis framework 612 that will run all analyses that will be impacted by the change.
  • the analysis library 614 includes a list of analyses potentially affected by the change, and generates analysis results 616 .
  • the new severity of the current analysis is displayed, as well as the new severities of all analyses potentially affected by the change to ensure that no analyses change to an unsatisfactory severity. The user may repeat this process as many times as necessary until satisfied with the results.
  • the user has the option of having the system generate a version of the web page based on the changes specified in the edit and evaluate content block 608 and implementing the web page into the web server 112 or content management server 622 .
  • the generate modified auto-fixed web-page block 618 reads the composite version of the web page from the cache manager 620 .
  • the generate modified auto-fixed web-page block 618 reads the components of a web page from the content management server 622 or a file system.
  • FIG. 7 An exemplary screen 700 of the display current content and manual-fix instructions block 602 is shown in FIG. 7 .
  • the exemplary screen 700 of the display current content and manual-fix instructions block 602 includes a web page field 702 , a URL field 704 , an auto-fix name field 706 , a recommendation 708 , data entry box(es) 710 , and an analyses section 712 .
  • the analyses section 712 includes analysis severity indicators 714 and an analysis listing 716 .
  • the web page field 702 identifies the title of the web page against which the analysis was performed.
  • the URL field 704 includes the URL for the web page against which the analysis was run.
  • the auto-fix name field 706 identifies the particular auto-fix that is being run. In the exemplary screen 700 , a “primary keyword in meta description tag” is shown as the exemplary auto-fix that is being run in accordance with the present invention. In one embodiment, another auto-fix or other auto-fixes can be run.
  • the recommendation 708 provides an explanatory and targeted discussion regarding the importance of the auto-fix, and provides specific instructions and recommendations to modify the web page to conform the web page to best practices and to resolve any pertinent issues identified.
  • the “primary keyword in meta description tag” auto-fix coincidentally shares the same name as the “primary keyword in meta description tag” analysis in the analysis field 506 . It will be appreciated that auto-fixes and analyses typically will have different names.
  • the data entry box 710 allows the user to enter information in response to the information provided in the recommendation 708 .
  • the information entered by the user is intended to make the web page conform to the best practices.
  • the user is prompted to enter information to constitute a desired meta description tag.
  • the user is prompted to enter other information relevant to another auto-fix or other auto-fixes that have been run.
  • a data entry box 710 can be used for a particular web page for a particular analysis.
  • a plurality of data entry boxes can be used for analysis of a web page.
  • the exemplary screen 700 does not include any data entry box.
  • the analysis severity indicators 714 are provided for each analysis in the analysis listing 716 .
  • Each analysis severity indicator 716 indicates the severity of each analysis, as described above.
  • the exemplary screen 700 indicates that the primary analysis run is the “primary keyword in meta description tag” and provides a severity indicator for that analysis.
  • the display current content and manual-fix instructions block 602 displays the severity indicator for other analyses (e.g., “existence of a meta description tag” and “unique meta description tag within site”). In this way, the display current content and manual-fix instructions block 602 can convey the full impact of a web page modification on other analyses even if they are not the analysis of primary or initial interest.
  • the display current content and manual-fix instructions block 602 displays a description of the analysis. In one embodiment, the display current content and manual-fix instructions block 602 provides instructions on how to resolve any issues raised by the analysis. In one embodiment, the display current content and manual-fix instructions block 602 provides a wizard-like interface to allow the user to resolve a problem identified by the analysis. In one embodiment, the display current content and manual-fix instructions block 602 provides manual-fix instructions 230 on how to resolve any issues and a preview capability to validate whether any proposed fixes will resolve the problem, and will generate a modified web page 232 with the issues resolved.
  • the techniques described above in accordance with the present invention can be applied to optimize landing pages of web sites.
  • other web pages can be optimized in accordance with the techniques described herein.
  • FIG. 8 illustrates a block diagram of one embodiment of a system 800 of the present invention.
  • the system 800 includes a first module 810 , a second module 820 , a third module 830 , an Nth module 840 , a video display 850 , and an input device 860 coupled together through a bus 870 .
  • the system 800 includes the modules 810 , 820 , 830 , 840 in one embodiment. In one embodiment, any number of modules can be implemented.
  • routines, steps, and functional blocks executed to implement the embodiments of the disclosure and all of the aforementioned features of the present invention may be variously implemented as computer modules 810 , 820 , 830 , 840 .
  • these computer modules can be a sequence of instructions referred to as “computer programs.”
  • user input is provided to one or more of the modules using an input device 860 .
  • the input device 860 may be a keyboard, cursor control device, or voice recognition system, for example. In another embodiment, more than one input device may be used.
  • module output is displayed using a video display 850 .
  • FIG. 9 shows a diagrammatic representation of a machine in an exemplary form of a computer system 900 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • the machine operates as a standalone device or may be connected (e.g., networked) to other machines.
  • the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
  • the machine communicates with the server to facilitate operations of the server and/or to access the operations of the server.
  • the computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 904 and a nonvolatile memory 906 , which communicate with each other via a bus 908 .
  • the computer system 900 may be a laptop computer, personal digital assistant (PDA) or mobile phone, for example.
  • the computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
  • LCD liquid crystal display
  • CRT cathode ray tube
  • the computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), a disk drive unit 916 , a signal generation device 918 (e.g., a speaker) and a network interface device 920 .
  • the disk drive unit 916 includes a machine-readable medium (or computer readable medium) 922 on which is stored one or more sets of instructions (e.g., software 924 ) embodying any one or more of the methodologies or functions described herein.
  • the software 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900 , the main memory 904 and the processor 902 also constituting machine-readable media.
  • the software 924 may further be transmitted or received over a network 940 via the network interface device 920 .
  • machine-readable medium (computer readable medium) 922 is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” or “computer readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers).
  • An embodiment of the invention relates to a computer storage product with a computer-readable or machine-accessible medium having executable instructions or computer code thereon for performing various computer-implemented operations.
  • the term “computer-readable medium” or “machine-accessible medium” is used herein to include any medium that is capable of storing or encoding a sequence of executable instructions or computer code for performing the operations described herein.
  • the media and computer code can be those specially designed and constructed for the purposes of the invention, or can be of the kind well known and available to those having ordinary skill in the computer software arts.
  • Examples of computer-readable media include computer-readable storage media such as: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as Compact Disc-Read Only Memories (“CD-ROMs”), DVDs, and holographic devices; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and execute program code, such as Application-Specific Integrated Circuits (“ASICs”), Programmable Logic Devices (“PLDs”), Read Only Memory (“ROM”) devices, and Random Access Memory (“RAM”) devices.
  • Examples of computer code include machine code, such as produced by a compiler, and files containing higher level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using Java, C++, or other programming language and development tools. Additional examples of computer code include encrypted code and compressed code. Another embodiment of the invention can be implemented in hard wired circuitry in place of, or in combination with, computer code.
  • routines, steps, and functional blocks executed to implement the embodiments of the disclosure and aforementioned features of the present invention may be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions referred to as “computer programs.”
  • the computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system and method receives identification of a web page. The web page is added to a web page library. Upon occurrence of an analysis event, the web page is provided to an automated analysis framework. Analyses representing SEO best practices are run against the web page. Each of the analyses is associated with input data.

Description

    RELATED APPLICATIONS
  • This application claims priority to provisional U.S. Patent Application Ser. No. 61/088,966, filed on Aug. 14, 2008 and entitled “Method and System for Optimization, Automation, and Administration”, the disclosure of which is hereby incorporated herein by reference.
  • FIELD OF THE INVENTION
  • The present application relates to Internet searching and, in particular, a method and system for analyzing a web page for conformance to search engine optimization best practices and fixing or otherwise modifying the web page to improve search engine rankings.
  • BACKGROUND
  • Many persons use the Internet to make purchases. In the purchasing process, users may employ search engines to find desired products and services. The user enters one or more words, called a search term, into the search engine. The search engines display the web pages that best match the users search terms on the search engine results page (SERP) in a region commonly called the organic or natural search results. The higher the web page ranks for a particular search term, the more people typically click to view the web page. Thus, many businesses try to get their web pages to rank as high as possible on the SERP for many search terms.
  • In a process called “spidering”, each search engine reads most of the pages on the internet. Then, based on an internal scoring algorithm, the search engine ranks (or calculates in real-time upon a user's query) each web page's relevance for each search term. The ranking is based on a variety of criteria, for example, the existence of keywords in the content of the page, the internal structure of the page, the number and quality of other pages linking to the page, and a variety of other criteria.
  • The practice of modifying a web page as well as additional content on the internet (e.g., creating links from third-party sites, defining the anchor text or text displayed on those links, etc.) to drive the web page higher in the SERP is called search engine optimization (SEO).
  • Some of the criteria used for ranking pages are public information, while others are non-public and only known by experts at search engine companies. Additionally, the criteria change over time. Many individuals in the field continually theorize about what criteria may be used by the search engine's relevance ranking. It may not be publicly known whether these theoretical criteria are used by the search engine. However, if many individuals believe they may have an impact, theoretical criteria, together with the criteria made public by the search engines, may comprise the “best practices” for search engine optimization.
  • SUMMARY
  • In one embodiment, a system and method receives identification of a web page. The web page is added to a web page library. Upon occurrence of an analysis event, the web page is provided to an automated analysis framework. Analyses representing SEO best practices are run against the web page. Each of the analyses is associated with input data.
  • Many other features and embodiments of the present invention will be apparent from the accompanying drawings and from the following detailed description.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present disclosure is illustrated by way of example and not limited in the figures of the accompanying drawings in which like references indicate similar elements.
  • FIG. 1 illustrates a system in accordance with one embodiment of the present invention.
  • FIG. 2 illustrates a functional block diagram and method in accordance with one embodiment of the present invention.
  • FIG. 3 illustrates a functional block diagram and method in accordance with one embodiment of the present invention.
  • FIG. 4 illustrates a screen in accordance with one embodiment of the present invention.
  • FIG. 5 illustrates a screen in accordance with one embodiment of the present invention.
  • FIG. 6 illustrates a functional block diagram and method in accordance with one embodiment of the present invention.
  • FIG. 7 illustrates a screen in accordance with one embodiment of the present invention.
  • FIG. 8 illustrates a block diagram of one embodiment of a system in accordance with one embodiment of the present invention.
  • FIG. 9 shows a diagrammatic representation of a machine in an exemplary form of a computer system in accordance with one embodiment of the present invention.
  • DETAILED DESCRIPTION
  • In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that embodiments of the disclosure can be practiced without these specific details. In some instances, structures and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams are shown to represent data and logic flows.
  • Reference in this specification to “one embodiment”, “an embodiment”, “other embodiments”, or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of, for example, the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.
  • Moreover, whether or not there is express reference to an “embodiment” or the like, various features are described which may be variously combined and included in some embodiments but also variously omitted in other embodiments. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
  • The present invention is a system and method of automated testing of web pages and landing pages (collectively called “web pages”) for compliance with best practices (also known as “analyses”) for search engine optimization. The present invention is also a system and method of automating fixes or modifications to web pages and landing pages to realize best practices for search engine optimization.
  • FIG. 1 illustrates a system 100 of analyzing a web page for conformance with best practices using automated search engine optimization (SEO) and fixing the web page or content on the internet to improve search engine rankings in accordance with the present invention. In one embodiment, the present invention can be used in connection with a variety of search engines. As used herein, the term “fix” or “fixing” with respect to a web page means modifying or otherwise optimizing the web page to improve search engine rankings. In another embodiment, the present invention can be used in connection with a variety of content management systems.
  • The system 100 includes user computing devices 102, Internet 108, search engines 104, web sites 106, and a platform 110. The platform 110 includes web servers 112, an analytics server 114, business logic server 116, and database server 118. A user can access the internet 108 via user computing devices 102 and use the functionality of the platform 110. The user can then specify web pages to be optimized which are routed through the web server 112 to the business logic server 116 and stored in the database server 118. The business logic server 116 performs the automated search engine optimization by retrieving information from search engines 104 and web sites 106 via the internet 108 and the web servers 112. Both the business logic server 116 and the analytics server 114 retrieve, process and store information in the database server 118. Then, the business logic server 116 conducts the automated SEO analysis and through the web server 112, internet 108 and user computing devices 102 interacts with the user to implement a manual or auto-fix of the web page.
  • FIG. 2 illustrates a functional block diagram and method 200 of analyzing a web page for conformance to search engine optimization best practices and fixing the web page to improve search engine rankings in accordance with one embodiment of the present invention. The method 200 includes analysis library 202, web page library 204, database server 206, analysis scheduler 208, analysis queue 210, automated analysis framework 212, internet 214, web page cache 216, cache manager 218, and content management server 220. Also shown is a user interface 222 of the user computing devices 102. The user interface 222 includes web page administration 224, analysis results screens 226, and auto-fix wizard 228. The auto-fix wizard 228, which is described in more detail below, leads to manual-fix instructions 230 and modified web page 232.
  • Using the web page administration 224, the user specifies that one or more web pages should be automatically analyzed for search engine optimization best practices. A specified web page is added to a list of web pages stored in the web page library 204. At the same time, the web page is submitted to the analysis scheduler 208 to be added to the analysis queue 210 for submission to the automated analysis framework 212. The addition of a web page to the web page library 204 is one of many “analysis events”, as described in more detail below.
  • The analysis library 202 represents an extensible framework for adding one or more best practices (also called “analyses”) into the automated analysis framework 212. Developers can add new analyses to the analysis library 202 and these analyses will be added to the list of best practices against which each web page will be evaluated. In one embodiment, the analysis library 202 is defined in source code (e.g., Java, etc.). In one embodiment, the method and system of the present invention will automatically analyze web pages, and recognize patterns that lead to improved search engine rankings and create and store the resulting analyses in the analysis library 202. These analyses are added to the list of best practices against which each web page is evaluated.
  • The analysis scheduler 208 retrieves all the analyses (also known as “best practices”, as indicated above) and the one or more conditions that signify an “analysis event” for each analysis from the analysis library 202. An analysis event can be any one of myriad conditions including, for example, a duration threshold since the web page was last checked, if the web page was modified, if an auto-fix was applied, if the user manually requested that the page be re-analyzed, if the analysis has been changed or updated, etc. In one embodiment, some analysis events may be specific to a single analysis. In another embodiment, some analysis events may apply to multiple or all analyses.
  • The analysis scheduler 208 also retrieves the web pages to be analyzed from the web page library 204. The analysis scheduler 208 will monitor or be notified by the database server 118 when analysis events occur for specific web pages. When an analysis event occurs, the analysis scheduler 208 will place the appropriate web pages in the analysis queue 210 for submission to the automated analysis framework 212.
  • In one embodiment, the analysis scheduler 208 will conserve computing resources and avoid rerunning one or more analyses if none of the inputs (e.g., the content of the web page, the target keywords, the version of the analysis, etc.) has changed.
  • The automated analysis framework 212 analyzes web pages for conformance with SEO best practices. The automated analysis framework 212 reads and runs analyses from the analysis library 202. Analyses include, for example, that the page size is within a certain threshold, the page content includes the primary SEO keywords that the user is optimizing this page for, the page content includes the secondary SEO keywords that the user is optimizing this page for, and the number of inbound links is above a threshold, amongst others. Other analyses include, for example, primary keyword in meta description tag of the web page, secondary keywords in meta keywords tag of the web page, existence of keywords in content, registration with major search engines, the age of the web page is within a threshold age, the size of the web page is within a threshold size, the absence of broken links, existence of a meta description tag, and a unique meta description tag within the web site. Other analyses that test the URL, test the structure of the web page, test the content of the web page, and test the links pointing to the page are also included. It will be appreciated that many other analyses not expressly identified herein are within the scope of the present invention.
  • The automated analysis framework 212 may retrieve a cached version of the web page being analyzed in evaluating the analysis from the cache manager 218. The cache manager 218 retrieves the cached version of the web page from the web page cache 216. In one embodiment, the web page cache 216 is used to improve performance and minimize the number of web hits to a web page. If the automated analysis framework 212 requests a cached version of a web page from the cache manager 218 and the cached version does not exist in the web page cache 216, or if the cached version is out-of-date, the cache manager 218 may retrieve a newer version of the web page from the internet 214 that was retrieved from the web server 112 and may have been retrieved from a content management server 220, store it in the web page cache 216 and store information regarding the date and time the version was retrieved from the internet 214 in the web page cache 216.
  • In one embodiment, the user can manually copy the web page or web pages onto a web server or content management server 220. In another embodiment, the system and method of the present invention automatically copy the web page or web pages onto the web server or content management system 220.
  • In one embodiment, the cache manager 218 monitors the content management server 118 for changes to the web pages or any of the elements of a web page amongst those in the web page library 204. In another embodiment, the cache manager 218 will monitor the internet for changes to the web pages or any elements of a web page amongst those defined in the web page library 204. In one embodiment, when the cache manager 218 detects a change in a web page or elements of a web page amongst those web pages defined in the web page library 204, it will store this information in the database server 206 which will then be read by the analysis scheduler 208 and the web page will be submitted to the analysis queue 210 to rerun the analysis for the affected web page.
  • Once each analysis run is complete, the automated analysis framework 212 then sends the analysis results to the analysis results screens 226, as discussed in more detail below. For each analysis in the analysis results screens 226, the user can select the analysis for processing by the auto-fix wizard 228, as discussed in more detail below.
  • FIG. 3 illustrates a functional block diagram and method 300 for the automated analysis framework block 212. The method 300 includes the analysis library 302, retrieve analysis block 304, gather all input data block 306, additional analysis inputs 308, web page cache 310, content management server 312, internet 314, evaluate analysis block 316, results database 318, severity criteria 320, run regression block 322, and determine severity block 324. In one embodiment, the analysis library 302 is the same as the analysis library 202. In one embodiment, web page cache 310 is the same as the web page cache 216. In one embodiment, the content management server 312 is the same as the content management server 220. In one embodiment, the internet 314 is the same as the internet 214.
  • The retrieve analysis block 304 reads the details of each analysis from the analysis library 302. The details of each analysis include, for example, the description, the list of additional data required, the test used to check conformance, etc. This information is passed to the gather all input data block 306.
  • The gather all input data block 306 may retrieve additional inputs from the additional analysis inputs 308 (e.g., the targeted primary and secondary SEO keywords, etc.), a copy of the web page from the web page cache 310, and/or a copy of the components of the web page from the content management server 312.
  • The gather all input data block 306 also may retrieve additional information from the internet 314. Such additional information may include, for example, the natural search engine ranking the web page being analyzed receives from each search engine for each target keyword, the number of inbound links to the web page being analyzed, the anchor text from each of the inbound links, amongst others.
  • The input data from the gather all input data block 306 is then passed to the evaluate analysis block 316 that executes the analysis based on all the input data. In one embodiment, the evaluate analysis block 316 returns a numeric score for each analysis. The score may be a Boolean 0=fail and 1=pass, or the score may represent volume or scale (e.g., the number of H1 tags, the number of external links, etc.).
  • The results from, and some of, the input data from the evaluate analysis block 316 are stored in the results database 318.
  • The system and method of the present invention may use two techniques to indicate the severity of each analysis. First, a mathematical technique called “regression analysis” is used to correlate results for each analysis with their corresponding importance in effecting search engine rankings. Second, a rules system with administrator defined rules is used to indicate the severity based on the results of each analysis. In one embodiment, other techniques can be used.
  • For the “regression analysis”, the run regression block 322 runs a mathematical regression amongst all or some of the results correlating the results of each analysis to the search ranking and in turn establishes ranges for the results that correspond to each severity level. In one embodiment, the search ranking is the organic search ranking that indicates the position of the web page in the portion of search results that do not include paid-for advertising. The run regression block 322 may segment results by industry, time period, and other dimensions. Based on the results of the mathematical regression, the run regression block 322 will calculate severity criteria and store the criteria for each analysis in the severity criteria database 320. In one embodiment, the severity criteria can be stored according to industry, time period, and other dimensions. In other embodiments, different mathematical algorithms may be used.
  • For the “rules system”, an administrator can define rules to indicate the severity criteria which will also be stored in the severity criteria database 320.
  • The evaluate analysis block 316 also passes the results to the determine severity block 324 that reads the severity criteria from the severity criteria database 320 and assigns a severity to each analysis.
  • A first user interface 400, as an exemplary analysis results screen 226, is shown in FIG. 4. The first user interface 400 includes a summary header 402 and a detailed description 404. The summary header 402 includes an “Analysis” heading 406, a results summary 408, and a hide details link 410. The “Analysis” heading 406 is an indication to the user that the first user interface 400 relates to analyses. The results summary 408 is a summary of the results of the analyses run. In one embodiment, the results summary 408 can include information such as, for example, the number of failed analyses and the number of warnings, as described in more detail below. The hide details link 410 allows the user to display only the summary header 402 and not display detailed information about the analysis as shown in the detailed description 404.
  • The detailed description 404 includes a text description 412, an analysis listing 414, analysis severity indicators 416, date fields 418, and response options 420. The text description 412 provides a detailed textual account of the results of analyses run. In one embodiment, the text description 412 includes information such as, for example, the percentage of analyses that failed, the percentage of analyses requiring attention, and the percentage of analyses that passed. The analysis status indicators 416 are provided for each analysis in the analysis listing 414. Each analysis status indicator 416 indicates the status or severity of each analysis.
  • In one embodiment, the status of an analysis (not shown) may be, for example, “In Progress”, “Complete”, “Inactive”, or “Error”. In one embodiment, the severity of each analysis as indicated by the analysis severity indicators 416 may be, for example, “High”, “Medium”, and “Low”. In another embodiment, the severity of each analysis may be color or otherwise coded. Such coding can include, for example, “Red” (fail), “Yellow” (warning), “Green” (pass), and “Gray” (another indication such as “In Progress”, “Error”, etc.). In one embodiment, the system and method of the present invention may indicate the total number of analyses and the severity or status percentage of analyses. For example, if a total of ten analyses are run with the result that six analyses are Red, then in one embodiment of the present invention, the analysis status indicator 416, or elsewhere on the first user interface 400, would display “Red 60%” as an indication of status and/or severity. Of course, many other indications of status and severity percentages are possible in accordance with the present invention.
  • The analysis listing 414 lists analyses that have run or are schedule to be run. In one embodiment, the following analyses are run and thus displayed on the first user interface 400: primary keyword in meta description tag, secondary keywords in meta keywords tag, existence of keywords in content, registered with all major search engines, age of site, page size, and no broken links. In one embodiment, some but not all of the aforementioned analyses can be run. In one embodiment, other analyses can be run in place of or in addition to the aforementioned analyses.
  • The date fields 418 indicates the date when each analysis was run. The response options 420 provide selectable options for the user to choose in response to the results of run analyses. In one embodiment, the response options 420 include “Auto-Fix”, “Ignore”, and “More”. In one embodiment, other response options can be included. For certain analyses for each web page, the user can select an “Auto-Fix” button to allow the system 100 in accordance with the present invention to automatically address and remedy a web page that has either failed the analysis or requires attention. For each analysis for each web page, the user can select an “Ignore” button which will display the analysis run with a severity of, for example, “Green” or “Low” regardless of the true severity. In one embodiment, the user can select a “Reset” button (not shown) to revert the analysis back to display its true severity. As described below, for each analysis for each web page, the user can select a “More” button to select other options in response to the running of an analysis, depending on the particular design of the first user interface 400.
  • A second user interface 500 of the analysis results screen 226, typically accessed by selecting the “More” button in the first user interface 400, is shown in FIG. 5. The second user interface 500, which can be alternative or in addition to the first user interface 400, includes a web page field 502, a URL field 504, an analysis field 506, a description 508, a recommendation 510, and a history 512. The web page field 502 identifies the title of the web page against which the analysis was run. The URL field 504 includes the URL for the web page against which the analysis was run. The analysis field 506 identifies the particular analysis to be run. The description 508 provides an explanatory discussion regarding the operation of search engines and related importance of the analysis for search engine optimization. In one embodiment, the description 508 of each analysis is user-friendly and targeted for users without a technical or internet marketing background. The recommendation 510 is a detailed discussion regarding how to fix the web page based upon the results of the analysis. In one embodiment, the recommendation 510 can also provide myriad measures that the user can selectively or collectively implement to fix the web page.
  • The history 512 displays a list documenting the results of past analysis runs for the particular analysis for the particular web page. The history 512 may be condensed to only show analysis runs in which the severity changed from the severity in the previous analysis run.
  • FIG. 6 illustrates a functional block diagram and method 600 for the auto-fix wizard block 228. The method 600 includes the display current content and manual-fix instructions block 602, auto-fix library 606, edit and evaluate content block 608, analysis queue block 610, automated analysis framework block 612, analysis library 614, analysis results 616, generate modified auto-fixed web page block 618, cache manager 620, and content management server 622. In one embodiment, the cache manager 620 is the same as the cache manager 218. In one embodiment, the analysis library 614 is the same as the analysis library 202. In one embodiment, the automated analysis framework 612 is the same as the automated analysis framework 212. In one embodiment, the analysis queue 610 is the same as the analysis queue 210. In one embodiment, the content management server 622 is the same as the content management server 220.
  • As discussed above, the automated analysis framework 212 analyzes web pages for conformance with SEO best practices. The automated analysis framework 212 displays the analysis results in the analysis results screen 226.
  • Then, for analyses having associated auto-fixes that are defined, the user can click on the auto-fix button in the response options 420, which will read the steps to resolve the problem from the auto-fix library 606 and display a customized list of manual-fix instructions (i.e., a recommendation to improve the condition) specific to a single analysis and a single web page in the current content and manual-fix instructions block 602 to allow the user to manually make the changes to improve the analysis results.
  • The user can use a wizard-like interface which guides the user through a series of questions/answers (e.g., changing elements of the web page) and other steps to model a version of the web page that complies with the best practice associated with the analysis and reduces the severity of any issue identified.
  • Then, the edit and evaluate content block 608 allows the user to optionally preview the impact of any changes. The analysis is submitted to the analysis queue 610 which will then be processed by the automated analysis framework 612 that will run all analyses that will be impacted by the change. For each analysis, the analysis library 614 includes a list of analyses potentially affected by the change, and generates analysis results 616. In the display current content and manual-fix instructions block 602, the new severity of the current analysis is displayed, as well as the new severities of all analyses potentially affected by the change to ensure that no analyses change to an unsatisfactory severity. The user may repeat this process as many times as necessary until satisfied with the results.
  • In the generate modified auto-fixed web page block 618, the user has the option of having the system generate a version of the web page based on the changes specified in the edit and evaluate content block 608 and implementing the web page into the web server 112 or content management server 622. In one embodiment, the generate modified auto-fixed web-page block 618 reads the composite version of the web page from the cache manager 620. In another embodiment, the generate modified auto-fixed web-page block 618 reads the components of a web page from the content management server 622 or a file system.
  • An exemplary screen 700 of the display current content and manual-fix instructions block 602 is shown in FIG. 7. The exemplary screen 700 of the display current content and manual-fix instructions block 602 includes a web page field 702, a URL field 704, an auto-fix name field 706, a recommendation 708, data entry box(es) 710, and an analyses section 712. The analyses section 712 includes analysis severity indicators 714 and an analysis listing 716.
  • The web page field 702 identifies the title of the web page against which the analysis was performed. The URL field 704 includes the URL for the web page against which the analysis was run. The auto-fix name field 706 identifies the particular auto-fix that is being run. In the exemplary screen 700, a “primary keyword in meta description tag” is shown as the exemplary auto-fix that is being run in accordance with the present invention. In one embodiment, another auto-fix or other auto-fixes can be run. The recommendation 708 provides an explanatory and targeted discussion regarding the importance of the auto-fix, and provides specific instructions and recommendations to modify the web page to conform the web page to best practices and to resolve any pertinent issues identified.
  • In this example, the “primary keyword in meta description tag” auto-fix coincidentally shares the same name as the “primary keyword in meta description tag” analysis in the analysis field 506. It will be appreciated that auto-fixes and analyses typically will have different names.
  • The data entry box 710 allows the user to enter information in response to the information provided in the recommendation 708. The information entered by the user is intended to make the web page conform to the best practices. In the exemplary screen 710, the user is prompted to enter information to constitute a desired meta description tag. In one embodiment, the user is prompted to enter other information relevant to another auto-fix or other auto-fixes that have been run. In one embodiment, a data entry box 710 can be used for a particular web page for a particular analysis. In one embodiment, a plurality of data entry boxes can be used for analysis of a web page. In another embodiment, the exemplary screen 700 does not include any data entry box.
  • The analysis severity indicators 714 are provided for each analysis in the analysis listing 716. Each analysis severity indicator 716 indicates the severity of each analysis, as described above. The exemplary screen 700 indicates that the primary analysis run is the “primary keyword in meta description tag” and provides a severity indicator for that analysis. In addition, the display current content and manual-fix instructions block 602 displays the severity indicator for other analyses (e.g., “existence of a meta description tag” and “unique meta description tag within site”). In this way, the display current content and manual-fix instructions block 602 can convey the full impact of a web page modification on other analyses even if they are not the analysis of primary or initial interest.
  • In one embodiment, the display current content and manual-fix instructions block 602 displays a description of the analysis. In one embodiment, the display current content and manual-fix instructions block 602 provides instructions on how to resolve any issues raised by the analysis. In one embodiment, the display current content and manual-fix instructions block 602 provides a wizard-like interface to allow the user to resolve a problem identified by the analysis. In one embodiment, the display current content and manual-fix instructions block 602 provides manual-fix instructions 230 on how to resolve any issues and a preview capability to validate whether any proposed fixes will resolve the problem, and will generate a modified web page 232 with the issues resolved.
  • In one embodiment, the techniques described above in accordance with the present invention can be applied to optimize landing pages of web sites. In one embodiment, other web pages can be optimized in accordance with the techniques described herein.
  • FIG. 8 illustrates a block diagram of one embodiment of a system 800 of the present invention. The system 800 includes a first module 810, a second module 820, a third module 830, an Nth module 840, a video display 850, and an input device 860 coupled together through a bus 870. As illustrated, the system 800 includes the modules 810, 820, 830, 840 in one embodiment. In one embodiment, any number of modules can be implemented.
  • In one embodiment, the routines, steps, and functional blocks executed to implement the embodiments of the disclosure and all of the aforementioned features of the present invention may be variously implemented as computer modules 810, 820, 830, 840. In one embodiment, these computer modules can be a sequence of instructions referred to as “computer programs.”
  • In one embodiment, user input is provided to one or more of the modules using an input device 860. The input device 860 may be a keyboard, cursor control device, or voice recognition system, for example. In another embodiment, more than one input device may be used. In one embodiment, module output is displayed using a video display 850.
  • FIG. 9 shows a diagrammatic representation of a machine in an exemplary form of a computer system 900 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In one embodiment, the machine communicates with the server to facilitate operations of the server and/or to access the operations of the server.
  • The computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 904 and a nonvolatile memory 906, which communicate with each other via a bus 908. In some embodiments, the computer system 900 may be a laptop computer, personal digital assistant (PDA) or mobile phone, for example. The computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), a disk drive unit 916, a signal generation device 918 (e.g., a speaker) and a network interface device 920. The disk drive unit 916 includes a machine-readable medium (or computer readable medium) 922 on which is stored one or more sets of instructions (e.g., software 924) embodying any one or more of the methodologies or functions described herein. The software 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting machine-readable media. The software 924 may further be transmitted or received over a network 940 via the network interface device 920.
  • While the machine-readable medium (computer readable medium) 922 is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” or “computer readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers).
  • An embodiment of the invention relates to a computer storage product with a computer-readable or machine-accessible medium having executable instructions or computer code thereon for performing various computer-implemented operations. The term “computer-readable medium” or “machine-accessible medium” is used herein to include any medium that is capable of storing or encoding a sequence of executable instructions or computer code for performing the operations described herein. The media and computer code can be those specially designed and constructed for the purposes of the invention, or can be of the kind well known and available to those having ordinary skill in the computer software arts.
  • Examples of computer-readable media include computer-readable storage media such as: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as Compact Disc-Read Only Memories (“CD-ROMs”), DVDs, and holographic devices; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and execute program code, such as Application-Specific Integrated Circuits (“ASICs”), Programmable Logic Devices (“PLDs”), Read Only Memory (“ROM”) devices, and Random Access Memory (“RAM”) devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using Java, C++, or other programming language and development tools. Additional examples of computer code include encrypted code and compressed code. Another embodiment of the invention can be implemented in hard wired circuitry in place of, or in combination with, computer code.
  • In general, the routines, steps, and functional blocks executed to implement the embodiments of the disclosure and aforementioned features of the present invention may be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.
  • While the invention has been described with reference to the specific embodiments thereof, it should be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the true spirit and scope of the invention as defined by the appended claims. In addition, many modifications may be made to adapt a particular situation, material, composition of matter, method, operation or operations, to the objective, spirit, and scope of the invention. All such modifications are intended to be within the scope of the claims appended hereto. In particular, while the methods disclosed herein have been described with reference to particular operations performed in a particular order, it will be understood that these operations may be combined, sub-divided, or reordered to form an equivalent method without departing from the teachings of the invention. Accordingly, unless specifically indicated herein, the order and grouping of the operations is not a limitation of the invention.

Claims (20)

1. A computer implemented method for search engine optimization (SEO) comprising:
receiving, via a computing device, identification of a web page;
adding the web page to a web page library;
upon occurrence of an analysis event, providing the web page to an automated analysis framework; and
running analyses representing SEO best practices against the web page, each of the analyses associated with input data.
2. The method of claim 1 wherein the analysis event includes at least one of a duration threshold since the web page was last analyzed, a modification of the web page, a request to analyze the web page, a modification of an analysis, and an update to the analysis.
3. The method of claim 2 further comprising, before the adding the web page to an analysis queue, scheduling the web page to be added to the analysis queue based on the analysis event.
4. The method of claim 3 further comprising, before the scheduling the web page to be added to the analysis queue based on the analysis event, determining if the input data associated with an analysis has changed, the input data including at least one of content of the web page, targeted keywords, and a version of the analysis.
5. The method of claim 1 further comprising providing an analysis library containing a plurality of analyses, the analysis library extensible to receive additional analyses.
6. The method of claim 1 wherein each of the analyses includes at least one of the web page is within a threshold size, content of the web page includes a primary SEO keyword for which the web page is being optimized, content of the web page includes a secondary SEO keyword for which the web page is being optimized, and a number of inbound links associated with the web page is above a threshold.
7. The method of claim 1 wherein each of the analyses includes at least one of presence of a primary keyword in a meta description tag of the web page, presence of a secondary keyword in a meta description tag of the web page, existence of keywords in content of the web page, web page registered with major search engines, the age of the web page is within a threshold, the size of the web page is within a threshold, and absence of broken links.
8. The method of claim 1 wherein the running analyses representing SEO best practices against the web page further comprises retrieving additional input data including at least one of a targeted primary SEO keyword, one or more secondary SEO keywords, a copy of the web page, and a copy of components of the web page.
9. The method of claim 8 wherein the running analyses representing SEO best practices against the web page further comprises:
executing the analysis based upon the input data;
returning a numeric score for the analysis; and
storing the numeric score in a database.
10. The method of claim 9 wherein the running analyses representing SEO best practices against the web page further comprises determining a severity for the analysis run.
11. The method of claim 10 wherein the running analyses representing SEO best practices against the web page further comprises determining severity criteria by at least one of a regression analysis and rules defined by an administrator.
12. The method of claim 1 further comprising providing response options in a display of results after the running analyses representing SEO best practices against the web page.
13. The method of claim 1 further comprising providing a recommendation regarding how to fix the web page after the running analyses representing SEO best practices against the web page.
14. The method of claim 1 further comprising, in response to selection of one of the response options, automatically fixing the web page.
15. The method of claim 1 further comprising providing an auto-fix wizard to fix the web page after the running analyses representing SEO best practices against the web page.
16. The method of claim 15 further comprising reading detail of an auto-fix from an auto-fix library, the detail of an auto-fix including at least one of a description, a list of additional data required, and a test to check conformance with the analysis.
17. The method of claim 16 further comprising prompting a user to provide information according to the auto-fix.
18. The method of claim 15 further comprising:
providing an auto-fix for a first analysis; and
displaying a severity indication for a second analysis in response to the auto-fix for the first analysis.
19. A machine-readable medium having stored thereon a set of instructions, which when executed by a machine, perform a method comprising:
receiving identification of a web page;
adding the web page to a web page library;
upon occurrence of an analysis event, providing the web page to an automated analysis framework; and
running analyses representing SEO best practices against the web page, each of the analyses associated with input data.
20. A computer system comprising:
at least one server for:
receiving identification of a web page;
adding the web page to a web page library;
upon occurrence of an analysis event, providing the web page to an automated analysis framework; and
running analyses representing SEO best practices against the web page, each of the analyses associated with input data.
US12/479,711 2008-08-14 2009-06-05 Method and system for automated search engine optimization Abandoned US20100042613A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/479,711 US20100042613A1 (en) 2008-08-14 2009-06-05 Method and system for automated search engine optimization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8896608P 2008-08-14 2008-08-14
US12/479,711 US20100042613A1 (en) 2008-08-14 2009-06-05 Method and system for automated search engine optimization

Publications (1)

Publication Number Publication Date
US20100042613A1 true US20100042613A1 (en) 2010-02-18

Family

ID=41681916

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/479,711 Abandoned US20100042613A1 (en) 2008-08-14 2009-06-05 Method and system for automated search engine optimization
US12/541,028 Abandoned US20100042495A1 (en) 2008-08-14 2009-08-13 Method and System for Internet Advertising Administration Using a Unified User Interface
US12/540,981 Expired - Fee Related US8276086B2 (en) 2008-08-14 2009-08-13 Method and system for visual landing page optimization configuration and implementation

Family Applications After (2)

Application Number Title Priority Date Filing Date
US12/541,028 Abandoned US20100042495A1 (en) 2008-08-14 2009-08-13 Method and System for Internet Advertising Administration Using a Unified User Interface
US12/540,981 Expired - Fee Related US8276086B2 (en) 2008-08-14 2009-08-13 Method and system for visual landing page optimization configuration and implementation

Country Status (1)

Country Link
US (3) US20100042613A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100042935A1 (en) * 2008-08-14 2010-02-18 Yield Software, Inc. Method and System for Visual Landing Page Optimization Configuration and Implementation
US20100169312A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100169356A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100174603A1 (en) * 2008-10-14 2010-07-08 Robert Hughes System and Method for Advertising Placement and/or Web Site Optimization
US20100185661A1 (en) * 2008-12-30 2010-07-22 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20110016104A1 (en) * 2009-07-14 2011-01-20 SEO Samba, Corp. Centralized web-based system for automatically executing search engine optimization principles for one, or more website(s)
US20110119220A1 (en) * 2008-11-02 2011-05-19 Observepoint Llc Rule-based validation of websites
US20120197859A1 (en) * 2011-01-28 2012-08-02 Clickscene Limited Apparatus and Method for Analyzing and Modifying Content
WO2012109175A2 (en) * 2011-02-09 2012-08-16 Brightedge Technologies, Inc. Opportunity identification for search engine optimization
US20130232131A1 (en) * 2012-03-04 2013-09-05 International Business Machines Corporation Managing search-engine-optimization content in web pages
US20130290289A1 (en) * 2012-04-30 2013-10-31 Brightedge Technologies, Inc. Integration of third party information
US8990206B2 (en) 2010-08-23 2015-03-24 Vistaprint Schweiz Gmbh Search engine optimization assistant
US20150248484A1 (en) * 2012-04-30 2015-09-03 Brightedge Technologies, Inc. Content management systems
US9203720B2 (en) 2008-11-02 2015-12-01 Observepoint, Inc. Monitoring the health of web page analytics code
US10915519B2 (en) * 2016-09-09 2021-02-09 Salesforce.Com, Inc. Processing offline updates to records of a database system
CN113282847A (en) * 2021-07-22 2021-08-20 深圳市华球通网络有限公司 Website ranking optimization method and device and storage medium
US11153183B2 (en) * 2015-06-11 2021-10-19 Instana, Inc. Compacted messaging for application performance management system

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120116895A1 (en) * 2010-11-04 2012-05-10 Bank Of America Corporation Customizable Marketing Campaign Framework
EP2548166A4 (en) 2010-03-19 2014-12-31 Nokia Corp Method and apparatus for a hybrid approach for rule setting by online service providers
WO2011133550A2 (en) * 2010-04-20 2011-10-27 Webamg Sarl Method and apparatus for landing page optimization
US9129300B2 (en) * 2010-04-21 2015-09-08 Yahoo! Inc. Using external sources for sponsored search AD selection
US10444979B2 (en) 2011-01-31 2019-10-15 Microsoft Technology Licensing, Llc Gesture-based search
US10409851B2 (en) 2011-01-31 2019-09-10 Microsoft Technology Licensing, Llc Gesture-based search
CN103999028B (en) * 2011-05-23 2018-05-15 微软技术许可有限责任公司 Invisible control
US8615427B2 (en) 2011-10-19 2013-12-24 Coupons.Com Incorporated Determining a value for a coupon
US20140040772A1 (en) * 2011-12-12 2014-02-06 Adobe Systems Incorporated Highlighting graphical user interface components based on usage by other users
US10984337B2 (en) 2012-02-29 2021-04-20 Microsoft Technology Licensing, Llc Context-based search query formation
US9830353B1 (en) * 2013-02-27 2017-11-28 Google Inc. Determining match type for query tokens
US9230542B2 (en) * 2014-04-01 2016-01-05 Zoom International S.R.O. Language-independent, non-semantic speech analytics
US10282479B1 (en) 2014-05-08 2019-05-07 Google Llc Resource view data collection
US10373192B2 (en) * 2014-08-18 2019-08-06 Google Llc Matching conversions from applications to selected content items
US9819762B2 (en) * 2015-06-26 2017-11-14 Cloudflare, Inc. Method and apparatus for reducing loading time of web pages
US11113732B2 (en) * 2016-09-26 2021-09-07 Microsoft Technology Licensing, Llc Controlling use of negative features in a matching operation
US10255173B2 (en) * 2016-12-27 2019-04-09 Optimizely, Inc. Experimentation in internet-connected applications and devices
US20230106154A1 (en) * 2021-10-04 2023-04-06 Matthew Khorsandi System and method for customized website content automation

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194166A1 (en) * 2001-05-01 2002-12-19 Fowler Abraham Michael Mechanism to sift through search results using keywords from the results
US20040107137A1 (en) * 2001-11-30 2004-06-03 Skinner Christopher J. Automated web ranking bid management account system
US20050060168A1 (en) * 2003-09-16 2005-03-17 Derek Murashige Method for improving a web site's ranking with search engines
US20050165600A1 (en) * 2004-01-27 2005-07-28 Kas Kasravi System and method for comparative analysis of textual documents
US20050283357A1 (en) * 2004-06-22 2005-12-22 Microsoft Corporation Text mining method
US20060074749A1 (en) * 2004-10-01 2006-04-06 Reachlocal, Inc. Method and apparatus for allocating a campaign budget among publishers for a marketing campaign
US20070027850A1 (en) * 2005-08-01 2007-02-01 Reprise Media, Llc Methods and systems for developing and managing a computer-based marketing campaign
US20070143266A1 (en) * 2005-12-21 2007-06-21 Ebay Inc. Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension
US20070156757A1 (en) * 2005-12-21 2007-07-05 Xiaofeng Tang computer-implemented method and system for enabling the automated selection of keywords for rapid keyword portfolio expansion
US20070271511A1 (en) * 2006-05-22 2007-11-22 Chirag Khopkar Starting landing page experiments
US20080028010A1 (en) * 2006-07-31 2008-01-31 Microsoft Corporation Ranking functions using an incrementally-updatable, modified naive bayesian query classifier
US20080071766A1 (en) * 2006-03-01 2008-03-20 Semdirector, Inc. Centralized web-based software solutions for search engine optimization
US20080082400A1 (en) * 2006-09-29 2008-04-03 Google Inc. Advertisement Campaign Simulator
US20080091511A1 (en) * 2006-02-12 2008-04-17 Monin John A Jr Method and system for registering, credentialing, rating, and/or cataloging businesses, organizations, and individuals on a communications network
US20080172374A1 (en) * 2007-01-17 2008-07-17 Google Inc. Presentation of Local Results
US20080270452A1 (en) * 2007-04-25 2008-10-30 Goldman Daniel M Generation of Media Presentations Based on Questionnaires
US20080270223A1 (en) * 2005-07-29 2008-10-30 Yahoo! Inc. System and Method for Creating and Providing a User Interface for Displaying Advertiser Defined Groups of Advertisement Campaign Information
US20090006311A1 (en) * 2007-06-28 2009-01-01 Yahoo! Inc. Automated system to improve search engine optimization on web pages
US20090094137A1 (en) * 2005-12-22 2009-04-09 Toppenberg Larry W Web Page Optimization Systems
US20090132524A1 (en) * 2007-11-18 2009-05-21 Seoeng Llc. Navigable Website Analysis Engine
US7577643B2 (en) * 2006-09-29 2009-08-18 Microsoft Corporation Key phrase extraction from query logs
US20090299998A1 (en) * 2008-02-15 2009-12-03 Wordstream, Inc. Keyword discovery tools for populating a private keyword database
US20100042635A1 (en) * 2008-08-18 2010-02-18 Perialwar Venkataramanujam Landing page maker
US20100042935A1 (en) * 2008-08-14 2010-02-18 Yield Software, Inc. Method and System for Visual Landing Page Optimization Configuration and Implementation
US20100169312A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100169356A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100185661A1 (en) * 2008-12-30 2010-07-22 Yield Software, Inc. Method and System for Negative Keyword Recommendations

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030078838A1 (en) * 2001-10-18 2003-04-24 Szmanda Jeffrey P. Method of retrieving advertising information and use of the method
US7958005B2 (en) * 2007-10-31 2011-06-07 Microsoft Corporation Bidding for advertisement positions other than one

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194166A1 (en) * 2001-05-01 2002-12-19 Fowler Abraham Michael Mechanism to sift through search results using keywords from the results
US20040107137A1 (en) * 2001-11-30 2004-06-03 Skinner Christopher J. Automated web ranking bid management account system
US20050060168A1 (en) * 2003-09-16 2005-03-17 Derek Murashige Method for improving a web site's ranking with search engines
US20050165600A1 (en) * 2004-01-27 2005-07-28 Kas Kasravi System and method for comparative analysis of textual documents
US20050283357A1 (en) * 2004-06-22 2005-12-22 Microsoft Corporation Text mining method
US20060074749A1 (en) * 2004-10-01 2006-04-06 Reachlocal, Inc. Method and apparatus for allocating a campaign budget among publishers for a marketing campaign
US20080270223A1 (en) * 2005-07-29 2008-10-30 Yahoo! Inc. System and Method for Creating and Providing a User Interface for Displaying Advertiser Defined Groups of Advertisement Campaign Information
US20070027850A1 (en) * 2005-08-01 2007-02-01 Reprise Media, Llc Methods and systems for developing and managing a computer-based marketing campaign
US20070156757A1 (en) * 2005-12-21 2007-07-05 Xiaofeng Tang computer-implemented method and system for enabling the automated selection of keywords for rapid keyword portfolio expansion
US20070143266A1 (en) * 2005-12-21 2007-06-21 Ebay Inc. Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension
US20090094137A1 (en) * 2005-12-22 2009-04-09 Toppenberg Larry W Web Page Optimization Systems
US20080091511A1 (en) * 2006-02-12 2008-04-17 Monin John A Jr Method and system for registering, credentialing, rating, and/or cataloging businesses, organizations, and individuals on a communications network
US20080071766A1 (en) * 2006-03-01 2008-03-20 Semdirector, Inc. Centralized web-based software solutions for search engine optimization
US20070271511A1 (en) * 2006-05-22 2007-11-22 Chirag Khopkar Starting landing page experiments
US20080028010A1 (en) * 2006-07-31 2008-01-31 Microsoft Corporation Ranking functions using an incrementally-updatable, modified naive bayesian query classifier
US20080082400A1 (en) * 2006-09-29 2008-04-03 Google Inc. Advertisement Campaign Simulator
US7577643B2 (en) * 2006-09-29 2009-08-18 Microsoft Corporation Key phrase extraction from query logs
US20080172374A1 (en) * 2007-01-17 2008-07-17 Google Inc. Presentation of Local Results
US20080270452A1 (en) * 2007-04-25 2008-10-30 Goldman Daniel M Generation of Media Presentations Based on Questionnaires
US20090006311A1 (en) * 2007-06-28 2009-01-01 Yahoo! Inc. Automated system to improve search engine optimization on web pages
US20090132524A1 (en) * 2007-11-18 2009-05-21 Seoeng Llc. Navigable Website Analysis Engine
US20090299998A1 (en) * 2008-02-15 2009-12-03 Wordstream, Inc. Keyword discovery tools for populating a private keyword database
US20100042935A1 (en) * 2008-08-14 2010-02-18 Yield Software, Inc. Method and System for Visual Landing Page Optimization Configuration and Implementation
US20100042495A1 (en) * 2008-08-14 2010-02-18 Yield Software, Inc. Method and System for Internet Advertising Administration Using a Unified User Interface
US20100042635A1 (en) * 2008-08-18 2010-02-18 Perialwar Venkataramanujam Landing page maker
US20100169312A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100169356A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100185661A1 (en) * 2008-12-30 2010-07-22 Yield Software, Inc. Method and System for Negative Keyword Recommendations

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8276086B2 (en) 2008-08-14 2012-09-25 Autonomy, Inc. Method and system for visual landing page optimization configuration and implementation
US20100042495A1 (en) * 2008-08-14 2010-02-18 Yield Software, Inc. Method and System for Internet Advertising Administration Using a Unified User Interface
US20100042935A1 (en) * 2008-08-14 2010-02-18 Yield Software, Inc. Method and System for Visual Landing Page Optimization Configuration and Implementation
US20100174603A1 (en) * 2008-10-14 2010-07-08 Robert Hughes System and Method for Advertising Placement and/or Web Site Optimization
US9606971B2 (en) * 2008-11-02 2017-03-28 Observepoint, Inc. Rule-based validation of websites
US8589790B2 (en) * 2008-11-02 2013-11-19 Observepoint Llc Rule-based validation of websites
US20140082482A1 (en) * 2008-11-02 2014-03-20 Observepoint Llc Rule-based validation of websites
US20110119220A1 (en) * 2008-11-02 2011-05-19 Observepoint Llc Rule-based validation of websites
US9203720B2 (en) 2008-11-02 2015-12-01 Observepoint, Inc. Monitoring the health of web page analytics code
US20100169312A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100185661A1 (en) * 2008-12-30 2010-07-22 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20100169356A1 (en) * 2008-12-30 2010-07-01 Yield Software, Inc. Method and System for Negative Keyword Recommendations
US20110016104A1 (en) * 2009-07-14 2011-01-20 SEO Samba, Corp. Centralized web-based system for automatically executing search engine optimization principles for one, or more website(s)
US8990206B2 (en) 2010-08-23 2015-03-24 Vistaprint Schweiz Gmbh Search engine optimization assistant
US20120197859A1 (en) * 2011-01-28 2012-08-02 Clickscene Limited Apparatus and Method for Analyzing and Modifying Content
WO2012109175A2 (en) * 2011-02-09 2012-08-16 Brightedge Technologies, Inc. Opportunity identification for search engine optimization
WO2012109175A3 (en) * 2011-02-09 2012-10-18 Brightedge Technologies, Inc. Opportunity identification for search engine optimization
TWI480749B (en) * 2011-02-09 2015-04-11 Brightedge Technologies Inc Method of identifying organic search engine optimization
US20130232131A1 (en) * 2012-03-04 2013-09-05 International Business Machines Corporation Managing search-engine-optimization content in web pages
US9535997B2 (en) * 2012-03-04 2017-01-03 International Business Machines Corporation Managing search-engine-optimization content in web pages
US9659095B2 (en) * 2012-03-04 2017-05-23 International Business Machines Corporation Managing search-engine-optimization content in web pages
US20150248484A1 (en) * 2012-04-30 2015-09-03 Brightedge Technologies, Inc. Content management systems
US20130290289A1 (en) * 2012-04-30 2013-10-31 Brightedge Technologies, Inc. Integration of third party information
US10659422B2 (en) * 2012-04-30 2020-05-19 Brightedge Technologies, Inc. Content management systems
US11153183B2 (en) * 2015-06-11 2021-10-19 Instana, Inc. Compacted messaging for application performance management system
US10915519B2 (en) * 2016-09-09 2021-02-09 Salesforce.Com, Inc. Processing offline updates to records of a database system
CN113282847A (en) * 2021-07-22 2021-08-20 深圳市华球通网络有限公司 Website ranking optimization method and device and storage medium

Also Published As

Publication number Publication date
US8276086B2 (en) 2012-09-25
US20100042495A1 (en) 2010-02-18
US20100042935A1 (en) 2010-02-18

Similar Documents

Publication Publication Date Title
US20100042613A1 (en) Method and system for automated search engine optimization
US9195952B2 (en) Systems and methods for contextual mapping utilized in business process controls
US8374983B1 (en) Distributed object classification
US8732222B2 (en) Integrating specialized knowledge sources into a general search service
US11036483B2 (en) Method for predicting the successfulness of the execution of a DevOps release pipeline
US20100281023A1 (en) Relevancy scoring using query structure and data structure for federated search
US9521189B2 (en) Providing contextual data for selected link units
JP2004171539A (en) Method and system of identifying use pattern of web page
US11068522B2 (en) System to determine a credibility weighting for electronic records
US9269057B1 (en) Using specialized workers to improve performance in machine learning
US20130185105A1 (en) Generation of sales leads using customer problem reports
US20190065455A1 (en) Intelligent form creation
US20180373527A1 (en) Weighting static analysis alerts
US10324970B2 (en) Feedback analysis for content improvement tasks
CA2894106C (en) Automated predictive tag management system
US20150339786A1 (en) Forensic system, forensic method, and forensic program
CN113297287B (en) Automatic user policy deployment method and device and electronic equipment
JPWO2009107628A1 (en) Search system, search method and program
JP5972425B1 (en) Reputation damage risk report creation system, program and method
WO2016129124A1 (en) Data analysis system, data analysis method, and data analysis program
US20130185315A1 (en) Identification of Events of Interest
US11836068B2 (en) System and method for recommending static analysis fixes
CN115292187A (en) Method and device for automatically testing code-free page, electronic equipment and medium
Arar et al. The Verification Cockpit–Creating the Dream Playground for Data Analytics over the Verification Process
JP4810113B2 (en) Database tuning apparatus, database tuning method, and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: YIELD SOFTWARE, INC.,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MALDEN, MATTHEW SCOTT;COKER, JOHN LUDWIG;REEL/FRAME:022790/0109

Effective date: 20090528

AS Assignment

Owner name: AUTONOMY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YIELD SOFTWARE, INC.;REEL/FRAME:027272/0375

Effective date: 20110928

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:036737/0587

Effective date: 20150929

AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AUTONOMY, INC.;REEL/FRAME:037017/0242

Effective date: 20150902

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION