I've heard many times that it's bad to use display: none for SEO reasons, as it could be an attempt to push in irrelevant popular keywords. A few questions:Is that still received wisdom?Does it make a difference if you're only hiding a single word, or perhaps a single character?If you should avoid any use of it, what are the preferred techniques for hiding (in situations where you need it to become visible again on certain conditions)?Some references I've found so far:Matt Cutts from 2005 in a commentIf you're straight-out using CSS to hide text, don't be surprised if that is called spam. I'm not saying that mouseovers or DHTML text or have-a-logo-but-also-have-text is spam; I answered that last one at a conference when I said imagine how it would look to a visitor, a competitor, or someone checking out a spam report. If you show your company's name and it's Expo Markers instead of an Expo Markers logo, you should be fine. If the text you decide to show is 'Expo Markers cheap online discount buy online Expo Markers sale ...' then I would be more cautious, because that can look bad.And in another comment on the same articleWe can flag text that appears to be hidden using CSS at Google. To date we have not algorithmically removed sites for doing that. We try hard to avoid throwing babies out with bathwater.Eric Enge said in 2008The legitimate use of this technique is so prevalent that I would rarely expect search engines to penalize a site for using the display: none attribute. Its just very difficult to implement an algorithm that could truly ferret out whether the particular use of display: none is meant to deceive the search engines or not.
How bad is it to use display: none in CSS?
seo;css;alt attribute
In these days of jQuery (and other JavaScript frameworks) heavy websites then I can't see how it can be a problem, since it's used extensively when you use things like jQuery sliders, transitions, galleries, tickers etc. These are now commonplace and search-engines are clever enough not to blindly penalise their use.A user states this in the Google Webmaster Central forum:Merely using display:none will not  automatically trigger a penalty. The  key is whether or not there is a  mechanism - either automatic or one  that is invoked by the user - to make  the content visible.Google is becoming  very adept at processing JavaScript to  find and interpret such mechanisms.If  you use valid HTML, CSS, and  JavaScript you have nothing to worry  about.  Good luck!