Use frames when it makes sense
Monday March 26, 2007
I believe in moderation in all things - even in moderation. :-) Seriously, though, frames are one of those topics in Web design that often bring out the worst in us.
People often hate frames so much that they will do anything, including convoluted coding and crazy scripts just to avoid them. But really, if you need the look and functionality of frames, it doesn't make sense to try to fake them with JavaScript and CSS. After all, frames are a part of the XHTML toolbox. Why not use them?



Comments
I use the frames on my pages but I have been told they are not good for search engines.
I built my site as a class project and I integrated an externally hosted forum right into it so it would be displayed in my page.
I liked the way it all turned out so I decided to keep it.
I like frames for certain uses. Search engines have a difficult time when the main frame has no meta or other content. Adding decriptions, keywords, and some content to the no frames page resolves the search issue.
There is indeed a time for everything, including frames. However, the limits it places on search engine response makes it a poor fit for the vast majority of situations. Good SEO ranking are based on quality INDEXABLE content, quality meta tags, and quality inbound links. With frames you can still insert some keywords and content, but you damage the interplay between the three factors. There are so many tools in the toolkit these days, it simply doesn’t make sense to choose one that SEO experts agree has the potential to greatly detract from your rankings.
SEO isn’t the only constraint. Some organizations dropped frames from their ’style guide’. And many reviewers have come to react badly to frames. I use dialup to connect — no wideband available within 1/2 mile — and frames create additional risks of part of the content not arriving in time. Using Mozilla SeaMonkey, *any* timeout wins a ‘page not available’ error screen replacing the partially received content.
(It appears that the increase in spam and video usage is stressing bandwidth at various choke-points, making timeouts a serious challenge in presenting content. I have one customer that goes for days when he cannot bring up his [non-frame] site at all — all the while receiving online orders from customers not seeing a problem.)
I don’t want to cast a clear ‘avoid’ vote, though. If I were to stipulate that frames make problem for search engines (maybe yes, maybe no, maybe just takes more work, IMO), then sites that aren’t intended for search-driven visitors would still have a good reason to consider frames. Sites where visitors are restricted to off-line relationships — employees, insurance and health care customers, service or subscription portions of sites — don’t have the same SEO-driven requirements. For these sites, frames don’t add to or detract from the site.
I always follow the first rule of frames:
1. Don’t use frames.
Framesets do not preclude good optimization in search engines, it’s just a lot harder - as Brad said.
If you’re not sure whether or not to use frames, I’ve written a few articles discussing the pros and cons of HTML frames.
While I don’t personally prefer to use frames, there are some things that can only be done with frames - especially if you’re limited to the style and content layers (ie. not behavior - JavaScript or server scripts).