Index me, baby!
I’ve just come away from a day long seminar on SEO where hiding text was described as a bad practice – regardless of the purpose or CSS method used. This seems to be a bit of a sweeping statement. Many of the sites I have built use hidden content in some form (either a form of image replacement or structural labels). From what I have seen, none of these sites have been penalised by Google.
However, it is better to experiment rather than hypothesise. The four pages below have unique keywords, the same link value (there is currently only one link to these pages anywhere on the web), the same page title value, the same number of keywords mentioned on each page and the same character count on each page. Each of them uses a different method to display or hide content.
Will Google treat these pages differently (refusing to index them?) or is this just a crude and badly executed test?
- zzaaddaallaaddaa – Raw content only
- zzaaddaallaaddxx – Content replaced with images and hidden using off-left method
- zzaaddaallaaddzz – Content replaced with images and hidden using “display: none” method
- zzaaddaallaadd00 – Content hidden for evil reasons using “display: none” method
Let’s sit back for a while and wait to see the results…
Date: 15 September 2006
Author: Russ Weakley
Category: CSS, SEO, Web, Web standards
Tags:


Thus far, none of the search engines has penalized any site for CSS Trickery. Various avowed Black Hat SEO companies have – Privately – suggested using CSS for “display:none”. It seems that the algorithms have not been changed to include spider-parsing of (in-line, on-page or external) styles.
Search engines don’t seem bothered since all “hidden text” is included in the keyword density/word density segment of the algorithm that I’ve found from sleuthing about.
Of course, all that could change.
I too was at this conference and it does seem to me that the SEO industry is full of ’sweeping statements’ that have no concrete evidence to back them up.
My rule of thumb with hidden text:
1) If you turn styles off and it is all logical and contributes to the content, then it’s fine.
2) use text-indent instead of display: none when possible (for image replacement)
good start Russ.
Well, I’m a bit disappointed Russ. I was expecting there to actually be some full on evil content when I viewed the page source of that last one!
Well, its like this: the engines have officially said that showing something different to their bots in comparison to what the visitors see is Bad, and in some instances they detect this and are known to penalise. Some examples of techniques for differential presentation include white text on a white background (done with font tags) – try this and go down *so* fast.
At the moment, none of the bots call external css files. This means they are not penalising accessability techniques. Today.
I don’t expect it to last forever, and they are going to have to be clever, because it will not ‘improve their results’ to remove all the accessible sites on the web from their results
Looking ahead, I’m doing things calling classes which hide things ‘accessabilityOnly’ or similar.
Can’t hurt, might help. (Its also a little bit of built in documentation.)
What about calling the class something like “dont-penalise-me-google-as-this-is-being-used-for-good-not-evil”
Hehe, well it is a little bit long to type correctly more than once.
I was more thinking on what keywords an algorithm might look for if it was trying to be clever.
oh, and you should realise that your little experiment, while unlikely to produce anything as they don’t pull the include files yet (that I’ve seen), is risky – its important to remember that they generally ban sites, not pages. So in theory, you could be putting the organic traffic (and all those poor sods like me who go ‘Ah, Russ covered that technique in his Floatutorial, now where is it…’) for the entire site at risk by seeing what happens.
Unlikely to happen, though.
Ah well. Banning the Max Design domain would be fun!
It seems to me that hiding text is currently accepted as a way to make titles pretty or hide structural labels for visual design, but it also seems to me these practices could go the way of the meta keywords tag and the alt attribute which were both de-emphasized (now ignored?) by major search engine(s) due to abuse. Of course, the alt tag is still important for accessibility purposes.
Because image replacement is widely practiced among well-respected designers such as yourself, I think Google will work hard to find another way to detect any abuse of image replacement or hidden text. What about OCR? That would be one way for search engines to detect differences in image replacement and corresponding text.
“What about OCR? That would be one way for search engines to detect differences in image replacement and corresponding text.”
This is definitely not my area of speciality but I’d say that is not likely as it would involve a large amount of processing on Googles part. Others have suggested that Google could index CSS files, looking for “display: none” or other hiding mechanisms. The reality is that this would hurt so many developers who are using these techniques for valid reasons, so again, it does not seem to be likely.
I think you’re right about using broad measures like rejecting “display: none” and the like. I agree it is too broad and would hurt too many valid uses (for now). That’s why I thought of OCR, but it’s just conjecture. Check this out:
http://google-code-updates.blogspot.com/2006/08/announcing-tesseract-ocr.html
Great conversation btw. Thanks for posting it.
Wil be interesting to see the outcome of this. Already the test has shown that Yahoo indexes faster than Google! All 4 pages were picked up by Yahoo UK & Ireland yesterday, and the tumleweed still blows at Google today
That could say more about this site than Google.
Good conversation. I use the “display: none” for good… a way to hide/show related informational articles on a product page without cluttering up the page. Like some do for toggling answers in FAQ lists. However, after tracking numerous pages long term, I’m pretty sure that google is penalizing (and not indexing) the pages that use this. Sub-pages that are deeper than the penalized page even have decent ranking; whereas, the offending page is not indexed at all. In this case, the display:none is inline surrounding a large block of text. I sometimes use it in external style sheets and in those cases it doesn’t seem to offend. Please continue the discussion… I’d love to hear more.
Nice experiment Russ!
I see the naughty page is indexed perfectly by google.
So what does this mean? The idea that you’ll get black listed or at least penalised by google … is just a myth?
Hi Cara,
There is a strong possibility that my experiment was totally flawed. Regardless, it was fun.
Very interesting experiment, I often wonder – why Google sees baby our errors and in the meme temples sees the others who plays Black SEO ?