TECHNICAL FIELD

This document describes devices, systems, and methods related to assessing website quality, particularly with regards to segmenting a website based on similarity of elements in webpages of the website.

BACKGROUND

Websites can vary in their quality. The quality of a website can affect user experience of users who visit the website. For example, websites with broken links, misspellings, and other features that do not function as intended can be frustrating for users visiting a site. Additionally, websites that are not optimized for search engines (also referred to as “search engine optimization” or SEO) may have a low level of quality because users may not be able to locate relevant pages on the website (or locate the website more generally) using a search engine. For example, websites that do not have information formatted properly for search engines to retrieve and associate with other information on the page may have low levels of SEO, which may result in those websites not appearing as prominently in search results as they otherwise should for relevant search strings. Websites can also have a low level of quality if they are not readily accessible to all users regardless of impairment (also referred to as “website accessibility”). For example, if a website is not formatted properly, users who are seeing or hearing impaired may not be able to use website reader applications to review and navigate through the content.

SUMMARY

The document generally relates to assessing quality of a website, particularly with regards to identifying and addressing issues in segments across webpages of the website. A website owner, or client, can have many webpages that make up their website. Sometimes, it can be challenging to identify and target which webpages to fix. Moreover, some webpages can have the same or similar issues. Fixing the same or similar issues can be a tedious and repetitive task. The disclosed techniques, on the other hand, can provide for automatically determining different contextual segments in webpages of a website and dynamically assessing issues in the same segments across the website. As a result, the website owner can address an issue that repeats in a same segment across multiple webpages to quickly fix those webpages, improve an overall quality score of the website, and improve user experiences for users who visit the website. The disclosed techniques can also provide for a variety of interface extensions, such as filtering different website assessments based on segments.

Segment criteria can be generated and used by a web analysis server system to identify segments in webpages of the website. Although referred to as segments throughout this disclosure, segments are synonymous with, and can also be referred to as, sections. Multiple distinct criteria can be used to identify corresponding segments such as content headers, footers, menus, content areas, metadata, etc. in a webpage. In some implementations, machine learning trained models can be used by the web analysis server system to identify segments in the webpages. The web analysis server system can identify all webpages as having the same segment(s) based on whether the webpages satisfy the criteria. The web analysis server system can then generate output to be presented in a graphical user interface (GUI) display at a client computing device of the website owner or another relevant user that includes indications of the webpages having the same segment(s), one or more issues associated with each of those webpages, quality scores of the webpages, and/or other information about the webpages having the same segment(s). The website owner can use the output presented in the GUI display to prioritize and efficiently review webpages, and their associated issues, to improve overall quality of the website and user experiences for users who visit the website.

Although the disclosed inventive concepts include those defined in the attached claims, it should be understood that the inventive concepts can also be defined in accordance with the following embodiments.

Embodiment 1 is a method for assessing website quality based on automated website analysis, the method comprising: identifying, by a computing system, a website to evaluate, wherein the website comprises webpages and the website is associated with a user account; retrieving, by the computing system, code for the webpages that the website comprises from one or more web server systems that host the website; locally executing and interpreting, by the computing system, the code to render the webpages as they would appear on client computing devices; identifying, by the computing system, webpage segment criteria; analyzing, by the computing system, the webpages to identify a subset of webpages that include a segment that satisfies the webpage segment criteria, the segment comprising webpage code; identifying, by the computing system, a quality issue in the segment that is present in each webpage in the subset of webpages; determining, by the computing system, a quantity of times that the quality issue occurs across the subset of webpages; and providing, by the computing system, information to a client computing device associated with the user account to cause the client computing device to present an indication of the issue and an indication of the quantity of times that the issue occurs across the subset of webpages.

Embodiment 2 is the method of embodiment 1, wherein each webpage of the website comprises multiple segments identified by the computing system based on the webpage segment criteria.

Embodiment 3 is the method of any one of embodiments 1 through 2, wherein each webpage of the website comprises multiple types of segments.

Embodiment 4 is the method of any one of embodiments 1 through 3, further comprising analyzing, by the computing system, the webpages of the website to identify a second subset of webpages that include a second segment that is different from the first segment and that satisfies second webpage segment criteria, the second subset of webpages being different from the subset of web pages; and identifying, by the computing system, a second quality issue in the second segment that is present in each webpage in the second subset of webpages.

Embodiment 5 is the method of any one of embodiments 1 through 4, further comprising providing, by the computing system, information to the client computing device to cause the client computing device to present a selectable option to filter a presentation of issues present across webpages of the website to a subset of issues that are specific to one or more user-selected categories of segments, from among a collection of user-selectable categories of segments.

Embodiment 6 is the method of any one of embodiments 1 through 5, wherein the collection of user-selectable categories of segments includes a headers category, a footers category, and a metadata category.

