I’m currently working on a site for a client who has a site which uses frames, and he asked me why Google always linked to the “wrong” page. He did not build this site himself of course, and hasn’t got much of a clue as to how HTML works, let alone search engines. He asked me to explain it to him, and I did.
But then the other day, I saw the search term “frame sites Google” show up in my referrals, and decided I should blog on it. Let’s start with a “normal” page. The URL of the page you’re looking at is the same for both the user and Google. This is quite different with a frames page, as the URL you’re seeing in your browser, is the URL to a page which actually divides up your screen in to different windows, the so called frameset. So if you have 3 frames, there’s actually 4 URL’s: one for the frameset page, and three for the three different frames.
Now if Google were to link to your content, it would link to one of the frames directly, and not to your frameset page. So the user sees that frame page without the frame around it, as you intended it.
But what about
There is a “workaround”. When frames were created, in HTML 4, the
noframes tag was invented as well, intended to be used by user-agents which cannot render frames. You can use the
noframes tag to provide alternate content for bots and users with browsers unable to render frames.
This tag is being abused a LOT though, and I’d advise heavily against using it, in fact, as you probably understand by now, I advise heavily against using frames at all.
Want to know more? Read the official Google guidelines on frames.