Why You Shouldn’t Use Frames In Your Website

When websites first started becoming popular in the late 90′s, web developers wanted to deploy websites that were fast loading on the typical modem connection. The solution: frames.

One great thing about frames was that they could be used to insert repeatedly used chunks of HTML (such as the page navigation or page footer) in multiple pages. And these portions of the page would not reload for each page view, which translated directly into a faster page load.

And for large websites, there was one added benefit. Developers no longer had to modify each page when a new navigational link was added. Instead, only the HTML page containing the page navigation would have to be modified. So this enabled someone with no advanced coding skills to create large scalable websites.

However, while it was a good idea at one time, both HTML and the Internet have come a long way. And now, there are no longer many — if any — reasons why websites should use frames.

Why You Shouldn’t Use Frames

  1. Search Engines Will Have Difficulty Indexing Your Website. Search engines have great difficulty indexing websites which use frames. In most cases, this means that only the home page is indexed. However, it might also mean that the internal frames may be indexed outside of the frameset. This results in visitors being directed to a page which lacks a navigation or footer.
  2. There Are Better Alternatives. If the main reason that you want to use frames is to avoid having duplicate content on each page, such as a navigational menu, there are other methods to make this happen. These include Server Side Includes, Dynamic Coding (such as PHP or ASP), and CGI.
  3. Visitors Will Have Trouble Bookmarking Pages. When visitors browse your website, they might find some interesting content and want to bookmark it. However, frames will not allow them to do this properly. Because the user is always within the frameset element, they will be able to bookmark the frameset, but not the individual page that they want.
  4. Internet Connection Speeds Are Faster. While using frames might have reduced load time in the past, internet connection speeds are now faster. In addition, there are now more efficient ways to code websites that further minimize the sizes of web pages and what your visitors actually need to download.

Special Frames

You might have heard of a special class of frames called iframes. IFrames, also known as Inline Frames, are generally used to embed external content in a web page. (Common uses include advertisements, widgets, and entire web pages.)

Using an iframe is even simpler than using typical frames. Instead of creating a frameset and working with multiple documents, an IFrame can be created by simply inserting one html tag in a document. See the example below:

<html>
<body>
The material below comes from the homepage of VelvetBlues.com
<iframe src="http://www.velvetblues.com" height="200">
Some alternative text for browsers that do not support IFrames.
</iframe>
</body>
</html>

When You Can Use Frames

We don’t advocate using frames, but for some websites, frames may be a good solution. This includes websites or intranets that restrict search engines from crawling their pages. And for these websites, they can save costs by hiring novice coders.

 

However, for the majority of websites, frames — other than iframes — should not be used. Instead, opt for a dynamic solution. This will give you the same benefits as using frames, but will also increase your search engine optimization by enabling all of your pages to be indexed. And given that the majority of a website’s traffic generally comes from search engines, moving away from frames will be worth it!

Tags: , , ,

Trackbacks

Trackback URL for this entry:
http://www.velvetblues.com/web-development-blog/why-you-should-not-use-frames-in-your-website/trackback/

Leave a Reply

Want us to work on your project?

Contact us today for a quote. Click here to submit details regarding your project.

If you are making a general inquiry, send an email to info@velvetblues.com