Time for User Testing.
In software development, testing is a key word. Everything that gets developed gets put in front of the testers and used in every possible way. They send back bugs to the developers, who start fixing them, and on it goes until the deadline hits and the product has to ship.
For websites, though, things just aren't done this way. Many websites are always under development, and have typically only been tested by the person who designed them, and perhaps a random friend or two. Not only are bugs and problems not fixed, but most of them are never even found. What I'm telling you, though, is that websites aren't immune from user testing: in fact, they can give you the advantage you need out there.
Let's say there was a problem with your site that was stopping many people from looking at one section of it. You get by fine, because you designed it, but to everyone else it's just not obvious at all. How would you know about this problem? You might just assume that the section is less popular than the rest – maybe you'd even remove it or rework it, not realising that the problem lay in a simple layout mistake you'd made.
When you test, you're testing for two things: firstly, outright bugs (things that are broken), and secondly, usability issues. The first are easy to catch on your own, but the second are considerably more difficult. Having designed your website, you're unlikely to be able to see it the way a first-time visitor would: just because you know that clicking an article author's name sends them an email doesn't mean that anyone else is expecting it.
User Testing on a Budget.
The chances are that you're not a big company that can afford to pay lots of people to test your site for hours on end. What you have to rely on, then, is pretty much your family and friends. If you do it right, though, they can be the best testers of all.
First of all, you have to sit with them while they use the site, but make it clear that you can't say anything at all – sitting next to them explaining how things work obviously defeats the point, as your other visitors won't have you there, will they? You've got to make sure that their interaction is entirely limited to using the site as a normal visitor would.
The best thing to do is write them a list of common tasks that you'd expect users of your site to want to do – for example, if you're running a webmail site, you could ask people to log in, send an email and copy it to your address. You should observe how they interact with the site, and especially note anything they have trouble with or do wrongly.
Reacting to User Tests.
Once you've watched someone try to accomplish things on your site, there's one key question you should ask them: "how would you expect to have done that thing?" Make a note of people's responses – if even two or three people say the same thing, you really ought to do it that way. Consistency is one of the most important aspects of web design: if you want your site to be easy to use, then you have to stick to what visitors expect, not try to show them how it can be done better.
A powerful way of testing whether changes to your site improve it or make it worse is to do split testing. Split testing is when you create two subtly different versions of your site and test each one with an equal number of people. You then gauge their reactions to see which design worked better. It can be surprising just how effective this technique is: the most subtle of changes can make a big difference.
Finally, you have to remember that your site's testing doesn't end when it goes live. Every visitor to your site is, effectively, testing it for you. Make sure you offer them every opportunity to leave feedback, letting you know if they ran into any issues or found anything hard to find or use.