Search engine query customization and search site rating system

A method and system are provided for web search customization and web site rating. The system receives user input web sites, stores the web sites in a database, and groups them into user-specified categories. The system further allows users to select one or more web sites for customizing web search and querying the preselected sites using user input keywords. The system further provides the users with options to query a plurality of search engines. All web sites stored within the system are rated in response to the user operations. Each web site has at least a global rating indicating the rating within the system, a category rating indicating the rating within a given category, and a keyword rating indicating the rating for a given keyword. The system provides the users with a list of recommended web sites based on the web sites' ratings.

TECHNICAL FIELD

The present invention relates generally to the field of web search and specifically to techniques for customizing internet search via user-specified web sites and site rating.

BACKGROUND OF THE INVENTION

Web search engines, such as GOOGLE, MICROSOFT BING, YAHOO!, are designed to search for information on the World Wide Web. The search results are usually presented in a list and are commonly called hits. The information may consist of web pages, images, documents and other types of files. Some search engines also mine data available in databases or open directories.

Web searches are primarily done via keyword queries that present users with results (i.e., hits) linked to web sites containing the queried keywords. The results usually contain a mixture of sites the user may or may not have seen before. While users are often searching for new sites, many users usually have a list of preferred sites on which they prefer to conduct the search in different topics. Searching particular sites is possible through writing complex custom query strings for various search engines, which is very inconvenient to the users.

Currently, there are no existing systems for storing and automatically choosing custom user specified web sites for limiting the scope of a web search. There is a need, therefore, for techniques that allow users to store and conveniently apply custom user-specified preferences for querying multiple search engines at the same time.

BRIEF SUMMARY OF THE INVENTION

Within the context of this invention, the terms “web site,” “web site's URL,” and “web site's IP address” are considered interchangeable.

Described herein is a method, system and computer implementation for providing a user with web search customization and web site rating.

Specifically, the user is allowed to submit a list of web sites that he or she wishes to search via a keyword search. A note can also be attached to or associated with each web site for the purpose of further identification. The user can also create categories or groups to group these websites. Within the scope of this invention, the terms “category” and “group” are considered interchangeable.

With respect to search customization, the user can specify a keyword or keywords to query or conduct a search on the Internet. The user is allowed to select one or more web sites for searching. When the web sites are selected, they are combined with the user-input keyword for conducting the keyword search. Alternatively, the user can select a category for conducting the keyword search. Accordingly, all the sites under that category are combined with the user-input keyword for the web search. Furthermore, the users can select multiple sites and categories for the keyword search.

After the user inputs the keyword and selects the web sites, query strings are created for a plurality of search engines, such as GOOGLE, MICROSOFT BING, and YAHOO!. Additionally, the user can search for documents based on file extension and document type.

According to another embodiment, a method is provided for web site rating. The web sites input by the users are numerically rated based on user operations and search activities. For example, every time a user adds a web site, the rating of the web site will increase. Every time the user selects a web site for keyword search, the rating also increases. When a site is removed from a category, the rating decreases. Commercial web sites can purchase points to increase the rating of their sites.

On the search results page, the results from one search engine are displayed to the user, along with links to the results from other search engines. In addition to these results, a set of suggested sites is also displayed. These suggested sites are determined based on the ratings of the web sites for the same category and/or for similar keywords. On the suggested sites list, the web sites are ordered based on their rating, from the highest to the lowest. Selecting a suggested site brings the user to a page displaying the search results obtained from that web site using the user-specified keyword. Additionally, the user has the option to add the selected site into his or her site list.

In keeping with various embodiments, a method is provided for customizing search engine queries. The method comprises receiving user input comprising one or more web sites, grouping the one or more web sites into one or more categories, receiving another user input for selecting at least one of the one or more web sites under at least one of the one or more categories, and conducting a user-initiated keyword search on the at least one selected web site associated with the one or more categories using at least one search engine.

In keeping with some alternative embodiments, a method is provided for rating web sites. The method includes receiving user input comprising one or more web sites, grouping the one or more web sites into one or more categories, and rating the one or more web sites in accordance with predetermined criteria associated with the one or more categories.

