Search Engine Definitions
Starting with FlashStats version 1.5, the Search Phrases Report uses a list of search engines which you can easily edit to include your own list of search engines.
The search engines to be included in the Search Phrases Report are defined in the FlashStats configuration file (FlashStats.ini for Windows or Mac, flashstats.conf for Unix). If no search engines are defined in the configuration file, FlashStats will use a standard set of search engines (defined below), and the Search Phrases Report will include a note that no custom search engines have been defined.
If you include even one search engine definition in the FlashStats configuration file then FlashStats will only use the search engines defined in the configuration file. In other words, search engines defined in the configuration file are not added to the list of standard search engines, but replaces it.
How to Define a Search Engine
To define a search engine, just add a line to the configuration file in the necessary format. FlashStats will test each hit against the list of search engines in the order that the engines are defined in the configuration file. The Search Phrases Report will also list its results by engine in the same order.
Each search engine definition must fit entirely on one list. (Be sure to note if your text editor is wrapping lines.) A search engine definition consists of several key=value pairs, separated by semicolons.
Each search engine definition begins with the keyword search=Name. Name is the name of the search engine; this name will be displayed in the report. For example: search=Ask Jeeves.
Next comes the url=Address parameter. The Address value specifies the URL that the user will jump to if they click on the name of the search engine (defined by the search= parameter) in the report. For example: url=http://www.ask.com.
Finally, you need to specify pairs of domain=PartialHostName and vars=QueryStringParamName parameters. Each domain= parameter must be followed by a vars= parameter.
The domain=PartialHostName specifies part of the search engine's "host name" to be matched in order to determine if a hit came from that search engine. The "host name" is the part of the URL between the double slash ("//") and the next slash ("/"). For example: domain=ask.com. Note that the search engine may support letting the user use a host name with or without a leading "www.", or that the engine may always direct the search request to a different host name such as "search.domain.com". Therefore, you may or may not want to include a leading dot (".") as the first character in the domains= parameter. For example, if the search engine lets the user use a host name of either domain.com or www.domain.com then you shouldn't use a leading dot since it wouldn't match hits coming from domain.com. On the other hand, if you know that searches are always sent to search.domain.com then you should specify domain=search.domain.com. This would be better than specifying domain=domain.com since it would avoid false matches from host names such as otherdomain.com.
The vars=QueryStringParamName parameter specifies the name of the parameter in the search engine's query string. You can determine what this value needs to be by going to your search engine's home page, typing in a simple phrase such as "test phrase" to search for, and hitting the Search button. On the page that follows in your browser, take a look the page's URL and see what parameter name is used to pass the search phrase. In our example, you would search for the parameter whose value was equal to "test+phrase" (HTML forms replace spaces with plus signs when submitting data). This parameter name should be the value you use in the vars= parameter. For example: vars=ask.
Some search engines use different parameter names for the search phrase depending upon where you start the search from. In this case you can specify multiple parameter names in the vars= parameter by separating them with a comma. For example: vars=query,search,s. (Note that this will instruct FlashStats to match the first parameter name possible for requests coming from the matching host name.)
If the search engine lives at several different URLs then you can append to the definition additional domains= and vars= pairs. For example, see the Ask Jeeves definition below. The definition for Ask Jeeves takes into account the fact that you can access Ask Jeeves via any of three different URLs (aj.com, ask.com, askjeeves.com).
Standard Search Engine Definitions
The following is the list of standard search engine definitions used by FlashStats if no search engines are defined in the FlashStats configuration file. You can cut and paste these definitions into your FlashStats configuration if desired.
search=Open Directory Project;url=http://www.dmoz.org/;domain=dmoz.org;vars=search;domain=newhoo.com;vars=search
Current Search Engine Definitions
This section of the page will list the current search engine definitions. At this point no new search engines have been defined, so the above list of standard definitions remains definitive.
If you would like to suggest a search engine to add, or to notify us of changes to the standard search engines, please send email to email@example.com.