Frames allow you to display multiple HTML documents on a single screen. Often, frames are used to separate navigation windows from the content of a Web page. Cal Poly recommends limiting the use of frames due to the following problems:

  • Book marking framed pages presents problems because you can only bookmark the parent frameset and default page instead of a desired child page (the bookmark will only reference the parent frameset URL). Bookmarking a child page by itself (an "orphaned" page) may result in the loss of navigation and other relevant content that would be controlled by the parent frameset (the bookmark will only reference the child page, outside of the frameset).
  • Framed pages can present difficulties for printing. Framed pages that require horizontal scrolling make printing (and using the page) more difficult.
  • Search engines have a hard time indexing framed pages because they can't properly identify what pages to include within the frameset (this doesn't apply to Google, which handles framed pages appropriately)
  • URLs typically don't accurately reflect the page currently being displayed.
  • Users lose the expected functionality of the back button, because you will go back within the frame instead of the previous page from the frameset you are in.

However, if you feel that it is necessary to use Frames, then make sure you include navigation with each child page so that the page can be independently link to as a separate and usable page.

In addition, all framed pages (child pages) should include a some Javascript coding that forces the page to load within the correct parent frameset page. The code to use for this can be found at:

Lastly, make sure you use an appropriate <TITLE> for EVERY page in your framed Web site. All too often the mistake is made that because a user doesn't see the Window Title of the child frame that it isn't needed. This idea is incorrect and leads to pages not being titled correctly within a search engine.