Intro
When surfing the Web I often find awful bugs or other annoyances. Some annoyances are due to my personal taste. I won't write about them today, because I think they only affect very few people.
But there are some errors which occur very often and could be avoided with some care. I'll write about them and I'll tell you some tips in general for improving your site and make your life as a webmaster easier.
Dead links
This is an easy part. Dead links are very common and annoying. The web is extremely dynamic. The downside of this is that pages get moved or deleted. My own Web site has gone through this process, too.
There is another error related to dead links. So called broken images. This is an image tag which points to an image file which doesn't exist.
If you're linking to an external site and don't detect that they've changed the directory structure, you get dead links. A lot of users give up when getting a so called 404 error. Most people don't even try to search for the page you've linked to. And if you're completely out of luck, you loose a customer for every dead link. This is not unlikely, especially if you open all links in the same window. The user might just close the window, because he doesn't want to look any further. There are some usability tests proving this point. I don't have any links available at the moment, but if you're interested in scientific results, mail me and I'll organize it for you.
But how can you detect dead links without a huge effort? Imagine clicking through a large Web presence with thousands of links just to test for dead links. But wait, you're lucky. There are tools out there to test if all links are valid. So called "link checkers".
Link checkers
They crawl through a Web site as a search engine does. But instead of indexing the site, they check every single link for availability and report any dead links. You could set up a link checker to check all links every night and mail you the result.
I'll only present open source tools here, because there are enough of them. If they don't suite your needs, there are some commercial catch-all tools available. I can't present every single link checker here. If you don't find what you need in this small list, try a query at freshmeat or Google.
Checkbot
Checkbot is a fairly simple tool for checking links. But I like it. It's very good for using it in a cron job because it can send a mail when the check has finished. The output isn't that nice though it serves its purpose.
Linkchecker
Linkchecker is my favorite tool. Some of it's coolest features are its different output formats (HTML, text, SQL, CSV and others) and the checking of Usenet groups for availability.
ht://Check
ht://Check is a high end tool. It inserts the information into a MySQL database. I haven't tested it because you can achieve the same with a script using the tool Linkchecker with the SQL output format.
Java Script / ECMA Script
Java Script was very hip not too long ago. The situation improved and it's now more and more used where it's really useful. That's great! But it's often used far too careless.
A lot of people forget that Java Script is a programming language. It's not as simple as HTML. Java Script errors are far more complex than HTML errors. They sometimes seem to occur randomly depending on some mystery. That's the programmer's life and joy.
Because of this it's very important to test your scripts extensively. Set one or two testers after the script for some time. The amount of testing time depends on the complexity of the script. My rule of thumb for my private scripts is to spend at least as much time testing the script as I need writing it.
At the moment I don't use Java Script on my site, anyway. If you really must put some nifty DHTML scripts on your website, I recommend you to reuse code! There are very good script libraries out there, for example Dynamic Drive. And don't think you aren't a good programmer if you reuse. The exact contrary is true.
Spelling errors
This is the last category of this article. For my personal Web site I can't afford to pay an editor to proof read all my documents. (A co-worker sometimes does this for me, but I think this is an exception) But at work, some of our customers get every site proofread and I suggest it if you want to make money or improve your reputation with your Web site.
One of the best inventions of the modern world are spell checkers. They won't replace a professional editor but I think they are fine for a private Web site.
If you work on a Unix box, changes are great that you've installed Ispell. Ispell is a tool to check the spelling of a file. It allows you to specify different dictionaries, for example one for the German language. It's even possible to check the spelling of HTML files. See the man page for more information.
You can use Ispell directly from within Emacs. Just move to the word you want to check and then type M-$. You can check the whole buffer, too. See your Emacs documentation or talk to your system administrator for more information.
Most of my readers use Microsoft Windows. This is sad. But don't worry, I won't start a religious war. Ispell and Emacs are available for Windows, too. But most Windows users don't want to use Unix tools on a Windows box. I understand this.
I just searched Google for a free Windows spell checker that is aware of HTML. I didn't find any. If you know a tool which can check the spelling of an HTML file, please mail me.
As a workaround you can use MS Word to check the spelling. Just copy the text from your browser into MS Word and spawn the spell checker. This is not very comfortable because you need to copy every single change into your HTML file.