(While this is another one of these technical posts, I'm posting my notes as I run into getting a web business operating online - so you can learn from my efforts and mistakes.)
Ran into this when running Wordpress MU on a site (setting up subdomain mini-sites) and finding all about bandwidth - by running out in the first week of a new month. And then again, the second week. Got it bumped up twice, but it took me off my regular game of posting content over into figuring out how to optimize a site for fast loading. (And this was with just two mini-sites running...)
Luckily, the Internet is full of answers. Lots of surfing with different sites (sorry I can't link to you all) gave me a few simple rules:
- Smaller is faster.
- Don't call up more than you want to chew.
- No pix, no slows.
Essentially, the static html page, text only, is the fastest loading page. The less content, the faster it loads. Kinda like security - if nothing gets through, then nothing can get leaked.
Obviously, since we like nice graphics and nice-looking text, and like to talk to each other - the above statements aren't workable.
Next up from that - CSS-styled pages which look nice but don't take a lot of time to load - meaning the server doesn't have to work at bringing these up. Means you want to compress all the line-breaks and white space out of these CSS pages so that they are more machine-friendly (and nearly impossible to read or edit.)
Don't call up more than you can chew.
Enter database calls. Same deal. The more you call to your database, the slower the page is to load, and also you are going to use up more bandwidth. So your database has to be optimized internally so that it finds the data quickly and efficiently. Extra tables and entries are removed, which keep the files small and quickly accessed.
No pix, no slows.
Minimalist designs tend to be faster, because a single graphic can be bigger than the entire text on the rest of the page. The more graphics and icons you have on a page, the slower it's going to load.
Your graphics - if you have to have them - should be compressed as much as possible without degrading their quality. (And a two-color GIF still rules.) However, you can do a lot with colors in CSS, so don't think you're limited to a monochrome scene to get a fast-loading page.
While people like pictures on their sites - think these over carefully before you drop a bunch of stuff in there to make it look "pretty".
- - - -
- - - -
Tricks and Recommendations:
- Host your images on another site or a subdomain - this way they load in parallel to your text body.
- Host your feeds on Feedburner - doesn't speed up your page loads, but does preserve your bandwidth.
- Always, always refine by function - actual use - rather than bells and whistles. Practically, leave entertainment on entertainment sites and then link or embed them. Let them pay the bandwidth and give you a sitelink as well.
Serve optimized text only from your server, then call to other hosts for the extras. Sounds austere - but if you keep these in mind with your designs, you won't have the big problems later when you have to find out how to make your site's bandwidth footprint much smaller out of necessity. (And I've already had a domain kicked off one host for violating their *ahem* terms of aggrement - you get what you pay for.)
Good Luck - and Good Surfing!