« Search Engine Optimization and Veggie Dog Food? | Main | Seth Godin on Marketing and Social Responsibility »
Frames allow you to split your web page (frameset) up into rectangular panels (frames). A common example of their use would be to have the menu bar on the left, the logo and contact info up top, and the remaining space the content. Possibly another bar would appear at the bottom of the page with the copyright and disclaimer. Something like this...
In this common example, all frames except the content would be of fixed width and height. The content frame would be the only one with a scroll bar - i.e., it would fill in whatever space is left in the browser window. The advantage of this setup is that no matter how far you scroll through the content, all of the other relevant information is always visible and accessible. So you don't have to scroll all the way back to the top of the page to find the menu bar and go to another page. Sounds great, right?
So what's the problem? Each frame is its own page (in this example, we have 4 pages). Google indexes each page separately, based on their content. Then, when one shows up in Google's search results, it is linked only to that frame, not to the entire frameset. So, if someone clicks on that link, they only see the single frame. If that happens to be the content frame, at least they can read that part, but then have no way to get to the rest of the pages on your site. If that page that they reach is one of the other frames, it's even more useless. Basically, if being picked up by search engines is important to you, I'd highly recommend not using frames. (For more info on why Google dislikes frames, see http://www.google.com/intl/en/webmasters/2.html, point #2, last bullet.)
The solution? If you do want the same look/functionality of the frameset above, I'd suggest using layers - i.e., have a small page with a scrollable content layer on top. Works nicely and Google reads it all as one page - no problemo!
The other, simpler, idea is to skip the idea of having only the content scrollable and making sure to put a duplicate (perhaps smaller, text version) of the menu, logo, and contact info at the bottom of your page. That makes it very easy to get from page to page.
Posted by Nathaniel Richman on August 23, 2005 at 10:19 AM | Permalink
TrackBack URL for this entry:http://www.typepad.com/t/trackback/353256/3050661
Listed below are links to weblogs that reference Why to Avoid Frames:
hello, i don't wanna creat my site by frames, i wanna creat it by tables please anyone could help me thank you.
Posted by: elarbi | Nov 11, 2005 5:53:07 PM
Tables or using cascading stylesheets (CSS) are the way to go.
Some basic information about HTML tables can be found at http://www.echoecho.com/htmltables.htm or http://www.yourhtmlsource.com/tables/basictables.html
Posted by: Nathaniel Richman | Nov 15, 2005 10:36:40 AM
Name:
Email Address:
URL:
Remember personal info?
Comments: