Kaye and Geoff's web page documentation 

Web utilities

If more than one author sets up a system on the web to do something, such as display photos, run a journal, etc., especially if it requires any sort of programming skill over and above the ability to write HTML, then you can be fairly sure that someone will soon provide a way of doing it so that everyone can have a go. Here are a few examples:

Galerie: Web based photo gallery - Free but only runs on Mac OSX

pbase: Web based photo gallery - paid but limited free trial accounts can be created

Lycos netgear: A variety of web add-ons are available from Lycos including calendar-based events control, feedback form, guestbook, a news headline feed, randomly selected text, and more. There are both free (with ads) and paid (without ads) versions all of which require no knowledge of HTML

Blogeasy: Free web log system - there are enormous numbers of these - try searching with the key words 'blog' and 'free'

Myfreebulletinboard: Web based bulletin board, entirely hosted on their server. It is free so supported by ads. There are lots of bulletin board systems available, some free and some paid

Answers.com: An encyclopedia on your pages at the press of a button

Babelfish: Provide translations of your page into many languages

Accommodation booking calendar: Allows owners of businesses offering accommodation to show when it is available. There is a simple free version or more complex versions which are provided for a modest fee; no knowledge of HTML required.

Paypal online payment processing: A complete system of accepting payments from web pages, which gives purchasers some confidence that their transaction will be safe. Credit card processing is handled by Paypal using a secure server and the money is placed into an online account set up on behalf of the web page owner. Paypal charge a few percent of each sale for their service. You can offer a single item or a whole catalogue of items and the required HTML and a choice of graphics are supplied.

Maps: Put a map on your site with your location marked. Allow zooming and panning.


Some web authors like to use counters on their pages to display how many hits the pages receive. Counters are a mixed blessing - they can suggest popularity, or tell the world that your page does not receive many visitors. Simple counters typically work by determining how many times a hidden graphic is requested for "display", and so can only apply to the page they are placed in, generally the main page. They therefore miss potentially significant numbers of hits on lower-level pages which people may find directly using search engines or which they may have previously bookmarked.

Note that counters can be implemented with a start value greater than zero, so most people view the displayed value with considerable scepticism. Also, all hits are recorded, including those by search engines and by programs looking for email addresses to harvest or for vulnerable files which might allow the site to be "hacked". Our (admittedly not highly popular) site gets more hits from these latter sources than from real people, and this is probably the case for many "limited interest" sites. For these reasons counters have largely fallen from favour in recent years.

Web servers keep a record of every page they serve. This file is normally called the server log and there is also a separate error log which records all pages which were requested but could not be provided (and other server-related errors). You might be able to get a cooperative web site administrator to regularly email you the (or more likely maybe just your own, which can be easily extracted) records each day from these files - they are more useful, record all hits on all pages, and do not intrude onto your web site. Many ISPs offer quite extensive statistics of page access based on the server log (usually using freely available software which typically produces the results as a combination of plots and tables), although you may have to have your own domain name to get this summary information. Ask you ISP or system administrator.

If you do want a counter and your site does not provide one, you can find sites on the web which will offer you a free page counter:

Interfacing the web to databases and other applications

These programs must be installed and run on the server, so you need to talk to your ISP to find out what is available. Here are some references to products and further information:

PHP/MySQL Tutorial
Webmonkey: php
Builder.com - Beyond the code
Caspio Inc. - Interfacing to databases
baseportal - web database - easy, powerful and for free!
FileMaker Pro - Database with capabilities for web integration
Database - WWW integration software
Planet - Visual basic, ASP, java, javscript, c, vbscript, database, SQL Server, Perl, Delphi, PHP: Free source code
WDVL: Introduction to Databases for the Web
Database Resources
Web Whore - Web database integration
CodeCharge - Code generation tools for ASP, JSP, PHP, Perl, ColdFusion and ASP.NET programmers
DesignerWiz - pre-written code for various uses
Web Resources
SurveyMonkey - Free online survey software and questionnaire tool

A number of major software suppliers provide back-end software into their database systems. In addition, there are generalised database interfaces that require you to build the back-end. Also see the comments below on HTML pre-processors. This is a selection of what is out there:

FileMaker Pro - Database with capabilities for web integration
Oracle - corporate grade database therefore expensive
CodeCharge Studio 2.3
Alpha 5
Database tutorials for web developers

Implementing searching on your web pages

Providing users with the ability to search for keywords within your web site gives them a powerful method of navigating around your pages. There are different methods of providing custom searches of your pages, but what they have in common is that some code has to exist on the web server to carry out the search function and return the result as a web page. You can write this code yourself, you may be able to get it from someone else, or you could use a system on someone else's server. The most likely source (and generally the easiest to implement) is from your ISP or whoever is in charge of your web server. Talk to your ISP and ask what is available on their system.

If nothing suitable currently exists on your own server, you can find code to do searches on the net. Having obtained the code, you will have to organise for it to be placed in your CGI area (on Unix systems usually called cgi-bin). You will probably have to talk to your ISP or internet administrator to find out how and if this can be done. There are security implications to creating CGIs so some ISPs do not allow it (see our CGI documentation for more details).

Glimpse and Swish are two programs which you can download and install to provide searching capability for your pages. Glimpse is a full text search that indexes all documents in a specified area and allows search by keywords. The information returned has links to the files in which the words were found and detailed links to the lines containing the search terms. Glimpse has a fairly complex user interface, allowing spelling errors, case matching, partial words, etc. It is available from The Glimpse Working Group, University of Arizona.

Swish is also a full text search, allowing specific areas of the web to be targetted, but it returns only a measurement of the effectiveness of its search and the title of each page in which the search terms were located; its user interface is quite simple. To get information and code go to SWISH-E.

