tags:

views:

3090

answers:

9

When content is hidden by CSS (display:none), is that read by Search engines or are sites penalised for that ? In my case, due to some CMS and other reasons, I need to serve alternative content to users and hide the H1 tag on the page using display:none. I wanted to know if the Search Engine will still treat the H1 tag with the same prominence as when its not hidden.

+11  A: 

It's against Google's policy. It's called keyword stuffing and will get you delisted from Google, which means your site wont even show up on Google anymore. A good rule of thumb is to only show googlebot what users of your site can perceive (display, audio).

If you show the information to people at some point, then you can argue you're not keyword stuffing I guess, but Google will delist you first and then you'll have to file an appeal.

apphacker
What if you have a image for the header of your website, which you would like to represent in with <h1>Title</h1> and <ul><li>Service</li><li>Service</li></ul>? Would google shun this? Or is the alt/longdesc properties of an image considered better to use in this scenario?
MiG
Use an alt tag for the image. You can put an image tag inside <h1> tags. Don't hide elements with display:none if you never intend to show them.
apphacker
@apphacker: Can you provide links to your opinions please, instead of generals?
eduncan911
+5  A: 

Search engines are getting wise with regard to CSS techniques to hide information in attempts to game them. There is likely to be a threshold however, so one or two such techniques, for valid enough reasons won't be too problematic for you. If you can, do try to avoid them, and especially en-mass.

Alister Bulman
+4  A: 

I don't believe that Google will penalize you automatically (meaning without human review), but it's definitely a risk, especially if the hidden text appears to be that way solely for SEO purposes.

Google Quality Guidelines - Hidden text and links

Chad Birch
I would prefer to not have to hide the text for the h1 but just move it offscreen so that its not visible to users. What's the best way to do that besides using text-indent to move it offscreen ?
Iris
+5  A: 

Search engine builders have had about 15 years to learn every trick that people use to get better search engine ratings, so you can be sure that the robots notice something simple like hidden text.

If the header tag is not visible on the page, it's pointless to have it there at all. At best the search engines will ignore the tag. At worst they will ignore your site.

Guffa
"At best the search engines will ignore the tag. At worst they will ignore your site" I love this remark. I am not sure who is right or who is wrong, it seems everyone gets some grounds to argue. Only this commment reveals the truth. Good point Guffa!
tag
A: 

There is no reason why you can't hide the H1 tag - it's not necessarily a bad thing. Vision impaired people who are reading your website with a screen reader would find the hidden H1 useful regardless if it's hidden (because most screen readers read the HTML not the visual page). Also if you visually have a business logo on the page and then have a hidden H1 with the business name, this is also fine. In this case the H1 is an alternative to the Logo so it is therefore fine for purely semantic reasons.

Also you can have hidden content that can 'appear' by user interaction (say clicking on a 'more' link). This is also fine. Hiding text is not wrong providing there is a good, usability reason for doing it. Of course keyword stuffing is wrong and this should never be done - so an SEO reason is never enough alone to hide text - there must be some other reason.

Matthew James Taylor
I was pretty sure Screen Readers did read the CSS... after all, why would there by voice specific properties?
alex
A: 

As already mentioned, it is not a good idea to hide information for many purposes.

If actually, what you really want is to serve visitors an alternate media than plain text, there are a lot of ways to do that, just see Nine Techniques for CSS Image Replacement for further details, or sIFR.

Török Gábor
A: 

You're better off not doing this.

Search Engines like Google are smart and they check for this type of thing and when you're caught, you'll get flagged and your SEO is useless.

Work within the system, don't try to cheat it. Google offers a ton of tools for developers looking to do legitimate SEO.

Gavin Miller
A: 

I'm not trying to rob the system. I just want a graphic display of the logo and the name of the company underneath it as to not clutter up. I use sifr for other reasons but I don't want to use that. IN other words, the readers can clearly see the content. It's in the image I created. But google can't SEE that content so I am trying to be nice and provide it to Google without mucking up the visual elegance of the site.

John
A: 

you can set the background to the as the image you want people to see and then text indent the text to -9999px.

Justin