Web Design

OWASP Guide to Building Secure Web Applications

Search Engine Strategy

Search engines are like real estate, the key to success is location, location, location. Keyword and description meta tags are all well and good for those engines that pay attention to them, but the best thing is a single descriptive paragraph as early in the page as possible.

You should also know that Java-script and tables (search engines tend to read down the columns) can push your text down the page, and so make it less relevant. A good rule of thumb is, if a blind person can navigate your pages, so can a search engine.

Avoid active content. Consider re-generating static pages on a daily basis instead.

HTML Writing
Search Engine Watch: Tips About Internet Search Engines & Search Engine Submission
The WDVL: META Tagging for Search Engines
Website META Language (WML), Title

Creating your own Search Engine

I run a couple of engines based on SFgate. SFgate is a perl CGI interface to freeWAIS-sf.

WAIS stands for Wide Area Information Service. It's a set of protocols for creating a hierarchy of searchable databases. Implementations also contain an indexing program to create the database. It does this by taking every word in a document, stemming it to strip off pluralization and such, then applying a soundex algorithm. It stores this hash and a pointer to the original document in a database. By using the soundex, it can come up with hits for mis-spelled and sound-alike words.

There are three freely available implementations. The original WAIS, freeWAIS, and freeWAIS-sf. The original was written to demonstrate the technology. freeWAIS was based on this, but geared more toward portability. freeWAIS-sf was based on the 0.202 version of freeWAIS, added the ability to understand the structure of a document. For example, if it's indexing mail messages or such, it can recognize author and dates, and you can restrict searches on that.

It also requires the Wais module, available from any CPAN site.

When compiling freeWAIS-sf, you can compile it in two modes, proximity and string-search. In proximity more, you can use the keyword near to construct a query, but you can't search for "Some String". The other important choice is whether or not to use modified docid handling. freeWAIS-sf can be compiled to hand back a URL to the document instead of the filename. A lot of my documents need processing first, so I don't use it, but for indexing a web site, it's a win.

Alternate search engine software

ht://Dig -- Internet search engine software

Active Content

So you've ignored my advice about active content. Fine!

The Java Language
Applets - Java Applets - Free Java Applets - javapowered.com
Vancouver Webpages Home Page
There's a pile of neat web tools here!
Matt's Script Archive
SendMe 1.0

Maintenance

Home of The Webalizer
LinBot

Frontpage on Apache

  1. - get apache
  2. - apply frontpage patch
  3. - get mod_ssl
  4. - configure --with-apache=../apache*
  5. - cd ../apache*
  6. - configure --with-layout=RedHat --add-module=mod_frontpage.c --enable-module=all --enable-shared=max --enable-rule=EAPI
  7. - edit src/Configure.apci, src/Makefile, src/modules/extra/Makefile src/modules.c to turn mod_frontpage to non-shared
  8. - make && make install
  9. - cd ../mod_perl*
  10. - perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/sbin/apxs EVERYTHING=1
  11. - make && make install
  12. - add AddModule mod_frontpage.c to httpd.conf, make sure AllowOverride All is set for root
  13. - untar the frontpage stuff and run fp_config

Security

Cross Site Scripting FAQ

Tony Lill
Last modified: Fri Nov 11 13:52:35 EST 2005