After you've identified your website's performance problems, a few configuration changes almost always can improve your visitor's experience significantly.
Apache 2.0 and later allows you to specify default expiration time based on file type. You also could use regular expressions to apply expiration time on groups of files, or modify the expiration time for a directory tree (even within the .htaccess file). IIS has a similar functionality, called content expiration; it can be configured for a website, a directory, or an individual file through the IIS manager. (The expiration settings are under the Headers tab.)
If your server has spare CPU capacity, you should enable HTTP compression, which can result in significant response time improvements for non-broadband users. Read the mod_deflate documentation if you're using Apache Server. IIS users will find the instructions in Microsoft's online documentation. (You need IIS 6.0 to enable HTTP compression.)
The browser won't start rendering the web page until it has downloaded all the CSS stylesheets. Therefore, the CSS stylesheets should be the first components listed in your web page.
After fixing the obvious problems, you'll probably have to perform a few additional changes, such as these:
- Perform the page layout with DIV elements, not with tables. Internet Explorer won't display the content within the table until the table code is completely loaded; thus, pages using table layout will display only when they're finished loading, resulting in significant amount of white screen time.
- Clean up your HTML code and use CSS as much as possible. (See my article "Seven Common CSS Mistakes and How to Avoid Them.")