A relatively easy way to get searching services is to have the entire process set up for you on a remote server. It works like this: you provide your URL and the service looks at all your pages and builds an index to the content of each page (just like Google or any other general search engine does). You are then provided with simple HTML to add to your pages which provides a link to the service's search engine. When anyone takes the link, the search string is used to look up the index, and links to matching pages are returned (again just like a general search engine). With this approach you need to ensure that the frequency of indexing matches with the extent to which you update and reorganise your site. This service may be free but more likely will involve an on-going charge - check out some of the offerings below.

Alternatively, you could write your own. For those without a programming background this is the most difficult way to go. If you want to try but do not know how to go about it, start with our CGI page. Since you have the option of rich input and you are writing the CGI script to handle it, your search can have whatever characteristics you require. The script may be written in Unix shell, Perl, Applescript, or a programming language such as C or Visual Basic, for example - any programming interface that is available to you on your server. Your searching program will have to format the results as an HTML document which the server passes back to the browser to be displayed.

Getting your pages listed on search engines

Use meta tags in your HTML to provide keywords and a description to be used by search engines:

<meta name="description" content="All about beetles: The most numerous insect group"> <meta name="keywords" content="beetle, ecology, Coleoptera, information, insect,arthropod">

The keywords are are designed to be used to locate matches with the search criteria given to a search engine, so you should be quite thorough in putting all matching words and phrases into the keywords. In practice it seems that in recent times many search engines have given up on using the keywords in meta tags to index web pages, since web page creators have tried to distort the process by using inappropriate keywords. Most search engines use the contents of the page when building their index, but they may not use all the page - some look at the first 200 words only - so you should put any important words, which you would like to be found by a search, at the first part of the page.

Some search engine sites have a form that you fill out to register your site with them. Many of the most used engines no longer allow registration, but have more sophisticated ways, which they keep secret, of finding pages to index for themselves. They have taken this approach because in the past people have used various techniques to try to make their pages more prominent (appear closer to the front) in the URL list returned by the search engine. As a result, any trick you can think of (for example multiple registration) probably will not work and may result in no listing at all - the best approach seems to be to make sure that your pages are linked to from other pages, and keep them updated - it is rumoured that pages which change more often are favoured.

If you want to be listed with a lot of search engines, there are places that will do it for you, for free, or for a fee. Ineedhits provides links to various search engine submission pages as does Search66. There are other similar services on the web, but be very careful that you will actually get the service offered if you decide to pay. You could consider:

Add Me!
Submit Plus
Free Search Engine Submitter

Some internet search engines use the description meta tag to provide the text that appears under the link when your page is found in a search. This is what people will use to judge whether or not they should follow that link to read the page. Make it succinct; if it is too long then the search engine is likely to arbitarily shorten it.

For more information try some of these links:

HTML pre-processors

One way to provide access to databases and many other dynamic features with HTML is to extend the language in various ways. Several companies have created products of this sort, implemented as pre-processors, which create the extra content "on the fly". The limitations of these systems are that they are proprietary and so are not always available with all web servers - you need to talk to your ISP or systems administrator to see what is available.

ColdFusion - From Macromedia
ColdFusion web ring - all you wanted to know about ColdFusion
Official ASP.NET site - Active Server Pages: Microsoft's offering
ASP Webring

A very widely used preprocessor is PHP. Unlike the examples above it is not proprietary, is free and open source. It should be used with some care since it is a favoured way for hackers to attempt to "take control" of a web site.

Server side includes

Server side includes are another, rather limited but simple and non-proprietry form of preprocessing. They are directives included in HTML code which tell to the server to replace the directive with the specified content. There are a few things to be aware of with SSIs:

  • this feature has to be enabled in the server's configuration information (most ISPs do this)
  • not all documented directives are supported by all servers
  • be aware of the security considerations with using the exec directive
  • the web server handles SSIs so you will not get the desired effect if you display your pages "locally"
  • the server has to be told which pages it should scan for SSIs (normally by giving your files an .shtm or .shtml extension)
An SSI to display the date looks like this:
<!--#echo var="DATE_LOCAL" -->
Note that the directive is inside an HTML comment block, so if it is not actioned by the server then it has no effect on the final page display. All directives begin with a # (hash) character; the directive in this example is "echo". Check out the links below to see what directives are available and how they can be used.

Server side includes - click on the "SSI" menu item
Server side includes - Apache tutorial
Server side includes

Site activity statistics

These programs aggregate the information from the web server log, usually presenting the data in a graphical format. They must be installed and run on the server, and have access to the logs, so you need to ask your ISP what is available on their system.

wwwstat - Distribution information
Free web server log analyzers and web statistics scripts - from thefreecountry.com
Webalizer - free and fast
WebSTAT - Realtime web statistics tracker and counter
MetaTraffic overview - Web traffic analysis software
OneStat.com - All sorts of web site statistics, counters and analysis
ClickTracks log file analyzer - Web analytics, PPC, SEO and ROI stats
Softerra ActiveStat - Web statistics software to track and analyse site visits
Clicky - Web statistics and analysis
Google analytics - taking over the world
Alexa - traffic reporting and other web tools
Website grader - how do you compare to millions of other web sites?


Perl is a programming language. While it is available on Macs and PCs, it is at its most useful under Unix, since it has access to the full power of the operating system. Perl is widely used, well supported and very powerful, but it is not the easiest language to come to grips with. We have used it for all of the CGI examples in this documentation. The best known reference books on Perl are Learning Perl (the llama book) and Programming Perl (the camel book) published by O'Rielly.


Python is another language often used for CGIs: