The present inventions generally relate to website design and hosting and, more specifically, methods and systems for improving website performance.
An example embodiment of a method for improving website performance may comprise calculating a website quality score for a website (which may indicate the website's effectiveness), identifying changes to the website's attributes that would improve the website's quality score, and modifying the website to include such changes.
An example embodiment of a system for improving website performance may comprise a server computer hosting a website having a URL and an application server computer running a website scoring and improvement module configured to calculate a website quality score for a website (which may indicate the website's effectiveness), identify changes to the website's attributes that would improve the website's quality score, and modify the website to include such changes.
The above features and advantages of the present inventions will be better understood from the following detailed description taken in conjunction with the accompanying drawings.
The present inventions will now be discussed in detail with regard to the attached drawing figures, which were briefly described above. In the following description, numerous specific details are set forth illustrating the Applicant's best mode for practicing the inventions and enabling one of ordinary skill in the art to make and use the inventions. It will be obvious, however, to one skilled in the art that the present inventions may be practiced without many of these specific details. In other instances, well-known machines, structures, and method steps have not been described in particular detail in order to avoid unnecessarily obscuring the present inventions. Unless otherwise indicated, like parts and method steps are referred to with like reference numerals.
A network is a collection of links and nodes (e.g., multiple computers and/or other devices connected together) arranged so that information may be passed from one part of the network to another over multiple links and through various nodes. Examples of networks include the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, and wireless networks.
The Internet comprises a vast number of computers and computer networks that are interconnected through communication links arranged to allow the easy and robust exchange of information between computer users. Hundreds of millions of people around the world have access to computers connected to the Internet via Internet Service Providers (ISPs). Content providers (e.g., website owners or operators) place multimedia information (e.g., text, graphics, audio, video, animation, and other forms of data) at specific locations on the Internet referred to as webpages. Websites comprise a collection of connected, or otherwise related, webpages. The combination of all the websites and their corresponding webpages on the Internet is generally known as the World Wide Web (WWW) or simply the Web.
Prevalent on the Web are multimedia websites, some of which may offer and sell goods and services to individuals and organizations. Websites may consist of a single webpage, but typically consist of multiple interconnected and related webpages. Menus and links may be used to move between different webpages within the website or to move to a different website as is known in the art. Websites may be created using HyperText Markup Language (HTML) to generate a standard set of tags that define how the webpages for the website are to be displayed. Such websites may comprise a collection of HTML and subordinate documents (i.e., files) stored on the Web that are typically accessible from the same Uniform Resource Locator (URL) and reside on the same server, although such files may be distributed in numerous servers.
Users of the Internet may access content providers' websites using software known as an Internet browser, such as MICROSOFT INTERNET EXPLORER or MOZILLA FIREFOX. A request is made by entering the website's URL in the browser. After the browser has located the desired webpage, it requests and receives information from the webpage, typically in the form of an HTML document, and then displays the webpage content for the user. The user then may view other webpages at the same website or move to an entirely different website using the browser.
Browsers are able to locate specific websites because each website, resource, and computer on the Internet has a unique Internet Protocol (IP) address. Presently, there are two standards for IP addresses. The older IP address standard, often called IP Version 4 (IPv4), is a 32-bit binary number, which is typically shown in dotted decimal notation, where four 8-bit bytes are separated by a dot from each other (e.g., 64.202.167.32). The notation is used to improve human readability. The newer IP address standard, often called IP Version 6 (IPv6) or Next Generation Internet Protocol (IPng), is a 128-bit binary number. The standard human readable notation for IPv6 addresses presents the address as eight 16-bit hexadecimal words, each separated by a colon (e.g., 2EDC:BA98:0332:0000:CF8A:000C:2154:7313).
IP addresses, however, even in human readable notation, are difficult for people to remember and use. A URL is much easier to remember and may be used to point to any computer, directory, or file on the Internet. A browser is able to access a website on the Internet through the use of a URL. The URL may include a Hypertext Transfer Protocol (HTTP) request combined with the website's Internet address, also known as the website's domain. An example of a URL with a HTTP request and domain is: http://www.companyname.com. In this example, the “http” identifies the URL as a HTTP request and the “companyname.com” is the domain.
Websites, unless extremely large and complex or have unusual traffic demands, typically reside on a single server and are prepared and maintained by a single individual or entity. Some Internet users, typically those that are larger and more sophisticated, may provide their own hardware, software, and connections to the Internet. But many Internet users either do not have the resources available or do not want to create and maintain the infrastructure necessary to host their own websites. To assist such individuals (or entities), hosting companies exist that offer website hosting services. These hosting service providers typically provide the hardware, software, and electronic communication means necessary to connect multiple websites to the Internet. A single hosting service provider may literally host thousands of websites on one or more hosting servers.
Some websites may be more effective than others. For example, one website may have better data accessibility, aesthetic appeal, mobile performance, sales, traffic, bandwidth, Search Engine Optimization (SEO), or features (e.g., blogs, ads, video, etc.) than others. Applicant has determined that presently-existing systems and methods do not provide optimal means for identifying the attributes of a website that could or should be improved to increase performance, and improving those attributes. For these reasons, there is a need for the methods and systems for improving website performance as described herein.
The website quality score may be a function of any of the website's attributes. As non-limiting examples, the attributes may comprise design attributes (e.g., an information accessibility metric indicating how easy it is to locate key pieces of information on the website, an aesthetic metric indicating how appealing the website “looks” to users, perhaps as a function of colors, layout, etc., or a mobile rendering metric indicating how well the website renders on mobile devices). Alternatively, the attributes may comprise performance attributes (e.g., a sales metric indicating how well the website performs financially, a traffic metric indicating how frequently Internet users access the website, a SEO metric, a loading speed metric, a mobile performance metric, or a data transference metric).
The website quality score calculation (Step 100) may be accomplished by software running on an application server operating to compare the website's attributes against pre-determined parameters. For example, websites having performance attributes exceeding predetermined values may be given a higher score, while those with lower performance attributes may be given a lower score. Design attributes may be compared against pre-determined templates known to be successful. Websites having design attributes closer to those of the pre-determined templates may be given higher scores. Attributes may be independent of each other or, conversely, dependent on each other. For example, attributes may be positively or negatively correlated (e.g., website quality score improvements resulting from a change to attribute 1 may be doubled if attribute 2 is also changed. Or score improvements resulting from changing attribute 1 are diminished if attribute 2 is changed).
Alternatively, the website quality score calculation (Step 100) may be accomplished by the comparing the website's attributes against with those of other websites. Comparisons may be made between websites hosted with the same or different hosting providers. Where the websites are hosted by different hosting providers, software and/or scripts running on an application server may run tests or otherwise probe the subject website to determine its attributes and compare with other websites.
In another embodiment, all websites may be hosted by the same hosting provider, such as GODADDY. This embodiment may take advantage of the hosting provider's unique position as host to these numerous websites. By hosting many websites, the hosting provider may access data indicating which websites are more effective than others. For example, the hosting provider may identify those websites that process the most transactions, have the most sales, or are otherwise the most financially successful. The hosting provider also may determine those websites that are top performers, perhaps by measuring page load times, SEO ranking, traffic, etc. The attributes of identified high-performing websites then may be identified and compared to those of the subject website. In one embodiment, websites may be separated by vertical (e.g., bike shops, law firms, restaurants, etc.) before the comparison is performed, thus ensuring that the subject website is compared to websites within the same vertical.
A website quality score then may be calculated (Step 100). As a non-limiting example, the website quality score may indicate the website's effectiveness and may be a function of its attributes. The website quality score may comprise a metric representing the effectiveness of the website's design. It may provide a way to quantifiably assess quality of website design, which may be complex due to the multiple factors involved including, but not limited to, the following: ability to find key pieces of information (e.g., price of offered services, “pants” in a clothing catalog), aesthetic appeal (e.g., effectiveness of color used related to desired action), rendering and performance on mobile devices (e.g. does the website display properly on an mobile device), SEO, etc.
The website quality score may comprise any score indicating the effectiveness of the subject website and may comprise any rating or ranking scale known in the art or developed in the future. As non-limiting examples, the website quality score may range from 0 to 1, 1 to 10, 0% to 100%, and/or A+ to F− (e.g., grades). Alternatively, it may comprise a star rating system or a color rating system (e.g., red indicates a poor reputation, yellow indicates an average reputation, and green indicates a good reputation). As one non-limiting example, the range for website quality scores may have a minimum value of 0% and a maximum value of 100%, and may indicate a transition from a negative to a positive score when the score exceeds 50%.
In one embodiment, software running on an application server may calculate a website quality score (Step 100) by sequentially ranking the subject website amongst a plurality of websites according to a particular attribute, such as sales volume, and assign a score according to the website's percentile rank (e.g., a score of 75% if the subject website has higher sales than 75% of other websites). In another embodiment, “grades” may be assigned according to a percentile score (e.g., A for 100-80%, B for 80-60%, C for 60-40%, D for 40-20%, and F for 20-0%).
Attribute changes that may improve the website quality score then may be identified (Step 110). As a non-limiting example, aesthetic changes or website features present in high-scoring websites may be identified that are not present in the subject website. Software running on the application server may, for example, generate a temporary, modified version of the subject website, and re-calculate the website quality score for the temporary website. If the score exceeds the prior score, the subject website may be modified to include the changed attribute that drove the score increase (Step 120) and published to the Internet.
In one embodiment, the illustrated methods may be performed before the website is published or otherwise hosted at a URL. In a non-limiting example, the methods described herein may be performed while the website is being built via a website building software application to optimize the performance of the website prior to publication at a URL. In such a pre-publication embodiment, the website's files may be stored locally (e.g., in a server's memory/filesystem and not yet published at a URL), but may be accessible by an application server performing the described methods.
The URL may be received (Step 200), perhaps at an application server performing the described method, by any method of receiving data known in the art or developed in the future including, but not limited to, receiving the URL via electronic communication. The URL may comprise a fully-qualified and functioning domain name propagated through the DNS or, alternatively, may comprise a temporary, internal URL at which the website is temporarily hosted during website development. As a non-limiting example, a control panel website hosted on the application server may be configured (e.g., programmed) to receive a URL (Step 200), perhaps by displaying a virtual button entitled “submit website for review” that, when “clicked” by a user such as a website administrator, transmits a URL entered in a data field via HTTP protocol that is received by the application server. Attributes of the website to which the URL resolves may then be evaluated for effectiveness (Step 210) as described above in relation to website score calculation (Step 100).
The embodiment illustrated in
Higher-scoring websites may be identified (Step 410), perhaps by searching a database storing website templates in association with their quality scores and/or attributes causing such increased quality scores. Alternatively, a plurality of websites may be concurrently scored and compared against each other. Specific website attributes driving higher scores may be determined (Step 420), perhaps by comparing specific performance attributes (e.g., sales, load time, traffic) and concluding that design attributes or features present in the second website and not present in the first website (e.g., a blog or video) drive the second website's improved score. Alternatively, Step 420 may be accomplished by generating temporary duplicate website files and iteratively altering website attributes or features, and calculating the resultant change in quality score. If the score improves, it may be concluded that the changed attribute caused the improvement.
The example embodiments illustrated herein place no limitation on network 540 configuration or connectivity. Thus, as non-limiting examples, the network 540 could comprise the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, wireless networks, or any combination thereof.
Servers 500 and/or 550 (and/or any other server described herein) may be communicatively coupled to the network 540 via any method of network connection known in the art or developed in the future including, but not limited to wired, wireless, modem, dial-up, satellite, cable modem, Digital Subscriber Line (DSL), Asymmetric Digital Subscribers Line (ASDL), Virtual Private Network (VPN), Integrated Services Digital Network (ISDN), X.25, Ethernet, token ring, Fiber Distributed Data Interface (FDDI), IP over Asynchronous Transfer Mode (ATM), Infrared Data Association (IrDA), wireless, WAN technologies (T1, Frame Relay), Point-to-Point Protocol over Ethernet (PPPoE), and/or any combination thereof. As non-limiting examples, the servers could be application, communication, mail, database, proxy, fax, file, media, web, peer-to-peer, standalone, software, or hardware servers (i.e., server computers) and may use any server format known in the art or developed in the future (possibly a shared hosting server, a virtual dedicated hosting server, a dedicated hosting server, or any combination thereof).
The website 560 may be hosted by any system or method known in the art or developed in the future for website hosting including, but not limited to, storing the website's 560 files, databases, and/or database tables on a server 550 communicatively coupled to a network 540, perhaps for access by a client running a browser configured to render the website on the client's display. As non-limiting examples, the website 560 may be hosted on the website 560 owner, operator, or administrator's computer or server or, alternatively, by a hosting provider as described in detail above.
The website 560 may comprise any collection of data and/or files accessible to a client or server 500 communicatively coupled to the network 540. As a non-limiting example, the website 560 may comprise a single webpage or multiple interconnected and related webpages resolving from a domain name, each of which may provide access to static, dynamic, multimedia, or any other content, perhaps by accessing files (e.g., text, audio, video, graphics, executable, HTML, eXtensible Markup Language (XML), Active Server Pages (ASP), Hypertext Preprocessor (PHP), Flash files, server-side scripting, etc.) that enable the website 560 to display when rendered by a browser on a client.
The above-described methods (or any step of such methods) also may be performed by an application programming interface (API) running on at least one server 500 or 550 communicatively coupled to a network 540. The API may comprise computer-readable code that, when executed by at least one server 500 or 550, causes the API to perform each method step. The API may comprise a software-to-software interface that specifies the protocol defining how independent computer programs interact or communicate with each other. As a non-limiting example, the API may perform each method step through a series of function calls (requests for services). The API may comprise any API type known in the art or developed in the future including, but not limited to, request-style, Berkeley Sockets, Transport Layer Interface (TLI), Representational State Transfer (REST), SOAP, Remote Procedure Calls (RPC), Standard Query Language (SQL), file transfer, message delivery, and/or any combination thereof.
The methods and systems may be used in many ways to improve website performance. In one example use, a website 560 administrator may have concerns that the website 560 is underperforming. Perhaps monthly sales for his online bicycle shop are perceived as too low compared to other bike shops, and he wants to improve revenue. Using a browser running on a personal computer, smartphone, or tablet, the website 560 administrator may navigate to a control panel provided by his website's 560 hosting provider and enter the URL 570 for his website 560 in a data field, and click “submit.” The browser may transmit the URL 570, perhaps via HTTP protocol, to an application server 500, perhaps operated by the website's 560 hosting service provider, where the URL 570 is received (Step 200).
The application server 500 then may access data available to the hosting service provider as host of the website 560, such as traffic volume, monthly sales, and SEO ranking, and calculate a website quality score based upon these attributes (Step 100), perhaps by averaging the performance of the website's 560 attributes and comparing performance against a plurality of other websites 710 hosted on the same hosting service 550. For purposes of this example, if the website's 560 average performance exceeds 50% of other hosted websites 710, the website 560 may be assigned a score of 50%.
The application server 500 then may determine that the website 560 is in the “bike shop” vertical, perhaps by parsing content (e.g., key words and images) and determining to a predetermined probability that the website 560 belongs to the “bike shop” vertical. Alternatively, the website 560 administrator may have selected the appropriate vertical from a menu on the control panel.
The application server 500 then may search a website quality score database 700 storing, according to vertical, websites in association with their quality scores. In the illustrated example, therefore, the application server 500 would search for and identify other bike shop websites having quality scores higher than 50% (Step 410).
The application server 500 then may determine the attributes of the higher-scoring websites causing the better quality scores (Step 420), perhaps by comparing specific performance attributes (e.g., sales, load time, traffic) and concluding that design attributes or features (e.g., a blog or video) present in the higher-performing websites are not present in the subject website 560.
The application server 500 then may present the website 560 administrator with options for improving website 560 performance, perhaps via the previously-described control panel (Step 220). For example, he may be presented with the option (perhaps via a check box) to add a blog, along with an indication that adding the proposed attribute would increase the website's 560 quality score to 60%. If the website 560 administrator accepts the suggested change, the application server 500 may modify the website 560 (Step 120) by installing a blog.
Other embodiments and uses of the above inventions will be apparent to those having ordinary skill in the art upon consideration of the specification and practice of the inventions disclosed herein. The specification and examples given should be considered exemplary only, and it is contemplated that the appended claims will cover any other such embodiments or modifications as fall within the true scope of the inventions.
The Abstract accompanying this specification is provided to enable the United States Patent and Trademark Office and the public generally to determine quickly from a cursory inspection the nature and gist of the technical disclosure and in no way intended for defining, determining, or limiting the present inventions or any of its embodiments.