Author image Sergei A. Nemarov

NAME

WWW::Promotion - WWW::Promotion is a Perl module that allow to submit your site to lot of search engines.

DESCRIPTION

WWW::Promotion is used to submit your site to lot of search engines. It is possible to download SPT5 interface for WWW::Promotion at http://www.tapor.com/promotion/. Also on http://www.tapor.com/promotion/ your may find huge database of search engines. WWW::Promotion is world wide standart for promoting websites.

IMPORTED FUNCTIONS/VARS

@internal_promotion_categories

 Description:
 
 Array of internal categories, which can you use to promote your website. 
 If you will use other category WWW::Promotion will return an error.

%out=&WWW_Promotion(\%Promotion,\%Setup);

 Description:
 
 This function used to promote your website.

 Usage:

 #---------------------------------------------------------------------
 # Required fields. If this fields not passed, module will not continue.
 #---------------------------------------------------------------------
 $Promotion{'title'}       = "Super Page";
 $Promotion{'url'}         = "http://www.url.com";
 $Promotion{'description'} = "Blah-Blah this page is";
 
 # In this feild you may use only internal categories of WWW::Promotion.
 # See &GetInternalPromotionCategories() procedure.
 $Promotion{'category'}    = "Other";

 #---------------------------------------------------------------------
 # Not required fields. If this fields not passed, defaults will be used.
 #---------------------------------------------------------------------
 # Default: $Promotion{'description'} with words separated by ", "
 $Promotion{'keywords'}    = "Blah-Blah, this, page, is";

 # Default: $Promotion{'description'} 
 $Promotion{'comments'}    = "Blah-Blah this page is";

 # Default "Mr."
 $Promotion{'nametitle'}   = "Mr.";

 # Default: "John"
 $Promotion{'firstname'}   = "John";

 # Default: "Doe"
 $Promotion{'lastname'}    = "Doe";

 # Default: "W."
 $Promotion{'middlename'}  = "W.";

 # Default: "$Promotion{'firstname'} $Promotion{'lastname'}"
 $Promotion{'contactname'} = "John Doe";

 # Default: Random generated email address with domain "@mail.com"
 $Promotion{'email'}       = "blah-blah\@mail.com";

 # Default: "123 Baltimor Street 5"
 $Promotion{'address'}     = "123 Baltimor Street 5";

 # Default: "Boston"
 $Promotion{'city'}        = "Boston";

 # Default: "MA"
 $Promotion{'state'}       = "MA";

 # Default: "United States of America"
 $Promotion{'country'}     = "United States of America";

 # Default: "US"
 $Promotion{'countrycode'} = "US";

 # Default: "46723"
 $Promotion{'zip'}         = "46723";

 # Default: "At Home"
 $Promotion{'company'}     = "At Home";

 # Default: Random generated phone.
 $Promotion{'phone'}       = "1-234-567-8911";

 # Default: Random generated fax.
 $Promotion{'fax'}         = "1-234-567-8911";

 # Default: Random generated string with six chars.
 $Promotion{'password'}    = "password";

 # Default: "English"
 $Promotion{'language'}    = "English";

 # WWW::Promotion will use this file to print what it doing.
 # Default: "/dev/null"
 $Setup{'logfile'} = "/dev/null";

 # Whitch proxy server module must use to connect to servers.
 # If not spicified that SP5 will connect direct.
 $Setup{'proxy'}  = "blah-blah.com:8080";

 # FASTMODE PROMOTION [tm]
 # Does WWW::Promotion use fastmode ?
 # 1  - yes
 # 0  - no
 # p.s: FASTMODE PROMOTION [tm] may be done only via proxy server.
 #      If executed without $Setup{'proxy'} module will exit with error.
 # Default: 0
 $Setup{'fastmode'} = 1;

 # Timeout to connect to server.
 # Default: 10
 $Setup{'timeoutconnect'} = 10;

 # Timeout to wait answer from server.
 # Default: 60
 $Setup{'timeoutrequest'} = 60;

 # You may provide three directories that contains search engines.
 # See "Search engine database" part of this document for more info about.
 $Setup{'enginesdir1'} = "./ENGINES1";
 $Setup{'enginesdir2'} = "./ENGINES2";
 $Setup{'enginesdir3'} = "./ENGINES3";

 # Output handler. 
 # See "Output handler" part of this document for more info about.
 $Setup{'outputhandler'}  = \&OutputHandler;

 # Final action
 # Execute Promotion
 %out=WWW_Promotion(\%Promotion,\%Setup);
 
 Output:

 $out{'error'}
 TRUE if error, then $out{'errortxt'} contains error description. 

