US20100042613A1 - Method and system for automated search engine optimization - Google Patents
Method and system for automated search engine optimization Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0249—Advertisements based upon budgets or funds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0273—Determination of fees for advertising
- G06Q30/0275—Auctions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0276—Advertisement 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
Description
- 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.
- 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.
- 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.
- 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.
- 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. - 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 asystem 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 includesuser computing devices 102,Internet 108,search engines 104,web sites 106, and aplatform 110. Theplatform 110 includesweb servers 112, an analytics server 114, business logic server 116, and database server 118. A user can access theinternet 108 viauser computing devices 102 and use the functionality of theplatform 110. The user can then specify web pages to be optimized which are routed through theweb 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 fromsearch engines 104 andweb sites 106 via theinternet 108 and theweb 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 theweb server 112,internet 108 anduser 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 andmethod 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. Themethod 200 includesanalysis library 202,web page library 204,database server 206,analysis scheduler 208,analysis queue 210, automatedanalysis framework 212,internet 214,web page cache 216,cache manager 218, andcontent management server 220. Also shown is auser interface 222 of theuser computing devices 102. Theuser 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 modifiedweb 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 theanalysis scheduler 208 to be added to theanalysis queue 210 for submission to theautomated analysis framework 212. The addition of a web page to theweb 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 theautomated analysis framework 212. Developers can add new analyses to theanalysis 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, theanalysis 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 theanalysis 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 theanalysis 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 theweb page library 204. Theanalysis 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, theanalysis scheduler 208 will place the appropriate web pages in theanalysis queue 210 for submission to theautomated 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. Theautomated analysis framework 212 reads and runs analyses from theanalysis 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 thecache manager 218. Thecache manager 218 retrieves the cached version of the web page from theweb page cache 216. In one embodiment, theweb page cache 216 is used to improve performance and minimize the number of web hits to a web page. If theautomated analysis framework 212 requests a cached version of a web page from thecache manager 218 and the cached version does not exist in theweb page cache 216, or if the cached version is out-of-date, thecache manager 218 may retrieve a newer version of the web page from theinternet 214 that was retrieved from theweb server 112 and may have been retrieved from acontent management server 220, store it in theweb page cache 216 and store information regarding the date and time the version was retrieved from theinternet 214 in theweb 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 orcontent 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 theweb page library 204. In another embodiment, thecache manager 218 will monitor the internet for changes to the web pages or any elements of a web page amongst those defined in theweb page library 204. In one embodiment, when thecache manager 218 detects a change in a web page or elements of a web page amongst those web pages defined in theweb page library 204, it will store this information in thedatabase server 206 which will then be read by theanalysis scheduler 208 and the web page will be submitted to theanalysis 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 andmethod 300 for the automatedanalysis framework block 212. Themethod 300 includes theanalysis library 302, retrieveanalysis block 304, gather all input data block 306,additional analysis inputs 308,web page cache 310,content management server 312, internet 314, evaluateanalysis block 316, results database 318,severity criteria 320,run regression block 322, and determineseverity block 324. In one embodiment, theanalysis library 302 is the same as theanalysis library 202. In one embodiment,web page cache 310 is the same as theweb page cache 216. In one embodiment, thecontent management server 312 is the same as thecontent management server 220. In one embodiment, the internet 314 is the same as theinternet 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 thecontent 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, therun regression block 322 will calculate severity criteria and store the criteria for each analysis in theseverity 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 inFIG. 4 . Thefirst user interface 400 includes asummary header 402 and adetailed description 404. Thesummary header 402 includes an “Analysis” heading 406, aresults summary 408, and a hide details link 410. The “Analysis” heading 406 is an indication to the user that thefirst user interface 400 relates to analyses. Theresults summary 408 is a summary of the results of the analyses run. In one embodiment, theresults 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 thesummary header 402 and not display detailed information about the analysis as shown in thedetailed description 404. - The
detailed description 404 includes atext description 412, ananalysis listing 414,analysis severity indicators 416, date fields 418, and response options 420. Thetext description 412 provides a detailed textual account of the results of analyses run. In one embodiment, thetext 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. Theanalysis status indicators 416 are provided for each analysis in theanalysis listing 414. Eachanalysis 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, theanalysis status indicator 416, or elsewhere on thefirst 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 thefirst user interface 400. - A
second user interface 500 of the analysis results screen 226, typically accessed by selecting the “More” button in thefirst user interface 400, is shown inFIG. 5 . Thesecond user interface 500, which can be alternative or in addition to thefirst user interface 400, includes aweb page field 502, aURL field 504, ananalysis field 506, adescription 508, arecommendation 510, and ahistory 512. Theweb page field 502 identifies the title of the web page against which the analysis was run. TheURL field 504 includes the URL for the web page against which the analysis was run. Theanalysis field 506 identifies the particular analysis to be run. Thedescription 508 provides an explanatory discussion regarding the operation of search engines and related importance of the analysis for search engine optimization. In one embodiment, thedescription 508 of each analysis is user-friendly and targeted for users without a technical or internet marketing background. Therecommendation 510 is a detailed discussion regarding how to fix the web page based upon the results of the analysis. In one embodiment, therecommendation 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. Thehistory 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 andmethod 600 for the auto-fix wizard block 228. Themethod 600 includes the display current content and manual-fix instructions block 602, auto-fix library 606, edit and evaluatecontent block 608,analysis queue block 610, automatedanalysis framework block 612,analysis library 614, analysis results 616, generate modified auto-fixedweb page block 618,cache manager 620, andcontent management server 622. In one embodiment, thecache manager 620 is the same as thecache manager 218. In one embodiment, theanalysis library 614 is the same as theanalysis library 202. In one embodiment, theautomated analysis framework 612 is the same as theautomated analysis framework 212. In one embodiment, theanalysis queue 610 is the same as theanalysis queue 210. In one embodiment, thecontent management server 622 is the same as thecontent management server 220. - As discussed above, the
automated analysis framework 212 analyzes web pages for conformance with SEO best practices. Theautomated 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 theanalysis queue 610 which will then be processed by theautomated analysis framework 612 that will run all analyses that will be impacted by the change. For each analysis, theanalysis 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 evaluatecontent block 608 and implementing the web page into theweb server 112 orcontent management server 622. In one embodiment, the generate modified auto-fixed web-page block 618 reads the composite version of the web page from thecache manager 620. In another embodiment, the generate modified auto-fixed web-page block 618 reads the components of a web page from thecontent management server 622 or a file system. - An
exemplary screen 700 of the display current content and manual-fix instructions block 602 is shown inFIG. 7 . Theexemplary screen 700 of the display current content and manual-fix instructions block 602 includes aweb page field 702, aURL field 704, an auto-fix name field 706, arecommendation 708, data entry box(es) 710, and ananalyses section 712. Theanalyses section 712 includesanalysis severity indicators 714 and ananalysis listing 716. - The
web page field 702 identifies the title of the web page against which the analysis was performed. TheURL 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 theexemplary 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. Therecommendation 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 therecommendation 708. The information entered by the user is intended to make the web page conform to the best practices. In theexemplary 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, adata 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, theexemplary screen 700 does not include any data entry box. - The
analysis severity indicators 714 are provided for each analysis in theanalysis listing 716. Eachanalysis severity indicator 716 indicates the severity of each analysis, as described above. Theexemplary 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 modifiedweb 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 asystem 800 of the present invention. Thesystem 800 includes afirst module 810, asecond module 820, athird module 830, anNth module 840, avideo display 850, and aninput device 860 coupled together through a bus 870. As illustrated, thesystem 800 includes themodules - 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 - In one embodiment, user input is provided to one or more of the modules using an
input device 860. Theinput 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 avideo display 850. -
FIG. 9 shows a diagrammatic representation of a machine in an exemplary form of acomputer 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), amain memory 904 and anonvolatile memory 906, which communicate with each other via a bus 908. In some embodiments, thecomputer system 900 may be a laptop computer, personal digital assistant (PDA) or mobile phone, for example. Thecomputer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). Thecomputer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), adisk drive unit 916, a signal generation device 918 (e.g., a speaker) and anetwork interface device 920. Thedisk 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. Thesoftware 924 may also reside, completely or at least partially, within themain memory 904 and/or within theprocessor 902 during execution thereof by thecomputer system 900, themain memory 904 and theprocessor 902 also constituting machine-readable media. Thesoftware 924 may further be transmitted or received over anetwork 940 via thenetwork 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)
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)
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)
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)
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)
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 |
-
2009
- 2009-06-05 US US12/479,711 patent/US20100042613A1/en not_active Abandoned
- 2009-08-13 US US12/541,028 patent/US20100042495A1/en not_active Abandoned
- 2009-08-13 US US12/540,981 patent/US8276086B2/en not_active Expired - Fee Related
Patent Citations (28)
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)
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 |