Embodiment 7 is the method of any one of embodiments 1 through 6, further comprising receiving, by the computing system, an indication that the client computing device received user input that interacted with the selectable option to select multiple categories of the collection of user-selectable categories of segments.

Embodiment 8 is the method of any one of embodiments 1 through 7, further comprising: receiving, by the computing system, an indication that the client computing device received user input that interacted with the selectable option to select a user-selected category of the collection of user-selectable categories of segments; and providing, by the computing system responsive to receiving the indication that the client computing device received the user input that interacted with the selectable option to select the user-selected category, information to the client computing device to cause the client computing device to change a user interface of the client computing device from (i) presenting indications of quality issues that are relevant to all webpages of the website, to (ii) presenting only indications of quality issues that are relevant to webpages that include any segment from the user-selected category.

Embodiment 9 is the method of any one of embodiments 1 through 8, further comprising: receiving, by the computing system, an indication that the client computing device received user input that interacted with the selectable option to select, in addition to the user-selected category, a second user-selected category of the collection of user-selectable categories of segments; and providing, by the computing system responsive to receiving the indication that the client computing device received the user input that interacted with the selectable option to select the second user-selected category, information to the client computing device to cause the client computing device to change the user interface of the client computing device from (i) presenting only indications of quality issues that are relevant to webpages that include any segment from the user-selected category, to (ii) presenting only indications of quality issues that are relevant to webpages that include segments within the user-selected category and indications of quality issues that are relevant to webpages that include segments within the second user-selected category.

Embodiment 10 is the method of any one of embodiments 1 through 9, wherein: the segments within the user-selected category are present across a first subset of webpages of the website; the segments within the second user-selected category are present across a second subset of webpages of the website; and the first subset of webpages is different from the second subset of webpages.

Embodiment 11 is the method of any one of embodiments 1 through 10, wherein the second user-selected category of segments represents content of the webpages of the website that is not specified by webpage segment criteria and that is other than the segments of the user-selected category of segments.

Embodiment 12 is the method of any one of embodiments 1 through 11, further comprising providing, by the computing system, information to the client computing device to cause the client computing device to display a graphical user interface (GUI) that presents (i) a particular webpage of the website concurrently with (ii) indications of multiple segments present across the webpages of the website.

Embodiment 13 is the method of any one of embodiments 1 through 12, further comprising: receiving, by the computing system, an indication that the client computing device received user input that interacted with the presentation of the indications of the multiple segments to indicate selection of a user-selected segment of the multiple segments; and providing, by the computing system, information to the client computing device to cause the client computing device to highlight, in the GUI that presents the particular webpage concurrently with the indications of the multiple segments, a portion of the webpage that corresponds to the user-selected segment of the multiple segments.

Embodiment 14 is the method of any one of embodiments 1 through 13, wherein the GUI includes a side panel that is adjacent to the presentation of the particular webpage in the GUI, wherein the side panel includes the indications of the multiple segments present across the webpages of the website and selectable options to generate the webpage segment criteria.

Embodiment 15 is the method of any one of embodiments 1 through 14, wherein: the indications of the multiple segments that are presented as part of the side panel represents segments present across webpages of the website; and the computing system has identified the particular webpage as including a group of segments that is less than all of the segments present across the webpages of the website, such that some of the segments represented by the indications of the multiple segments that are visually shown in the side panel are not present in the particular webpage.

Embodiment 16 is the method of any one of embodiments 1 through 15, further comprising: receiving, by the computing system, an indication that the client computing device received user input that modified the webpage code of the segment in a manner that addresses the quality issue, wherein the user input that modifies the webpage code of the segment in the manner that addresses the quality issue is specified a single time by user input; and implementing, by the computing system, the modification to the webpage code of the segment, which was specified the single time by user input, in every webpage in the subset of webpages.

Embodiment 17 is a system for assessing website quality based on automated website analysis, the system comprising: a website analysis server system to assess website quality; and a client computing device to provide a graphical user interface (GUI) presenting information about website quality as determined by the website analysis server system, the client computing device being configured to: output the GUI on a display of the client computing device, the website analysis server system being configured to: identify the website to evaluate, the website comprising webpages; retrieve code for the webpages that the website comprises from one or more web server systems that host the website; locally execute and interpret the code to render the webpages as they would appear on client computing devices; analyze the webpages to identify segments that satisfy website segment criteria; add webpages having the segments to a subset of webpages; identify at least one issue associated with at least one segment in the subset of webpages; determine a quantity of times that the at least one issue occurs across the subset of webpages; and transmit, to the client computing device, information to be presented in the GUI that includes an indication of the at least one issue and the quantity.

Embodiment 18 is the system of embodiment 17, wherein the at least one segment is identical to the segments across the subset of webpages.

Embodiment 19 is the system of any one of embodiments 17 through 18, wherein the at least one segment is similar to the segments across the subset of webpages.

Embodiment 20 is the system of any one of embodiments 17 through 19, wherein the segments are each at least one of a header, footer, metadata, and page content.