Search Engine Database (SEDB)

 SEDB contains an information about search engines. WWW::Promotion 
 will use this information to submit your URL.

 SEDB it is a directory which contains files. Each file contains
 an information about one search engine. Files has various names
 and may reside in different subdirectories inside SEDB. This files 
 has the following format:

 POST http://www.rex-search.com/add/add.cgi HTTP/1.0
 Content: thispage=3&catnum=&url=<***URL***>&navigate=&yourname=<***CONTACTNAME***>&email=<***EMAIL***>&name=<***TITLE***>&keys=<***KEYWORDS***>&desc=<***DESCRIPTION***>&confirm=&urlfail=&refer=http%3A%2F%2Fwww.rex-search.com%2Fadd%2F&cat=<***CATEGORY***>&catkeep=Submit+this+Site

 Or

 GET http://www.ditto.com/urlrequest/AddResponse.asp?txtUserName=<***CONTACTNAME***>&txtURL=<***URL***>&txtEmail=<***EMAIL***>&submit1=Submit&xfrm=True&cs=AddRemoveURL&ac=AddRemoveURL&Action=Add HTTP/1.0

 The first line describes which method to use for submit. Also it
 contains the address where to post data. "HTTP/1.0" in this line 
 unessential, WWW::Promotion will ignore it. This line is required, 
 without it the module will log a bad file and process the next file. 
 For method POST it is required second line (Content:), which contains 
 search engine cantent data. In method GET content is placed in the 
 first line through "?". In a case if the address contains a relative 
 address it is required third line (Host:), which describes  which 
 address of server to use for connect.

 Also the file may contain unessential lines:

 Referer: http://www.ditto.com/urlrequest/addurl.asp
 Inform the module to use this referer. Advanced technology, the 
 engines "think" you are submitting from their form. 

 Host: www.ditto.com
 Inform the module which server to use for connect. It is required 
 only when the first line contains a relative address on a server 
 (for example " GET / HTTP/1.0 ").

 Country: United States
 Country of the search engine. WWW::Promotion uses this info for 
 OutputHandler.

 SEname: Magellan
 Name of the search engine. WWW::Promotion uses this info for 
 OutputHandler.

 SEurl: http://www.url.com
 URL of the search engine. WWW::Promotion uses this info for  
 OutputHandler.

 Server: Netscape-Enterprise/2.01
 The software which is used in the search engine.
 WWW::Promotion uses this info for OutputHandler.

 Category: SEcat-Internet <***> Internet
 Category: SEcat-Business <***> Business
 Categories determined in the search engine. These lines may 
 be more than one. Format:

 Category: (a category of the search engine)<***>(an internal category of the module).
 
 The module will search for conformity of an internal category 
 with a category of a search engine. If you for example have 
 defined an internal category "Other", the module will search for 
 line "Category: SEcat <***> Other" and will use the category 
 "SEcat" for submit. In a case if it does not find the 
 appropriate category it will use first of determined.
 (Category:) it is required only when a content contains a key 
 <***CATEGORY***>. See below.

 The content contains keys which in process of submiting of your 
 URL will be replaced with the data, which you have entered. 
 The following keys can be used in the content:


 <***TITLE***>              -> Ttile of the page (Ex: Super Page)
 <***URL***>                -> URL of the page (Ex: http://www.url.com)
 <***URL-WITHOUT-HTTP***>   -> URL without http:// (Ex: www.url.com)
 <***DESCRIPTION***>        -> Description (Ex: Blah-Blah this page is)
 <***KEYWORDS***>           -> Keywords (Ex: test, test2, test3) 
 <***ONERANDOMKEYWORD***>   -> One random keyword. Keywords are 
                               separeted by points. (Ex: test2)
 
 <***CONTACTNAME***>        -> Contact name (Ex: John Doe)
 <***NAMETITLE***>          -> Nametitle (Ex: Mr.)
 <***FIRSTNAME***>          -> Your first name (Ex: John)
 <***MIDDLENAME***>         -> Your middle name (Ex: W.)
 <***LASTNAME***>           -> Your last name (Ex: Doe)
 <***EMAIL***>              -> E-MAIL address (Ex: blah@blah.com)
   
 <***ADDRESS***>            -> Street address (Ex: 464 Ave Street Gold)
 <***CITY***>               -> City (Ex: Boston)
 <***STATE***>              -> State (Ex: MA)
 <***COUNTRY***>            -> Country (Ex: "United States of America")
 <***COUNTRYCODE***>        -> Country code (Ex: US)
 <***ZIP***>                -> ZIP code (Ex: 68738)
 
 <***COMPANY***>            -> Company name (Ex: IBM, Inc)
 <***PHONE***>              -> Phone (Ex: 1-234-233-2132) 
 <***FAX***>                -> Fax (Ex: 1-234-233-2132) 
 
 <***RANDOM:50-60:***>      -> Random number between 50 and 60.
 <***PASSWORD***>           -> Password (Ex: aaazzz)

 <***CATEGORY***>           -> Internal category (Ex: Other)
 <***COMMENTS***>           -> Comments (Ex: This page is)
 <***LANGUAGE***>           -> Language (Ex: English)


 If you want to create your own file which describe a search engine 
 use your liked text editor or PERL script NEWSE.cgi delivered with 
 SPT5 (http://www.tapor.com/promotion/).
 

&OutputHandler() Procedure

 It's procedure which will be called by the module for a conclusion 
 of the data about submit process. Procedure OutputHandler has the 
 following format:

 sub OutputHandler {
    local (%data) = _;
 }

 Hash %data will contains data from WWW::Promotion module. The module 
 sends 3 types of the data:

 1. $data{'action'} eq "sendheader"

 WWW:: Promotion tell to you to send header of HTML page to the client 
 browser. It's sent once by the module.

 2 $data{'action'} eq "sedata"

 WWW::Promotion tell you to send the information on the search engine, 
 which was processed.

 3 $data{'action'} eq "sendfooter"

 WWW::Promotion tell you to send footer of HTML page to the client 
 browser. It is sent once by the module.

 When $data{'action'} it is equal "sedata" the hash %data contains 
 also other keys:

 $data{'SEname'}
 The name of the search engine. Defined if a file of search engine 
 contains a line (SEname:).

 $data{'SEurl'}
 The URL of the search engine. Defined if a file of search engine 
 contains a line (SEurl:).

 $data{'se'}
 Contains filename of file in a SE database. It is always defined.

 $data {'Country'}
 The country of the search engine. Defined if a file of search engine 
 contains a line (Country:).

 $data{'error'}
 TRUE if there was an error at submit process, $data {'errortxt'} 
 contains the text of the error.

 $data {'Server'}
 The software which is used in the search engine.
 Defined if a file of search engine contains a line (Server:).

FASTMODE [tm]

 FASTMODE[tm] is method to submit your URL. In the FASTMODE submission is 
 blazing fast. When $Setup{'fastmode'} flag is passed to WWW_Promotion
 procedure WWW::Promotion looks for $Setup{'proxy'} and if $Setup{'proxy'}
 not defined it returns error.
 
 Why FASTMODE is fast ?
 
 Because WWW::Promotion will not wait answer from server. 
 It will continue to the next search engine without waiting answer
 from previous one. This is may be done only via proxy server.

COPYRIGHT

Copyright (c) 1999-2001 TAPOR, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

http://www.tapor.com/promotion/