Frames present special problems for all concerned
because they break the single document per URL paradigm on which the World Wide Web is based. They're
essentially pages within pages. Users can't bookmark the interior pages of a frames-based
website, and when they click on a direct link to such an interior framed page, they can be left without
any means of navigation to other pages within your website. But many new webmasters love frames because they
use them to keep a navigation menu and site title and logo in front of the user at all times. They look
fast and slick, and he can update the navigation menu of the entire site by editing a single page. What
could be better? But when it comes to search engines, frames-based websites don't
always fare as well as standard sites in two key areas:
The first area is sheer ranking. Since search engines base much of their
ranking algorithms on link popularity measures (like Google's PageRank), a website's main page
is usually the strongest. But on many framed websites, the main page consists solely of
the <frameset> layout and the ubiquitous "Your browser doesn't support frames."
message in the <noframes> section. This is an enormous mistake when it comes to
search engine ranking because such <frameset> pages have no relevant text content for
the search engines to use for ranking purposes.
Your <noframes> section should include a scaled-down version of
the main or default document's content so that search engines will have more text to index than simply the
page title. Use an <h1> tag to display an appropriate headline, along with a paragraph
of two of keyword-rich text - what I call a mission statement - to
give your frame-based website's strongest page a fighting chance to compete with conventional designs.
You should also include regular HTML links to the most important pages in the website. If you make your
<noframes> section like a normal webpage, it can rank as high as any normal webpage.
The other search engine-related issue for framed websites is that
search engines look at individual pages - not websites. So, it often happens that
when a search engine user clicks on a link to a page from a frames-based website, he
sees the interior page well enough, but he is left without any means for navigating
to other pages within that website because the interior page has been loaded in his
browser without the intended <frameset> that included the navigation menu.
There is a JavaScript solution for this problem that works pretty well. The JavaScript you'll find by
following the link below detects when a page that has been designed to be contained
in a <framset> has been loaded directly into a browser, and automatically
reloads the page in its proper position in the <frameset>. It's not a
panacea. You still have to include a <noscript> message on these interior pages for those
few users who run with JavaScript disabled in order to avoid pop-up windows and
security threats. But overall, its as elegant a solution as you'll find.
The script can be found at
Rainbo Design's Automatic Framed Page Loader/Re-loader.
If you want to remove the frames from your website, but you
don't want to give up the simplicity of a single common menu page for navigation,
there is help. I call my methods Rainbo Design's
No-Frames Navigation System. It will show you three alternative methods of
giving you a single file for providing navigation on your website without using frames.
Let me give you one additional reason to avoid frames. Google will often
display the <title> and <meta> description from the <frameset> page when a
framed page appears in the search results instead of the title and description that is incorporated
into the page itself. Few users will ever see anything directly related to their searches when
Google does this to one of your pages, and so they will be very unlikely to click on them. So
don't delay any longer. Take a cold, hard look at any area of your site that uses frames and
do your best to remove them whenever possible. You'll be much better off in the long run.