There are lots of approaches to website design. Other designers may legitimately find much to disagree with in this short list, or have items to add (please!). But these are the over-arching principles I try to adhere to in designing sites. At least they’re the ones I can think of right now.
The header, footer, and side navigation or subnav areas should be thought of as a “frame” for website content. They should be attractive, well-organized, functional, and support the brand, but visually, they should not compete strongly with page content for attention. If you have a boring website, the way to fix it is not to make the header and footer more exciting (which does not necessarily preclude the need to redesign the header and footer). If your website lacks excitement or interest, put your time, budget, and energy into making your content more exciting and useful.
Be semantic with content structure. When the style sheet is turned off, the content on the page still needs to make sense. If it doesn’t, it impacts our next principle:
Accessibility is not optional. Accessibility starts with recognizing that not every website visitor sees or experiences websites the same way you do, and caring about their experience. The next step is to understand how their experiences may differ, and making accommodations so they can access the content. It’s easy to overlook accessibility if it’s an after-thought: it has to be a priority.
Prioritize content. What’s the most important content on each page? If it’s important, make it prominent, because expecting people to read carefully to extract the nuggets is unrealistic. This means highllighting content by various methods, including subheads, boxed content, color, scale, and bullet lists. And white space.