Some Notes About Frames

I have seen many discussions of the value of frames and many, many more detailing the disadvantages. The general consensus among webmasters seems to be that frames degrade a site, make it look tacky, cause users to leave and make it difficult for search engines. That being said, there are valid uses for frames and there are some applications where they actually make sense.

Advantages of frames

  • Frames allow menu navigation and other fixed information to be displayed with many different pages without duplicating those pages.
  • Since the common information (such as navigation) is only loaded once, framesets can result in significant improvements in page load time.
  • Since frames are well supported by all HTML editors, they are relatively easy to maintain. Other technologies (such as SSI and CSS) require additional knowledge and a larger skillset.

Disadvantages of frames

  • Older browsers may not display frames correctly. This is becoming less and less of an issue as time goes on.
  • Since the frame pages and the information pages are separate, it's possible for searches and indexing to miss the frames entirely. For example, if you create a site with a menu framing some pages, it's possible that many people may link directly to the pages and not the frames. Thus, your menus would not show up in these instances.
  • Some search engines may not index framed sites properly. This issue is becoming less and less important as time goes on, but it's still an issue occasionally.
  • Users do not tend to like frames. In fact, many are confused by them.

Some alternatives to frames

  • Server Side Includes (SSI) is very useful and provides an excellent alternative. On the other hand, SSI is older technology, requires support on the server which many web hosts do not support due to security issues and can impose a significant load on a web server.
  • Cascading Style Sheets (CSS) can also be used to make very fancy pages which are easy to support. CSS is relatively new, however, and thus is not supported in even mildly older browsers. In addition, browser support is not totally uniform, so your pages may show up differently in different browsers. Finally, CSS can be difficult to learn as it is a little obscure.
  • JavaScript supports include files (.JS filetype) which can be used to centralize maintenance of navigation items. However, if visitors turn off JavaScript, then they will not see the navigation at all. Note that it is becoming more and more common for people to surf with JavaScript turned off. This suppresses most popup ads and is much more secure.
  • Other server-side languages such as ASP and PHP can be used to gain most of the advantages of frames without the disadvantages. However, this requires a much higher caliber of webmaster or coder