In keeping with still some alternative embodiments, a user interface is provided for the user to conduct web search customization. The user interface includes a web site input field for receiving one or more web sites from a user, a category field for grouping the one or more web sites into one or more categories and for selecting at least one of the one or more web sites for conducting a keyword search, and a keyword field for receiving a search keyword from the user for conducting the keyword search on the selected at least one web site using one or more search engines.

DETAILED DESCRIPTION OF THE INVENTION

Now turning to the drawings and referring toFIG. 1, a system100is depicted therein according to one embodiment of the invention for customizing user-initiated web search and for rating web sites stored in a computer readable medium of a digital database.

System100includes an application server114for providing a web-based application services that customize user-initiated web search on the Internet and conducting web site rating. Specifically, the application server114includes one or more computer readable media116that store computer code for executing instructions comprising web-based application services. The computer codes for implementing the web-based application is executed by the application server114that is accessed by a user terminal112via a web browser over a network108, such as the Internet or an intranet. As further shown inFIG. 1, a user terminal can also take form of a cell phone or smart phone118connected to the Internet108through a wireless connection120. Similarly, the smart phone118can access the application114through the Internet108and render a mobile web browser for providing the web search customization functionalities described herein.

The web-based application is coded in a browser-supported language (such as HTML, JavaScript, Java, etc.) and relies on a common web browser (such as Internet Explorer, Firefox, Chrome, etc.) to render the application on the user terminal112. In particular, when accessing the web-based application services provided by the application server114, the user110starts a web browser on the user terminal112and inputs a URL or an IP address associated with the web-based application. In response to the connection request, the application server114transmits program codes in the form of the browser-supported language to the user terminal112. Upon being executed by the web browser running on the user terminal112, the program codes instruct the web browser to render user interfaces to interact with the user110. According to the various embodiments, the user interfaces are designed to allow users to input search keywords, to input and identify web sites to customize web search, and to manage and group the web sites, and provide the users with search results and suggested web sites based on the web site ratings. The web search customization and web site rating are further discussed below.

The application server114further includes a database116for storing user-input web sites. The database116includes a plurality of tables for storing the web sites. Specifically, as shown inFIG. 2C, one of these tables is a main sites table250for storing the web sites input by all of the users of the system100. For each user, the database also includes a favorite sites table for storing the sites that are indicated by the user or identified by the system as his/her favorite sites for purposes of conducting various searches thereon. For example, as shown inFIG. 2D, the database116includes a favorite site table260for user “Joe” and a favorite site table265for another user “Mike.” According to an alternative embodiment, a plurality of users may share one favorite site table. For example, the favorite sites of users “Joe” and “Mike” are combined into a single favorite site table.

As shown inFIG. 2E, the database116also includes other tables, each associated with a group or category. According to one embodiment, these groups or categories are specified and input by users. For example, when a user creates a category or a group called “Guitar” and saves all the user's favorite guitar sites under that category, the server114then stores the user's guitar sites into a table270associated with the “Guitar” category and updates the ratings of the web sites that are input by the user. In one embodiment, these categories and sites are only associated with that particular user and are not available to other users of the system. Alternatively, when a user creates a category or a group (e.g., “Guitar” group) and saves all the user's favorite guitar sites under that category, the server114then stores the user's guitar sites into a table containing categories and sites for an entire user population along with a field tying each category and site to the specific user responsible for supplying that input. Alternatively, these categories are generated by the application server114automatically when receiving the user input web sites. For example, when the application server114receives a user input including a web site “www.fenderforum.com,” it automatically generates a “Guitar” category for storing the web site.

As shown inFIGS. 2C and 2E, the main sites table250and the tables associated with the categories270include information, such as numerals under the “Rating” column indicating the rating of each web site saved therein. In particular, the “Rating” column in the main sites table250stores a global rating of each web site in the system, indicating the system-wide popularity of each web site. The “Rating” column in the table for each category, such as table270for the “Guitar” category, stores a category rating of each web site under that category, indicating the category-wide popularity of the web site.

The database116can take forms of SQL databases, OQL databases, proprietary databases, or other commercially available databases well known to one skilled in the art.

