"Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network" - Tim Berners-Lee, Technology Review July 1996
Check your pages on the W3C page validator. It might be strict, but you might as well stick to the standard. I can almost guarantee that 90% of all sites do not use valid HTML. (er, myself included!)
Relative EVERYTHING except picture sizes. Table width/height should be percentages if present at all. FONT SIZE tags should always be relative (e.g. FONT SIZE=+1; FONT SIZE=-1) to the basefont and not absolute (e.g. FONT SIZE=8). Specifying absolute picture sizes (width,height tags) helps the browser lay things out quickly if the page is slow to load.
Always have an ALT tag for each picture.
Introduce your language before doing anything else. You should always have a <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> line before the <HTML> tag. See the W3C list of all possible ones. You should also specify the character set, e.g. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">. For more information on this, use the authoratative list of Content-Type tags
Bear in mind that though most browsers nowadays have JavaScript, ActiveX, Cookies, Applets, etc., many people (myself included) turn these features off for all but a few sites.
Read the HTML hell page and check if your page violates any of these principles
Never use the <U> underlining tag. It's confusing to users because they'll think it's a link.
URLs should be readable and usable. A bad example of URL encoding is The Guardian Unlimited website, an otherwise excellent site
Pages should always have clickable links to the section of the site they relate to. Something of the form "Home -> Documents -> HTML Lint", which makes navigation much much easier. There are many ways of doing this. My personal preference is for text-based navigation like the BBC's or Google Groups style navigation. Every page should make note of which site it belongs too as well.
Long download times are sometimes unavoidable when you have large pages full of (I hope) content. However, it is essential that some new and useful parts of the page are displayed every 5 seconds and ideally every second. Gratuitous or stupid use of tables, not using the IMG Height and Width attributes contribute greatly here. If you have a massive amount of content on a single page (500k+ or lots of scrolling), consider creating a download facility for offline viewing or splitting it into several pages.
Always include HEIGHT and WIDTH attributes to your images
Users don't read. Users scan. Use Bold highlighting for keywords liberally, and re-organise your paragraphs so that there is always a key phrase that summarizes that area. This key-phrase highlighting should be as short as possible, whilst still being highly descriptive. This helps users quickly focus on the area that interests them.
In large documents, provide bookmark links <A NAME="bookmark"> - even if you don't use them, someone else might.
Hyperlinks - use liberally. Don't just say "Click here" though. Highlight appropriate pieces of text - make it obvious where the link is going to go. The user decides when to click on a hyperlink. You might say "But surely encouraging people to leave your site is a bad thing". No. If a site has good well described links to consistently good content on a different site, users will return to your site. By not linking to other sites from your own, you are essentially saying to the user "I am the world's leading authority on everything". Which is just a tad arrogant for my tastes - even if your site has the most information on a particular subject, it is always worthwhile linking to other sites anyway - Don't tell the user that you're the best - let the user decide for themselves and you'll be bookmarked for life. For an example, see the Dictionary of Units of Measure. Even (read: especially) shopping sites need to provide external links - if you sell a particular product, let's say a Nokia 3310 mobile phone, then include a link to the Nokia site so that the customer can get more details about the phone - showing that what you've said about the phone is provably correct. I have several bookmarked sites (e.g. Communications from elsewhere) which don't have a huge amount of original content, but have consistently good interesting hyperlinks.
One huge great mass of text is unsightly and difficult to read. HTML was built for formatting it. White space is good. Use it.
The most important items on the page should be at the top. Oops. Didn't follow this one whilst writing this page then. Sigh.
Don't use JavaScript unless absolutely necessary. Before using it ask yourself - can I do this another way? If the answer is "yes", do so.
In general, cut down on irritation factors, and up the content amount. Irritation factors are: BLINK and MARQUEE tags; Pop-up Windows; Pointless Masturbation with JavaScript or DHTML; Pointless Applets or Plug-ins; Flashing anything, animated anything should be avoided. See Why Advertising Doesn't Work On The Web for more information.
Search should be available from every page if your site is large. It's permissible to use search engines for this job, such as Google which you can link into your site. This has the added advantage that their search engine is likely to be better than yours(!)
Consistency, Consistency. Every time you release an apple over Sir Isaac Newton, it will drop on his head. That's good.
Remember that the most effective form of advertising on the internet are personal recommendations
Don't use frames in either your first or second website design. Only an understanding of how it should work without frames will help you create a site with. I can almost guarantee that after forcing yourself to create two frameless sites, you'll never want a framed one. If you do end up designing your third website with frames, you'll be competent enough not to annoy the hell out of your average user.
The Three C's for good website design: Content. Community. Click-ability (i.e. Navigation) (four if you count Speed. er, that doesn't begin with C does it? How about celerity? (isn't this a small indigestible vegetable?). Inventing buzzwords is not my strong point(!)
Use Lower Case Filenames, directories and picture names
In the <BODY> tag, always have a background colour BGCOLOR tag. The reason for this is that white is not the default on all browsers, and may be changed.