Does the Google Bot index css hidden divs? yes.
tomaltman.com
tomaltman.com
<div class="webinar-blurb" id="bot-164716" style="display: none;">
De eerste stap in het genereren van websitebezoeken met AdWords is
...
</div>Has anyone seen any scenarios where there was static content on the page and Google didn't index it?
You don't stick text where a computer can read it and then marvel that the computer can read it. And if you want something truly hidden, you don't publish it.
If you're worried about Google's index, they'll obey robots.txt. Alternatively, customize your reply when you get the Googlebot user agent.
WARNING: BE VERY CAREFUL DOING THIS!
This is one of the main ways that the googlebot detects spam/malware sites and doing it can utterly destroy your ranking forever in some circumstances.
http://www.youtube.com/watch?v=UpK1VGJN4XY
http://www.stonetemple.com/articles/interview-matt-cutts.sht... (do a search for hidden)
Another related question to the post would be: "Does the Google Bot index the css tag "background-image" for google images?"
Edit: removed question answered in a comment below.
h1 { background-image: url(foo.png); text-indent: -999em; }
of course, you then have to give dimensions to the h1 to show the whole picture, but i leave that as an exercise for the reader.
It is better to just do:
<h1><img src="" alt="" width="" height="" /></h1>
Negative text-indent can cause accessibility problems. Scenario "CSS on-images off" will see no content at all.You can solve that by using a <span> overlay, with the image set as a background:
<h1>Heading<span class="overlay"></span></h1>
Then with the scenario "CSS on-Images off" people can read the underlying text.But you are still hiding stuff for search engines, and they might not all like that.
Source for "don't go hiding stuff with CSS like -9999 pixels on the left, if you can just use an image alt, that is what it is for" this Matt Cutts video from 2009:
http://www.youtube.com/watch?v=fBLvn_WkDJ4#t=0m13s
BTW: The OP is confusing. Like Paul Irish said: There is a "display: none" and a "visibility: hidden". A "display: hidden" isn't valid CSS.
What disability is overcome by leaving CSS on and turning images off?
It doesn't matter to me if it is because a screenreader, a Lynx browser, a preference, or a no-script plug-in. All that matters to me is my users can access my content on a broad range of devices.
CSS on/Images off is an unlikely scenario, but it is a possible scenario (also consider the possibility of images not loading for whatever reason). If I were a user stuck in that scenario, I'd say: "I can't access core parts of this website". For a website developer, you could call that an accessibility problem, no?
Relevant thread on WebAIM: http://webaim.org/discussion/mail_thread?thread=3785 A little more cheeky: http://www.arespritesaccessible.net/explain.php Wikipedia: Web accessibility refers to the inclusive practice of making websites usable by people of all abilities and disabilities.
No. I'd call it a connection/network issue. The universality consideration (which is what you are really advocating here) then points to progressive enhancement -- defensive design -- as a technique to mitigate the failure to load a page's supplementary assets.
WebAIM recommends this technique, for showing content to (only) screen readers. http://webaim.org/techniques/css/invisiblecontent/#technique...
For the opposite – showing text to search engines and screen readers, but not visual browsers' end-users – position the content off-screen. http://webaim.org/techniques/css/invisiblecontent/#technique...
† I haven’t explicitly tested that search engines ignore contents of script tags w.r.t. indexing, but would be extremely surprised if the assumption was shown to be false.
Google is pretty good at figuring out what is there for legitimate reasons versus spam.
There are several patents describing how a search engine might analyse the visual appearance and structure of a website, with a special view to give some parts of the page content (the main content) a higher weight or priority then the rest (like footer text and navigation). I would expect that the algorithms used by Google will give a good impression about the page rendering. What conclusions are drawn from this and how it affects the ranking of individual pages for certain search queries, who knows, ... pretty much about this is kept secret and there is a lot of speculation.
Many search engine patents are explored and explained by Bill Slawski on his blog "SEO by the sea":
That there are these patents does of course not tell us, that search engines are working exactly in this or another way, but I think it often gives a good impression about what might be going on behind the scenes.
Techniques for approximating the visual layout of a web
page and determining the portion of the page containing
the significant content
http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Se... Automatic Visual Segmentation Of Webpages
http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sec... Techniques for approximating the visual layout of a web
page and determining the portion of the page containing
the significant content
http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Se.... VIPS: a Vision-based Page Segmentation Algorithm
http://research.microsoft.com/apps/pubs/default.aspx?id=7002... Classifying functions of web blocks based on linguistic features
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sec... How a Search Engine Might Identify the Functions of
Blocks in Web Pages to Improve Search Results
http://www.seobythesea.com/2011/02/how-a-search-engine-might...They only display the answers if a) you are Googlebot, coming from a Google IP address, or b) when you HTTP referer contains google.com.
If it weren't for the latter, they would be banned by Google. Of course, they still hide the answers all the way on the bottom of a very long page.
Kind of related: Ever since the advance of "open" sites like Quora and StackOverflow I have not seen Expertsexchange[0] in my results anymore.
0: I still can't read that name without snickering.
<div style="display: none">
Hidden tab content
</div>
Else noscript users would have to disable CSS to watch the above hidden tabs, pretty inexcusable. The "correct" progressive enhancement way to do this, is to show all the tabs, and use javascript to hide tabs from view from those that support javascript.Basically it has always been a bad idea to "hardcode" visibility for tabs/divs.
For example visit: http://adwords.google.com/support/aw/bin/static.py?hl=nl&... without javascript support. The content is hidden for everyone and pressing expand won't do anything.
Compare with: http://www.google.com/support/webmasters/bin/answer.py?hl=en... . Even without javascript support you can still see the examples, because those are only hidden if you have javascript support.
<body>
<script type="text/javascript">document.body.className='with-js';</script>
Then in CSS you might do this if you want a certain element to disappear only if javascript is enabled: body.with-js #foo { display:none; }If this became a common method of hiding text from users, but giving it to google, them I'm sure two things would happen:
1) Google would update their engine to detect hidden divs.
2) Google would penalise websites which abuse hidden divs.
A number one, perfectly valid usage is for dropdown menus. Naturally you want them hidden until activated via hover.
There's also many, many other ways of hiding elements. You can make the position of the element absolute and move it off the page from site. I think you could also make any overflow hidden and then make element 1px in width and height. There's also the infamous 'same foreground and background colours' trick. The list can and does continue.
This isn't really considering JS which opens up even more avenues to hide content either.
I think to truly have an idea of what's maliciously hidden, the fully rendered page would have to be analysed. I think there are instances where this is being done but this is edging towards theory and away from concrete facts.