Frames cause a problem with search engine spiders as spiders can not follow the <frameset> tags put in place in a frames page. (Click here for an example). The frameset tag looks something like this:
<frameset cols="144,863*" frameborder="YES" border="1" framespacing="0" rows="*">
<frame name="leftFrame" scrolling="AUTO" noresize src="left_window.htm">
<frame name="mainFrame" src="main_window.htm">
</frameset>
The reason that spiders have a problem with these tags goes way back to Netscape 2.0 and Internet Explorer 3.0. Back in the olden days, browsers were incapable of viewing frames properly. To combat this, the HTML standard decided to put in a tag called <noframes>. This tag meant that browsers that were very old (Netscape 2.0 and Internet Explorer 3.0) could still see a page if the browser didn't support frames.
The search engine spiders react the same way as the old browsers. If there is a <frameset> tag then the spider will jump over this and look for a <noframes> tag. If one exists, the spider will commence indexing. If not, the spider will not index anything.
Basically, if you have frames on your page, and you don't have a <noframes> tag, then the information on your page will not be indexed. So if a you "can not find my site in the search engines" and you have frames, look for the <noframes> tag. If you don't have the <noframes> tag then you will not have any information indexed except for the <head> tags.
<HTML>
<HEAD>
<TITLE>Title goes here</TITLE>
<META NAME="Description" CONTENT="Description goes here">
<META NAME="Keywords" CONTENT="Keywords go here">
</HEAD>
<FRAMESET>
<FRAME SRC="navigation.html" NAME="nav">
<FRAME SRC="main.html" NAME="main">
<NOFRAMES>
<BODY>
This is where you should put the information from your main frame. In this case, the main frame is main.html. Copy from the <BODY> to the </BODY> and place in here for the search engine spiders to index. Make sure that you have links to the rest of your pages from this page so that spiders can go through your links to index extra information.
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>