The other day, I ran into a law firm with a website coded using the IFRAME element. While there is nothing programmatically wrong with IFRAMEs, they present some significant challenges for search engine optimization.
Here is a definition for “IFRAME” from Wikipedia:
“IFRAME (from inline frame) is an HTML element which makes it possible to embed another HTML document inside the main document… IFrames are more commonly used to insert content (for instance an advertisement) from another website into the current page.”
A few examples of sites using an IFRAME are:
http://www.samisite.com/iframephotos/index.htm,
http://calcium.brownbearsw.com/demos/miniframe.html &
http://www.webmonkey.com/webmonkey/96/37/stuff/iframe_ex.html
From a search engine optimization point of view, the use of the IFRAME is problematic for several reasons. First, whenever a search engine spiders the content that’s within an IFRAME, the search engine will normally link to the IFRAMED page itself instead of the “master” page it is housed within. Often, this means searchers are delivered to a page without site navigation. This is not optimal for keeping the attention of search engine spiders or visitors. A good example of a page like this within Google’s index:
http://www.paxilbirthdefect.com/source/about/prenatal_exposure.html.
Next, if you’re using an IFRAME to display another website’s content within your overall navigation structure, you’re now subject to showing whatever that site may change their content to say. Today’s IFRAMED page about birth control may be tomorrow’s IFRAMED page about a less savory topic. Of course, search engines will recognize you’re serving another site’s content so it will have no positive impact on your site’s rankings.
Additionally, some users turn off the IFRAME element in their browser’s advanced settings because of a the security hole it presents (trusted websites can unwittingly serve malicious content via IFRAMES).
Finally, and this is the most important point, I’ve spotted some sites that have multiple IFRAME “shells” on different URLs that all serve the same framed-in content. In the eyes of the search engines, this is duplicate content and is likely to be reason for de-listing.
If you can’t tell, I don’t recommend using IFRAME in your site’s code. Just like framesets, there was a time for them, but that was years ago. Duplicate content, end-user experience and security concerns are factors I consider to be argument enough.
[tags]IFRAME, inline frames[/tags]
Related posts:
I want to compliment you on this blog. I have to say I like it. Got a question, though. I’ve not submitted any sites to the starting point directory that you mentioned in a prior post (http://www.stpt.com/). How do you feel about that particular directory?
[...] El contenido se inserta a través de un iFrame (¡!), lo que es problemático puesto que los buscadores identifican que el contenido que se encuentra dentro del IFrame pertenece a un documento distinto al de la página que está presentando el contenido del Iframe: [...]
this is an interesting article.
but one thing i can’t understand – why is there a duplicate content issue here with iframes positioned on different urls?
the content belongs to the page of which the iframe draws its content.
Diet
I have a site which features some Javascript-intensive widgets that take a significant time to load (a few seconds) and which have their own internal state (edit controls and results from user interactions). These controls must appear at all times, but I don’t want to have to re-load them, because if I do all of that initialization occurs again and also the user’s state would tend to be lost, or I would have to re-generate results already created for the user, which would be inefficient.
I have various help pages for these widgets that have a lot of specific content about how to use them and other topics that someone using these widgets would be interested in reading. So, I’m displaying that content in an iFrame, while I keep the widgets loaded on my main page.
There is only one page that loads these iFrames, so even if you are correct about search engines penalizing sites with multiple references to the same iFramed content (and I can’t see why that would be, because, as another poster here mentioned, the referenced pages are being indexed on their own merits), I shouldn’t have a problem with that.
Now, as for navigation, I’m thinking how about putting in code that detects that the page is being loaded outside of an iFrame, and redirects the user to the enclosing frame, with an argument in the URL’s query string telling the site to load the original page in the iFrame? The only problem I can see with that is that maybe the search engines would consider that to be “cloaking?” Or maybe they would not index the page content because it was just loading a different page? Does anyone have an opinion on this? Anyway, one way around that would be to just have a link back to the enclosing page that the user could click manually, and only display that link if the page were at the top level (i.e., not in an iFrame).
It’s a complicated topic and I still haven’t figure it out.
thank you I was using an iFrame on my website and I changed it as soon as I’ve saw your article on Iframe for SEO
Is there a way to display content from another site in my wordpress site without using frames? I would like search engines to see this content and web surfers to find my site.
What approach would you use to have other content displayed and searchable without frames?
to have other content displayed and searchable without iframes: i’d use cURL