Home : Internet : HTML : Frames : Pros & Cons

The Pros & Cons of Using Frames in Web Pages

Frames are a way to achieve certain effects and/or solve certain problems in web design. Frames have some compelling advantages, but they also have some serious disadvantages. The pros and cons of frames is a somewhat subjective topic and this page reflects the opinions of the author, Dave Owen. Other people may have differing opinions.


Pros

The most obvious feature of frames is the ability to keep one part of the page static whilst changing another part. For this reason frames are often used for navigation menus.

Frames can also help reduce bandwidth and server load, because the same content does not need to be loaded every time a new page is visited.


Cons

The rest of this page is devoted to the disadvantages of frames. As you can see, it is my opinion that frames have more cons than pros.

Broken Framesets

A broken frameset happens when the frames are not loaded or displayed correctly, for example, a menu frame is missing or one of the frames takes up the whole window. A broken frameset is usually a useless shambles.

Framesets fall apart more often than you might think, to virtually all sites using frames. Your site is not immune! There are several common causes, including:

  1. Visitors arrive via a search engine link (see below) or direct link to a framed page.
  2. The user's browser experiences temporary problems handling frames (this happens reasonably often with Internet Explorer).
  3. Some browsers do not support frames properly at all (e.g. WebTV).
  4. Simple typos in your website can break the frameset.

Note: If you think a "Click here to restore frameset" link will solve this problem, you're wrong. 95% of your users will ignore such a message (most of them won't even know what it means).

Search Engines

Search engines don't deal with frames well. Some search engines can't follow framed pages at all, but even the best search engines will have problems. More importantly, many search engines choose not to index frames because they are so problematic.

Although search engines can theoretically index frames well enough, there is no way to reliably organize them in a database and display them in results pages using the correct framesets. Remember that search engines find individual pages with the relevant content, and then have to work backwards to determine which frameset each page belongs to. How would they do that? Answer: They can't, so they don't try.

In theory, for very small databases, there might be some way to track and record framesets. This would be impractical for large search engines, but it would also be hopelessly unreliable. For example, if a page appears in two different framesets, how would a search engine know which frameset to use when that page is returned in a result? What happens when a page is moved from one frameset to another, or placed in a frameset temporarily — how would the search engines know? There are many other such problems which make frames unsuitable for search result pages.

So.... search engines can't reconstruct framesets from individual pages. The only option is to show the pages isolated (independent of their frameset). Therefore most search listings to framed pages result in broken framesets.

The situation with search engines will not change for two reasons:

  1. The root of the problem is with frames themselves, not the search engines, so there is little hope that search engines will "get better" at dealing with them.
  2. Frames are out of fashion, especially amongst the types of site the search engines are trying to target, so the problems associated with frames are not a priority for search engines.

Note: Search engines index the "noframes" content of a frameset, which is why search engines will often show a site's description as: "Sorry, your browser doesn't support frames so you are unable to view this website". That's not going to attract many visitors! You can get around this to some extent by providing better noframes content, but it's more work and will never have the same results as standard pages.

Linking Issues

Generally speaking, you can't link directly to a framed page. There are workarounds available which use various dynamic or scripting solutions (e.g. JavaScript) but these have problems of their own.

You will often find that people think they are providing a valid link, but it doesn't go to the page they think it does. Many valuable links to your website are wasted, and visitors get annoyed and confused by broken links.

Bookmarks / Favourites

The same problems related to links also apply to bookmarking pages. Users will bookmark a framed page, only to discover when they return that the bookmark takes them to a different page.

Other Issues

Just briefly...

  1. The user's back button often doesn't work.
  2. Frames often reduce the amount of usable space on the page.
  3. The URL in the address bar always stays the same. Although some webmasters do this on purpose, it is generally considered undesirable for experienced web users.
  4. Frames create problems with printing.
  5. If public opinion is important to your site, be aware that many people are vehemently anti-frames. Many reviewers and commentators think frames are for amateurs and will say so.

My Experience

When I began making websites in 1997 I loved frames. Most of the sites I worked on (including MediaCollege.com) used frames. Initially I thought it was all going well.

Over the next few years, the problems associated with frames gradually forced me to re-evaluate my use of frames. For some sites it was the search engine issue, for others there were different problems. One by one I made the difficult decision to abandon frames on all my sites. For some sites it was particularly hard and many users complained, but on balance I have more satisfied customers now.

The two things I noticed most of all when removing frames from my busiest website were (1) the number of reported technical problems halved, and (2) my search rankings went through the roof.

Now I would never go back to frames. I do miss some of the features but web design is all about compromise and this was one compromise which was well worth it.

Take a Hint From the Experts

If you don't want to take my word for it, have a good look at the most popular sites on the Internet. Check out all the top news sites, portals, professional services, etc. Consider all the sites which have won Webby awards External Link in recent years. How many of them use frames?

The answer is "not many", in fact I couldn't find a single Webby winner which used frames. Very few professional sites use them. Either they have all got it wrong, or they have all made this choice for a good reason.


IFrames

One alternative to frames is worth a mention - IFrames. I won't go into the details here, but IFrames are fairly well supported, can achieve most of the same effects as frames, and have fewer problems. Worth a try if you really need frames-type functionality.


Summary

The World Wide Web is based on a single unit - the web page. Frames destroy this unit, and therein lies most of the associated problems.

It's important to remember how fickle Internet users are. Whilst you may think it's easy to get round the problems, your visitors will not be prepared to make the same effort you are. For example, if a bookmarked page doesn't return a visitor to the correct page, there is a good chance you will lose that visitor forever. If a user's browser starts having a fit and opening framed links in new windows (a relatively common occurrence), it's a shocking look for your site.

In summary, the disadvantages of frames outweigh the advantages in most situations. There are very few features which absolutely must use frames to work. On the other hand frames render many standard web features useless.

In my opinion you should be very wary about using frames, and only consider them if there really is no other option.