People and companies put up websites for all sorts of reasons: as a point of contact for friends, associates, or potential clients; as a way to promote a business, a skill, or a hobby; or as a platform to sell things. Regardless of the reasons for having a website, what makes a site effective and keeps people coming back is not rocket science. Make it easy for visitors to see where they are and what options are available to them, make it easy for them to find what they want ("don't make me think"), give them reasons to keep coming back, and leave them with a pleasant memory of their visit.
The people who design and manage shopping malls understand this. Too often, the people who design and manage websites don't. Its very easy these days to simply grab some simple tools and throw up any old kind of website with no thought or planning put into it. Its also painfully obvious that a whole lot of sites are actually built this way. But a poorly designed or poorly thought out website will, at best, be ineffective. At worst, it will reflect badly on the person it belongs to.
So here's a few of my website design pet peeves. I'm not talking about nitpicking over obscure and technical details; I'm talking about the things I see over and over and over again that make me want to go and beat my head repeatedly against the nearest brick wall every time I see them. Without further ado...
Vague section titles and file names
How many websites do you see with sections like "About us" or "Contact us"? A lot. Too many. A quick Google search tells us that there are 1,970,000,000 results for "About us" and 1,830,000,000 results for "Contact us". Imagine trying to work your way up the search engine rankings against nearly 2 million other sites.
A website must be able to be found by search engines to be of any value. This means rich descriptive content and keywords. How many people do you know who go into Google or Yahoo and search on the phrase "About us"? Personally I don't know of any--even though there's nearly 2 million results if anyone actually did. Or how about websites that have pages with titles like "Memories"? Memories of what exactly?
Mystery Meat Navigation
I've seen websites where the only navigation available was a series of tiny little pictures that could mean almost anything. Some sites will even add insult to injury by making these little pictures into Flash or Javascript rollover effects that appear seemingly out of nowhere in random places on the page.
If I click your little picture of a camera, am I going to a place on your site that sells cameras, a gallery of photos you've taken, or some videos of your Aunt Bertha's latest trip to Maui? Making me guess what's on your site is not something I find amusing and is probably just going to make me go elsewhere.
Poorly thought-out navigation
A lot of web designers seem to have lost sight of the fact that you can make anything on the page into a link, not just the menu bar. I've been to websites that will actually say something like "To contact us or to request more information, please select the "Contact Page" link from the left-hand navigation menu". This to me is just bizarre. Why not just say "For questions or more information, contact us" and make "Contact us" a direct link to the Contact Page?
Or how about the people who write "For more information, click here". "Click here" contains no information whatsoever, either for the user or for the search engines indexing the site. Even worse, for a blind person viewing the site with screen reader software, there is no "here" to click.
Using graphics for text
Yes, the web has a limited number of fonts that you can safely be sure will show up as you intended. That's just a fact of life and at most its a minor inconvenience. There's other ways to brand your site besides use of a particular font. Using graphics--or worse, hundreds and hundreds of inline images for your site text--is no solution, its just incredibly annoying. My favorite sites are the ones who do this on their contact page--I'm sure their potential customers really enjoy having to type in email addresses and other information instead of simply cutting and pasting the text into their email program.
Frames
Wonderful way to send the message that "Hey, I designed this site in 1996 and haven't learned a damn thing about web design since." Frames break, they don't always show up right in some browsers, and more often than not, as a user, I'm going to come across at least one "orphaned" page in your site--that is, a page that shows up outside the frameset that I therefore have no idea what to do with and I'm simply left to guess about where it fits in with your site or how to navigate to anywhere else.
And as for search engines, given a choice between an index page that's nothing but a bunch of code on how to display other html pages and an index page loaded with descriptive text and keywords, which would you suspect will be ranked higher by Google or Yahoo?
There's no good reason to use frames anymore, as there is always a better way to do something. And with the advances in web technologies over the past decade or so and the huge amount of (often free) help available online, the ease-of-use argument doesn't even work anymore. If frames were not a web tool, I would say they need to be taken out back and shot--just do yourself a favor and stay away from them.
Flash introductions
God, please, just...don't.
Flash can be a very useful and powerful tool, but unfortunately it seems to be one of the most commonly abused technologies out there. Which leads us to...
Abuse of Java applets
At one time, there was this fad of people putting Java applets on their websites that showed this 3-D looking shimmering lake with twinkling stars overhead or other such nonsense. Yeah, really cool effect there--that is, until about the fifth time that you have to wait for the damn thing to load. Not even counting the five thousand other websites I've already seen it on.
Fortunately--praise be to whatever deities may exist--Java applets, largely thanks to such widespread abuse, seem to be on their way out these days. So this one's not so much of a complaint anymore.
And on a related note, unless you want to be pegged as completely clueless when it comes to the web (in other words, one of the people who keep me in business), don't confuse Java with JavaScript--they are two entirely different things. In fact, they were developed by two completely different companies--Sun Microsystems in the case of Java and Netscape in the case of JavaScript.
Page layouts with tables
At one time, it might have been a cool little hack to design pages with tables to get around some of the limitations of HTML in the web's ancient past (circa 1995). Actually, I used to do this myself back in the late 90's. But again, this is a great way to convey to everyone who comes to your site that you haven't learned a thing since that time.
This isn't to say that tables must be discarded. But tables have a purpose: to convey information in tabular form. Statistics, data, anything that you might put into a spreadsheet in other words. Page layouts are simply messy and limiting when done with tables and CSS layouts are far more flexible anyway.
...and a bonus pet peeve, which isn't limited to just web design.
"The computer made a mistake"
No, it didn't. Somewhere along the line, someone operating the computer made a mistake. Computers don't make mistakes. They are simply stupid machines that follow the instructions programmed into them by stupid human beings. Computers are tools, nothing more--and certainly not a substitute for critical thinking skills.
In the days before computers when businesses kept their records in paper ledgers, would an employee have responded to a customer complaint by saying that the ledger made a mistake? And if he did, would he have kept his job for long?