80

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:

  1. Is that still received wisdom?
  2. Does it make a difference if you're only hiding a single word, or perhaps a single character?
  3. 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 comment

If 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 article

We 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 2008

The 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. It’s 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.

Josip Ivic
  • 3,888
  • 2
  • 24
  • 51
Andy
  • 1,481
  • 2
  • 15
  • 22

8 Answers8

61

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 RainboRick 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.

Stephen Ostermiller
  • 99,822
  • 18
  • 143
  • 364
Dan Diplo
  • 1,660
  • 12
  • 12
8

If you are not abusing it, it will not be a problem. At this time Google does not crawl CSS stylesheets looking for instances of display: none

Google is not going to declare war on a widely used style rule, they are just giving a warning to those thinking they could add 1000 keywords to a site that are all set to display: none or even worse, margin-left: 9999px

Shane Stillwell
  • 528
  • 3
  • 7
6

Use "display: none" only when it is the right tool to use.

As the quotes suggest, the problem search engines have with display none is spam. Attempting to spam search engines, regardless of what tools you use for that, is a bad idea. If you use CSS for anything other than spam, then there is no problem.

The right tool for the right job.

luiscubal
  • 516
  • 3
  • 6
3

I think you should try to come up with other alternatives but here are some reference articles

Includes links to Maile and Vanessa on A Webmaster radio chat on this topic http://luigimontanez.com/2010/stop-using-text-indent-css-trick/

Maile is a Google Engineer http://maileohye.com/html-text-indent-not-messing-up-your-rankings/

It is something Google are going to come up with a solution for, but negative offset and display none are not safe if you take a long term outlook.

AndyBeard
  • 124
  • 2
2

The key point to take away from this is the quote at the end of @Dandiplo's answer.

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!"

What I keep seeing in many q&a sites are questions relating to website content that they don't want and asking how to remove it and then being given the answer to use display:none in the CSS. This would be bad for SEO as the CSS is obviously not being used for responsiveness to smaller screens etc.

If you don't ever want it displayed, get it out of the website content.

The question Google's algorithm would be asking is why is the content there but being hidden?

If, for example, the content is only for tablets/mobiles, you want it hidden to desktop screens. That's fine because the algorithm will see that it will appear on tablets/mobiles with display:block or similar removing the display:none.

The algorithm will be suspicious of content which is always in display:none as the question will arise as to why it is there in the first place. If it is not needed, remove it completely. If the content is there because of, say, a WordPress plugin and you don't want it there, either remove the plugin, adjust the plugin settings or write a custom piece of PHP to take it out of the page so it isn't in the HTML output at all. Don't just hide it with display:none.

Chris Rogers
  • 457
  • 3
  • 15
2

I agree with Dan Diplo and to add to what he said, also Google itself uses display: none in its HOME PAGE, so it can't really be a problem using it, as long as you don't use it for spamming (i.e. inserting hundreds fo keywords in a display:none DIV panel).

Open Google HOME PAGE and look in HTML source code. Search for display:none you are gonna see it many times. :)

Marco Demaio
  • 6,500
  • 5
  • 34
  • 43
0

Google does crawl CSS display:none content.

Hiding something from Google is only bad if you’re intentionally trying to manipulate search rankings.

Hidden options and text from visitors is now a common practice given how interactive websites have become, so you shouldn’t worry. In the past, people used these sort of methods to game the SEO, hiding keywords and links etc. The result it that when Google crawls a site that has things hidden from the viewer, it views that site as less trustworthy.

Josip Ivic
  • 3,888
  • 2
  • 24
  • 51
-1

I just had a conference with seo in google and this is not true. Display none penalizes, for sure. Some time before this was dealed with visibility instead or using negative text sizes or negative indenting.

Is a fact that text needs to be visible and not obstructed in any visible way. At least no boiler plate or duplicated or lazy content.

By the way google can do whatever they want on their site they probbaly put themselves first even if it was a potato.

In particular the approach proposed and probably to be used is to show it and no matter what design consequences it may have.

I will propose things as z-indexing (layering) to check if by any chance this kind of styles are not considered. But i don't think so algorithm is strong enough to consider this. Or things like calculate box position over screen size to consider negative positioning as a visual block.

Related text for seo ergo client interest should be visible.

Budaya
  • 9