Can search engines detect/penalize if I apply visibility:hidden through an external style sheet? (I'm not using this for spammy purposes - I just have some text and links in an Iframe that I'm afraid will not be recognized by the spiders, and I'd like to compensate for this with some hidden content.) On a more general level, can search engines read CSS, inline or external?
well for a start you would use "display: none;" as visibility is olllld now. and as long as you're not using it to hide keywords, you will be fine.
google don't read and index anything what have display: none or visibility: hidden, but I don't know does google penalize usage of hidden elements...
of course Google can see a hidden DIV - it doesn't disappear from the markup just because it's set to display none.
View the page in Lynx. That is how Google "sees" the page. Google does not support css, javascript, or images. If you don't have Lynx (why don't you?), in your regular browser, disable javascript and images, and turn off css. @matt540: Visibility and display are two very different properties, and are orthogonal. cheers, gary
have you never seen tabbed navigation on a website? i.e. http://mdmsonline.co.uk/services.html so according to that logic, two of those tabs will not get indexed because they are not being displayed. rubbish!
They will get indexed. However, Google is not the only blind visitor to your site. Using display: none and visibility: hidden for things like menus is a Bad Idea because most screen readers are used on regular Plain Old Computers through Regular Plain Old Browsers, most of which normally detect and run CSS and Javascript and images. The reader reads via the browser, and most of the time (quirky exceptions) it will honour display: none and visibility: hidden. The text of those elements never gets loaded into the virtual buffer. For iframes, I haven't heard that google has a problem. Google has a problem with framesets, because while a browser is built to display the framesets, Googlebots are not. They don't go directly "into" a frame within a frameset. That said, somehow googlebots do get pages hidden inside framesets. I haven't figured out how, but I've seen the inner pages of a framed site I redid on google. But it's some indirect way, prolly accidentally through someone else's external link.
I think it's through external links somehow. I know the page I redid, which was originally in frames, had Google results for some of the inner pages... clicking on them revealed just that inner page without the surrounding frames, making it rather useless for visitors because they wouldn't get the navigation or sidebars or anything. So, you certainly don't want google indexing some lone frame. But an iframe, that's simple another document in a document, as an inline element, without a frameset, so as long as your main page has an anchor which links to the iframe, I would think Google could access that no problem. At least, I haven't seen a problem with a site we work with— our insurance form is presented on a scooter-selling site within their iframe. That way, our back-end can continue to do the calculations while the form is displayed on their page.