WebTester is a handy site management tool, the primary purpose of
which is to check your site for broken links.  It will report both
on missing files and on those which exist but aren’t referenced.  It
can also check the validity of your external links.  (That way, if
someone moves or removes a page to which you’ve linked, you’ll know
that the link needs to be updated!)  The script is fairly robust;
in addition to following “straight” links, it will also parse and
follow links in image maps, in text embedded via SSIs, and (optionally)
in CGI-generated pages.  It will let you know the effective “download”
file size of your pages, and will provide estimates of how long they’ll
take to download at various connection speeds.  Finally, it can create
for you a simple “site map” showing, in outline format, all of your
site’s pages.  (The site map can be included via SSIs on other pages.)


The files that you need are as follows:

webtester.pl:  This is the main program file.  You don’t actually need
to do anything to it; in fact, you don’t even have to execute it.

config.pl:  This is the configuration file.  Most everything you need to
change or modify is contained here.  This is also the file that you
will execute.  (Things are set up this way so that you can effectively
maintain multiple versions of the script, for example if you want to
run separate site checks for different sites, just by keeping separate
config files for each.)

As noted above, the WebTester configuration file, and not the WebTester
program itself, should be executed.  (And please note that it should
be executed from the telnet command prompt rather than your browser;
WebLog is *not* a CGI script, and most likely won’t run correctly if you
try to access it from your browser.)  The configuration file should, of
course, be set executable.  Make sure that the first line of the script
matches the location of your system’s Perl interpreter.  (Note that
WebTester version 1.10, unlike previous versions, will *NOT* run under
Perl 4; you need to be using Perl 5!)  As well, the following variables
need to be defined:

$InFile:  The absolute path of the file to be used as the “key” file.
This will usually be the main “index.html” file for the site you’re

$OutFile:  The absolute path of the “site check” file to be created by

$MapFile:  The absolute path of the “site map” file to be created.  If
this variable is left undefined, no map file will be created.

$LocalPath and $LocalURL:  The absolute path and URL (both minus
trailing slashes) of the base directory of the site to be checked.

$CGIPath and $CGIURL:  The absolute path and URL (both minus trailing
slashes) of the site’s CGI-BIN directory.

$ImageMapPointer and $ImageMapPath:  These variables are used to help
the script correctly locate image map files.  If you don’t use image
maps, or reference them via “normal” URLs, you won’t need to worry
about assigning them.  However, if you use image maps which are
referenced via the old method of tacking the map’s address to the
end of the imagmap program’s address, you will need to assign them.
(For example, if your image map is referenced via the URL
“/cgi-bin/imagemap/foo/mapdirectory/mapfile”, but the real path to
find it is “/usr/foo/mapdirectory/mapfile”, you’d want to set
$ImageMapPointer = “/cgi-bin/imagemap/foo” and $ImageMapPath =
“/usr/foo”.  This tells WebTester, which unfortunately isn’t
inherently smart enough to decipher all the possible variations in
image map addressing, where to find the map file.)

$SiteName:  The name of the site.