How bad is it to use display: none in CSS?
We've established on this site before (in this question) that, since there are so many legitimate uses for hiding content with
display: none; when creating interactive features, that sites aren't automatically penalised for content that is hidden this way (so long as it doesn't look algorithmically spammy).
Google's Webmaster guidelines also make clear that a good practice when using content that is initially legitimately hidden for interactivity purposes is to also include the same content in a
So, best practice seems pretty clear.
What I can't find out is, however, the simple factual matter of whether hidden content is indexed by search engines (but with potential penalties if it looks 'spammy'), or, whether it is ignored, or, whether it is indexed but with a lower weighting (like
<noscript> content is, apparently).
(for bonus points it would be great to know if this varies or is consistent between
visibility: hidden;, etc, but that isn't crucial).
This is different to the other questions on
display:none; and SEO - those are about good and bad practice and the answers are discussions of good and bad practice, I'm interested simply in the factual 'Yes or no' question of whether search engines index, or ignore, content that is in
display: none; - something those other questions' answers aren't totally clear on. One other question has an answer, "Yes", supported by a link to an article that doesn't really clear things up: it establishes that search engines can spot that text is hidden, it discusses (again) whether hidden text causes sites to be marked as spam, and ultimately concludes that in mid 2011, Google's policy on hidden text was evolving, and that they hadn't at that time started automatically penalising
display:none; or marking it as spam. It's clear that
display: none; isn't always spam and isn't always treated as spam (many Google sites use it...): but this doesn't clear up how, or if, it is indexed.
display: none; content I have alongside
<noscript> or otherwise accessibility-optimised content will be be ignored, or indexed again, or picked up to compare against the
<noscript> content but not indexed... etc.