Embodiment 21 is the system of any one of embodiments 17 through 20, wherein the website analysis server system is further configured to: analyze the webpages to identify second segments in a second subset of webpages, wherein the second segments are different than the segments across the subset of webpages; and identify at least one issue associated with at least one segment in second subset of webpages, wherein the at least one issue in the second subset of webpages is different than the at least one issue in the subset of webpages.

Embodiment 22 is the system of any one of embodiments 17 through 21, wherein each webpage in the subset of webpages has the same at least one issue.

Embodiment 23 is the system of any one of embodiments 17 through 22, wherein the website analysis server system is further configured to identify a second issue associated with the at least one segment in the subset of webpages, wherein the second issue is different than the at least one issue.

Embodiment 24 is the system of any one of embodiments 17 through 23, wherein the website analysis server system is further configured to transmit, to the client computing device, information to cause the client computing device to present an indication of a type of the segments, wherein the type is at least one of a header, a footer, metadata, and page content.

Embodiment 25 is the system of any one of embodiments 17 through 24, wherein the website analysis server system is configured to analyze the webpages to identify segments that satisfy the webpage segment criteria based on applying a machine learning model to the webpages, wherein the machine learning model was previously trained to (i) identify similar elements in other webpages and (ii) group the similar elements into segments.

The devices, system, and techniques described herein may provide one or more of the following advantages. For example, grouping webpages based on same or similar segments can enhance user visibility of issues across the website. The disclosed techniques can provide for user-friendly presentation of issues in the website through one or more GUI displays. The website owner or other relevant user can view issues grouped or filtered by segment(s). The website owner can have a more holistic understanding of which issues exist across the website and which issues can be quickly and easily addressed. By fixing an issue in a segment of one webpage, a computer system can implement that same fix to all other webpages having the same segment.

As another example, grouping webpages based on same or similar segments can improve efficiency in addressing issues across the website, thereby improving overall website quality and user experiences with the website. As described herein, a computer system can implement a change to an issue in one webpage to all webpages that are grouped together for having the same or similar segment(s). Implementing the change across the group of webpages can result in quick and efficient response to identified issues in the website. Resolving the issues both quickly and efficiently can improve an overall quality of the website (such as a quality score of the website) and improve user experiences for users who use the website.

The disclosed techniques can also provide a developer associated with the web analysis server system with a breadth of selectable graphical options to define segment criteria for websites of different website owners. Therefore, the developer can uniquely define different types of segments for a website, which can be different than segments in other websites. For example, the developer may choose to identify a side menu as a segment and name this segment as header 1 for one website owner (e.g., customer). For another website owner, on the other hand, the developer may identify a menu at the top of the webpage as a segment and name this segment as header 1. Regardless of how the developer defines segment criteria, the web analysis server system can use the same techniques described herein to identify webpages in different website owners' websites that satisfy the segment criteria. The developer may also save the segment criteria and apply it to multiple website domains, thereby making it easy and efficient for the web analysis server system to identify and subsequently address issues, based on segments, in all the websites.

As another example, the disclosed techniques provide for automatically identifying and presenting issues to be fixed in the website based on identified segments in the website. The disclosed techniques can help the website owner efficiently use their time and resources to fix an issue once and then deploy that fix across the website to all other webpages having the same segment(s). Thus, overall quality of the website can improve, which further improves user experiences at the website.

The disclosed techniques also provide for improving processing efficiency for real-time website assessments to be generated, which can allow website owners to evaluate current versions of their websites, to respond more quickly to decreased quality by addressing or fixing an issue that appears across multiple webpages having the same segment(s), and to improve user experiences on the website. For instance, website owners can use an outputted list of issues filtered by segments to better manage their websites, such as to make particular changes on the website that would resolve the issue across multiple pages having the same segment(s).

In another example, the breadth of the segment criteria allows for a standardized and objective way for website quality to be quantified and addressed. Such quantification can provide a variety of advantages, such as permitting quality of a website to be readily compared and tracked over time, and/or permitting the quality of different websites to be readily compared to each other. Additionally, the disclosed techniques provide for digesting multitudes of webpages and content of a website to make it less difficult for the website owner to manage and improve the website.

In another example, GUIs and specific GUI features can be provided to assist the website owner in readily and quickly understanding what potential issues exist in the website and which potential issues to prioritize and/or address. For example, graphical features can be presented to visually and textually identify webpages having the same or similar segment(s), potential issues associated with each identified segment, and other information about the issues, segments, and/or webpages. Moreover, since webpages can be tagged and identified based on their segment(s), the website owner can readily identify and keep track of the webpages across dashboards, modules, applications, or other software that is provided to the website owner by the computer system. Such GUI features can permit for complex information to be presented in a simplified manner, permitting for it to be provided on a variety of different displays and to be easily digestible by the website owner.

The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.

