« Q & A page
« tech pages
Q: Making frames search engine friendly
by Mike Slocombe
Q: No doubt you've been asked this
question countless times before, but how do you get a browser to
recognise that a site has frames?
My problem is that the Web site
I designed works fine if you type in the URL (www.leslie-jones.co.uk),
but when I've linked to the site from a search engine listing, the
frames get completely ignored.
The only way I can see that a person can see the site with frames is if they have the foresight to type in index.html on the address line, which forces the frames to work. I've added links to my whole site from the bottom of every page, but it looks very strange without the main menu that I've put in the left-hand
frame. How can I get round this problem?
A: Search engines and frames aren't the best of chums. Some won't sniff past your
home page, while others will dump users at individual frames, leaving them stranded without a navigation frame in sight.
For those reasons - and others - many designers steer well clear of
using frames, but if you must use them, it's vital to try and make your
site as search engine friendly as possible.
The problem is that most search engine spiders don't understand the
instructions on how to produce a frame layout, and ignore everything
except what's contained within the <noframes> tags.
Therefore, it's important to put in a detailed text description of the site within the <noframes>
tag and add a link to a 'contents page'.
This will provide a way for search engines and those on non-framed browsers to access the site.
Using the <META> tag to add keywords and key phrases will also help some search engines correctly index your site.
If users are being directed to pages without the surrounding frameset, an easy way to get them back is to add a
<a href="index .html" TARGET = "_top">home </a>
link on the bottom of every page (assuming index.html is the home page
containing the master frameset). Clicking on this link should reload
the full-framed home page.
solutions, but adding this one to your frame pages (anywhere between
either the head or the body tags) should work:
<!-- Hide from old Browsers
if (top != self) top.location.href = location.href;
// Stop hiding from old browsers -->
You need to replace the section that says ‘YOUR FRAMESET NAME
HERE' with the name of the master page that has the appropriate
You can find out more about frames and search engines at:
How to Make Frames Search Engine Friendly
Framing the Web
Search Engines and Frames