The application server114is designed to communicate with the search engines102,104, and106, such as GOOGLE, MICROSOFT BING, YAHOO!, etc. As further described below, the web application running on the application server114allows the user110to select one or more web sites for customizing the keyword search on the search engines102,104, and106.

FIG. 2depicts a process200, when executed by the web application, instructs the server114to receive, group and manage user-input web sites. The process200also instructs the server114to perform web site rating based on the user operations on the web sites. In keeping with the embodiment depicted inFIG. 2, the process200first instructs the server114to receive a user input web site (step202) and determine if that web site is already in a main sites table in the database116(step204). If the newly entered web site does not exist in the main sites table, the web site is added to the main sites table as a new entry (step206) and an initial global rating is set for the web site. If, on the other hand, the web site has been previously entered and currently exists in the main sites table, a point or points are added to the global rating of the web site (step208).

In step210, the process200further instructs the server114to determine if a user has selected a category for the web site. If the user does not identify a category for the web site, the web site is entered into the favorite sites table associated with the user, such as table260or265(step212). If, on the other hand, the user specifies a category for the newly entered web site, the web site is inserted into the table associated with the user-specified category (step214). The category rating of the web site is increased for the selected category (216). For example, a point or points are added to the numerical rating of the web site stored in the table associated with the selected category.

Alternatively, a user input web site is assigned to a category according to the knowledge of the web sites available to the public or the application server114. In another example, when the user inputs a web site “www.foodnetwork.com,” an analysis is conducted on the web site by searching its introduction page and automatically assigning the web site to the “Cooking” category based on the search result. In an alternative example, when the user inputs the web site “www.foodnetwork.com,” the favorite site table is searched to check whether this web site has already been input by other users, and the website is assigned to the category that the majority of users have assigned to the website.

FIG. 2Billustrates another process230, when executed by the web application, instructs the server114to remove a web site from a category. According toFIG. 2B, a user input is received for deleting a web site from a user-selected category (step232). The web site is removed from that category for that user (step234). Accordingly, the global rating and the category rating of the web site is decreased for that selected category (step236).

FIGS. 2C-2Eillustrate exemplary embodiments for each of the main site table (250), the favorite site table for user “Joe” (260), the favorite site table for user “Mike” (265), and a table for the category “Guitar” (270). Each table has a “web site” column for storing the web sites that the user inputs. As discussed above, the main sites table250shown inFIG. 2Cis a global table for storing all of the web sites input into the system100. The favorite site table for each user (260or265), as shown inFIG. 2D, stores the web site identified by the user as his/her favorite sites or by the system when the user does not specify a category for the web site. The table270for category “Guitar” shown inFIG. 2Eis used to store the web sites that are assigned to the “Guitar” category by all the users or the system. In addition, the main sites table250further includes a rating column for storing the global rating of each web site stored therein. Similarly, the “Guitar” table270also includes a rating column for storing the category rating of each web site under the “Guitar” category. One skilled in the art would understand that the system100has a plurality of users and a plurality of tables, each associated with different categories, such as a “Home” category table, a “Travel” category table, a “Music” category table, and the like.

As depicted inFIG. 2G, an alternative embodiment comprises one main site table282for storing the favorite sites of all users using the system100. This table282contains all of the users, the web sites that they have inputted and the web site's assigned categories indicated by a category field. If a web site does not have an assigned category, the category field is left blank. Each site and its category are then tied to a user field for the purposes of limiting the ability to view and edit these sites and categories to individual users who input the site and category, if desired.

This embodiment further includes a category table284and a keyword table286, which store the web sites, their ratings, their categories, and their ratings, respectively. Specifically, the category table284stores all of the categories inputted by the users and those sites that have been assigned to each of those categories. The rating field of table284stores the rating of each web site within its category. Similarly, the keyword table286stores all of the keywords that have been searched for by all the users and those web sites that have been selected by users for those keyword searches. The rating field of table286stores the rating of each web site for individual keywords.

In keeping with this embodiment, when a user first registers for the system100, the system selects a number of default sites and default categories for the user. These sites and categories are selected by the system according to certain criteria. For example, when a person (e.g., a web site's owner) has an interest in a web site, this person can purchase the “spot” in the default sites and categories for the web site. For example, the default categories for a user include “SHOPPING,” “SPORTS,” and “HEALTH” categories. The “SHOPPING” category includes by default “ebay.com” and “amazon.com,” the “SPORTS” category includes by default “ESPN.com,” the “HEALTH” category include by default “webMD.com,” etc. The user can then build upon this list or delete it completely if he wants.

FIG. 3shows one embodiment of the interface. As shown inFIG. 3, the interface300includes a number of fields, such as text boxes, menus, and buttons, for the user to interact with the process200. In particular, the interface300includes a group field302for a user to select a group or category to which the web sites are added. The interface300also includes a plurality of site fields304and note fields306for the user to inputting the web sites to be added to the database116and putting notes that help the user to identify the web sites in a later time. When the user clicks the add sites button308, the web sites and their associated notes entered into the site fields304and note fields306will be transmitted to the database116and added into the group (e.g., “Guitar” group) identified in the group field302. The web application on the application server114processes each of the web sites according to the process200depicted inFIG. 2A.

The interface300further includes a field309for displaying all of the web sites that are currently included in the group identified in group field302. The user can further select individual web sites listed in field309and delete or regroup them. For example, the user can select and highlight the site “thegearpage.net” in field309using a mouse and click the delete sites button310to delete the “thegearpage.net” site from the “Guitar” group. Alternatively, the user can click the “Group them!” button314to regroup the “thegearpage.net” site into another group identified in the draw-down menu312.

As discussed above, each time the user operates on the web sites through the interface300, the processes200or230will be triggered to add or delete a web site and to adjust the rating of the web site according to the user operations.

The interface300further includes an “Add/Update group” link303. When the user clicks the “Add/Update group” link303, another interface400shown inFIG. 4is rendered for the user to manage the groups under his/her account. As shown inFIG. 4, the interface400includes an add group field402for the user to input names of the groups to be added to his/her account. Once the user clicks the “Add new group” button404, those groups listed in the add group field402are added into the group list406. The user can also delete a group from the group list406by highlighting a group in the list406and clicking the “Delete group” button408. Furthermore, the user can also rename a group by highlighting a group in the list406and clicking the “Rename Group” button410. The interface400also includes a “Return to site selection” link412for returning to the interface300shown inFIG. 3.

Now turning toFIG. 5, a process500is provided, which allows a user to customize the keyword search on various search engines and for rating the web sites stored in the database116based on the user-initiated search.

In particular, the process500, when executed by the web application, instructs the server114to receive a keyword(s) input by the user (step502). The user input also includes one or more web sites or categories selected by a user through the user interface provided by the web application (step502). In step504, the process500instructs the server114to determine if a user selects a category for conducting the keyword search (504). If a category is selected, all the web sites under the category are selected (step506). In step508, the global rating and the category ratings of these selected web sites are increased. As shown inFIG. 6, when the “Guitar” category is selected, the ratings of all of the web sites under user's “Guitar” category are increased. Alternatively, if only one web site, such as “thegearpage.net,” is selected by the user, then only the ratings of the “thegearpage.net” site are increased. As described above, the change in the rating of a web site for a particular category is reflected in the table associated with the category. For example, when the rating of the “thegearpage.net” is increased, the corresponding rating field in table270is modified to reflect the change.

In step510, a search string is generated based on the user input information for each of the search engines102,104, and106. In particular, the search string includes a logical combination of the user input keywords and user-specified web sites. In addition, the search string is generated in a syntax provided by the specifications of the corresponding search engine. For example, assuming the user input keywords include “KEYWORD1AND KEYWORD2” and the user-specified web sites include WEBSITE1and WEBSITE2, the search string may take the form of “KEYWORD1AND KEYWORD1SITE:WEBSITE1SITE:WEBSITE2.” Alternatively, the search string may be in the form of KEYWORD1AND KEYWORD1(SITE:WEBSITE1OR SITE:WEBSITE2). After reading this specification, one skilled in the art will understand that the search string may take other forms that comply with the syntax of a particular search engine.

In step512, a keyword rating of each web site selected by the user is increased. The keyword rating of a web site for a particular keyword indicates how many times the web site has been selected for searching that keyword. Referring to the above example, each of the WEBSITE1and WEBSITE2has a keyword rating for KEYWORD1and a keyword rating for KEYWORD2. When the user selects WEBSITE1and WEBSITE2for conducting the keyword search, the keyword ratings of both web sites for the KEYWORD1and KEYWORD2are increased. In keeping with this keyword rating, the database116further includes a keyword table for each keyword for storing the web sites the users searched for the keyword and their keyword ratings.FIG. 2Fillustrates an exemplary keyword table280for KEYWORD1. The table280includes a web site column for storing all of the web sites that the users have searched for KEYWORD1and a rating column for storing the keyword ratings of the web sites.

In step514, the process500instructs the server114to determine if a search engine is specified by a user for conducting the keyword search. If the user specifies a search engine, such as search engine102, the proper query string is submitted to the search engine and obtains and displays the search results returned from the search engine (step518). If, on the other hand, the user does not specify a particular search engine, a default search engine or all of the available search engines are selected for conducting the keyword search (step516).

According to an alternative embodiment, a user is allowed to select more than one category or web site and use different search engines for different categories or web sites when conducting the keyword search. For example, the user can select a “Music” category and a “Guitar” category for the keyword search. The user is allowed to conduct the search on the all “Music” web sites using GOOGLE and on all “Guitar” web sites using MICROSOFT BING.

In keeping with this embodiment, if a user conducts a keyword search without specifying a site or category, the entire Internet is searched using the search engine(s). Those search results as described above are presented to the user.

According to an alternative embodiment, the keyword search involving a web site also increases the keyword ratings of that web site for other keywords similar to the one specified by the user. For example, if a user conducts a keyword search using keyword “1969 Mustang” and the web site “www.classicmusclecars.com,” in addition to increasing the keyword rating of the web site for keyword “1969 Mustang,” the system also increases the keyword ratings of the web site for keywords that are similar to “1969 Mustang,” such as “1970 Mustang,” “1969 Charger,” “1969 Corvette,” etc.

FIGS. 6 and 7depict one embodiment of a user interface for the user to customize keyword search according to the process500. Similarly to interfaces300and400, the interface600also includes a number of fields for the user to interact with the process500. In particular, interface600includes a search keyword field602for the user to input search keywords. Web site selection field604allows a user to select through a mouse or keyword one or more web sites listed in the field604. As shown inFIG. 6, the user can select the web sites by highlighting them individually. Alternatively, if the user selects a category, such as “Guitar,” all of the web sites under the user's “Guitar” category are automatically selected and highlighted. The interface600further includes a time frame field606and a file type field608that allow the user to limit the search results to certain time period and file type. For example, if the option “Past 24 hours” is selected, the interface600only displays search results posted within the past 24 hours. Alternatively, if the “mp3” file type is selected, the interface600only displays search results containing mp3 files. Multiple file types may be selected at the same time. For example, a user can select both “mp3” and “wma” formats for a music search.

The interface600further includes a reset button612for the user to clear the inputs and selections in fields602,604,606, and608.

After inputting the keywords and making necessary selections in field602,604,606, and608, the user can click the search button610to start the process500for keyword search and web site rating. As shown inFIG. 7, in response to the user-initiated web search, the interface600displays the search results obtained according to the process500in result field718.

According to the embodiment depicted inFIG. 7, the interface600provides a number of fields for the user to further customize the search results. For example, the interface600includes a field704for the user to select a particular search engine for conducting the keyword search. As shown inFIG. 7, when the “Results from Google” option is selected, the result field718only displays the search results obtained from the GOOGLE search engine. Alternatively, if the “Results from Bing” option is selected, the result field718will display the results obtained from the BING search engine. Although not shown, options for displaying results from other search engines can also be included in the field704of the interface600.

Alternatively, the interface600includes a group of radio buttons (not shown) for selecting which search engine(s) to perform the web search. For example, each of the radio buttons is used to indicate a search engine such as GOOGLE, BING, YAHOO!, etc. The user can choose one or more of these search engines for the web search by choosing the radio buttons representing them. The result page718then shows the search results obtained from the search engine(s) selected by the user.

The interface600further includes a field716for displaying search results of a particular type. As shown inFIG. 7, the field716includes an “Images” and a “Video” links. When the user clicks one of these links, the research results of the image type or video type are displayed to the user.

The interface600further includes a recommended site field712for displaying to the user a number of web sites recommended by the system based on web site rating. As shown inFIG. 7, the recommended site field712includes a list of recommended sites (list713) for the category that the user has selected in process500and a list of recommend sites (list714) for the keywords that the user has searched for. For example, inFIG. 7, the user selects the “Guitar” category for conducting the keyword search. Accordingly, the list713shows a number of web sites from the table270associated with the “Guitar” category. The web sites are listed in their category ratings' descending order for the “Guitar” category. The list714shows a number of web sites from the table280associated with the keyword that the user has searched for. Similarly, the web sites are listed in their keyword ratings' descending order for that keyword. The web sites' ratings are updated as described above with respect to processes200,230, and500.

In an alternative embodiment, the interface600also includes a list of recommended web sites in accordance with the global rating. For example, after the user conducts a web search, all of the web sites within the database116are ranked according to their global ratings. The interface600then displays a ranked list of the web sites in the global rating's descending order, showing the most popular web sites on the top of the list followed by the next most popular web site.

With respect to the web site rating, the number of points added to or taken from each web site's rating is determined by the design of the system. For example, when a web site is added into the system, the global rating of the web site is increased by one (1) point. When the user adds the web site to a certain category, the web site's rating for that category is increased by one (1) point. When the user removes a web site from a category, the web site's rating for that category is decreased by one (1) point. When the user conducts a keyword search by selecting a web site from a category, the web site's rating for the category and the rating for the keyword are each increased by one (1) point. One skilled in the art will recognize that the users' operations can also increase or decrease a web site's rating by more than one (1) point.

As discussed above, the rating of each web site stored in the database116is a measure of the popularity of the web site. For example, the global rating of the web site reflects a system-wide popularity of the web site among the user population including all the users of the system100. The category rating of the web site reflects the popularity of the web site for the given category. The more users add the web site to the same category or the more users conduct keyword search on the web site for the category, the higher the rating of the web site for the category. Similarly, the keyword rating reflects the popularity of the web site for the given keyword. The more users search the keyword on the web site, the higher the keyword rating of the web site for that keyword.

According to another embodiment, the web site rating system described herein can be used to promote commercial web sites and to generate revenues for the operator of the system100. In particular, a customer can purchase from the system operator a number of points to be added to the rating of a particular web site, so that the web site will appear toward the top in lists713and714in the interface600. For example, inFIG. 7, the customer who owns the “thegearpage.net” web site can purchase a number of points from the system operator and add those points to the rating of the “thegearpage.net” web site for the “Guitar” category. The points added to the rating of the web site will move the “thegearpage.net” web site to or close to the top of list713for the “Guitar” category. As a result, other users searching within the “Guitar” category will more readily notice the web site and will be more inclined to select the “thegearpage.net” web site to customize their keyword search. Alternatively, a person who has an interest in the web site can also purchase points for the web site to be added to its rating.

Similarly, a web site's owner can also purchase points from the system operator to be added to the web site's rating for certain keywords. The web site's owner can use the keyword rating to promote the services and products provided by the web site. For example, inFIG. 7, the owner of the “thegearpage.net” web site can purchase points and add the points to the web site's rating for the keyword “Gibson Les Paul Deluxe,” so that the web site will appear toward the top of list714every time a user searches for the guitar product named “Gibson Les Paul Deluxe.” As a result, the web site will be more noticeable to the user who will be more inclined to search for and purchase the product from the “thegearpage.net” web site.

According to a further embodiment as shown inFIG. 7, when the user clicks the “+” sign arranged after each web site in the list713or714, the selected web site is automatically added to the current category (i.e., the “Guitar” category) or any category selected by the user. When the user clicks the “search” sign after each web site in the list713or714, a keyword search is performed on that selected web site.

As discussed above, the processes200,230, and300may be implemented in the form of web applications running on the application server114. When a user connects to the application server114through the user terminal112, user interfaces300,400, and600are rendered on the user terminal112for the user to interact with the processes200,230, and300.

According to some other embodiment, a user of the system100can create a list of his favorite web sites and group them under various categories as needed. The user can then search any of those web sites directly from the search interface such as interface600. Other users of the system cannot see or manipulate his site lists or his categories, nor can he see sites others users' site lists or categories.

The system100can also rate these web sites based on how many times the global user population searches them for specific keywords and/or how many times they are added by the user population to their own lists and categories.

Based on these ratings, the system100presents a list of sites (e.g., top 5 or 10 sites) to any user who searches for the same or similar keywords or categories. In addition, advertisers can buy rating points to push their sites up closer to the top for specific keywords and categories.

In an exemplary embodiment, 1000 different users created a category called “Guitar” and all added the web site “www.guitar.com” to the category. If a user “Joe” conducts a web search in his own “Guitar” category for keyword “les paul,” the system100can determine that user “Joe” searches his “Guitar” category and then presents the web site “www.guitar.com” as a recommended site, if the web site “www.guitar.com” has a category rating for the “Guitar” category that is within the top 5 or 10 sites within the “Guitar” category.

Additionally, the system100can also determine that user “Joe” searches for the keyword “les paul” and determine what web sites other users have included in their web searches for the same keyword “les paul.” If a lot of other users have searched “www.guitar.com” so that its keyword rating for keyword “les paul” is within the top 5 or 10 sites for the keyword, then the site would be listed as a recommended site.

Furthermore, if “www.guitar.com” web site's owners purchase points for the “les paul” keyword or the “Guitar” category, the system100then adds those points to the corresponding rating so that it will be shown to a user searching for the “les paul” keyword or the “Guitar” category.

In keeping with another embodiment, the Interfaces300,400, and600are implemented as a browser plug-in rendered as a toolbar on a web browser such as MICROSOFT INTERNET EXPLORER, FIREFOX, etc. One skilled in the art will readily understand how to implement this interface after reading the description.

According to another embodiment, a user of the system100can send or transfer his/her categories and/or web sites to another person who may or may not be a user of the system100. For example, the user “Joe” may select the “Guitar” category including all of the web sites therein. The interface600then provides the user “Joe” with a list of the users of the system so that “Joe” can select another user, such as “Mike,” from the list to send the “Guitar” category. The system then generates a message and presents the message to the user “Mike” as soon as “Mike” logs onto the system, indicating that he has received a category sent by “Joe.” The user “Mike” can choose to accept the category or reject it. If the user “Mike” chooses to accept the category, the system100then makes a copy of the “Guitar” category from “Joe's” account and all of the web site therein and transfers the copy to “Mike's” account. Specifically, the system100generates more entries in the main sites table282for storing the “Guitar” category including the web sites that are newly added. At the same time, the system100also updates the category table284and keyword table286accordingly to reflect the newly added “Guitar” category.

Alternatively, the system may allow a user to send the selected category to a person via email. For example, after selecting the “Guitar” category, the user “Joe” can input an email address in an email field provided on interface600and click a “send” button to instruct the system100to generate and send an email message including the selected “Guitar” category. Still alternatively, the selected category may also be sent via a text message to a cell phone or smart phone device. The interface600may provide the user with a phone number field for specifying the phone device to send the selected category.

In an alternative embodiment, the system100also allows a user to select and transfer one or more categories and web sites to another person, who may or may not be a user of the system.

In still an alternative embodiment, the system100allows a user to make some or all of their sites and categories public, that is, viewable by other users.

Specifically, the system100provides a user with an interface, which allows the user to add another user's profile into a “Favorite User List.” For example, if User 1 adds User 2 to his/her “Favorite User List,” the interface provided by the system100allows User 1 to click on User 2's profile to view User 2's public sites and categories list and to search them in the same manner he/she searches on User 1's own sites and categories. Alternatively, the interface provided by the system100allows User 1 to import User 2's public sites and categories into his own sites and categories list, thereby including these imported sites and categories into User 1's account.