If you're new here, you may want to subscribe to my feed or subscribe to me on Twitter, which is updated on a more frequent - and more meaningless - basis.
So, a friend and I were having a conversation after I mentioned dealing with several clients in the past using css layers on their sites and I thought I’d open it up for opinions, since we couldn’t seem to come to an agreement on the topic…
Here’s the deal… the specific site we were looking at as an example is an e-commerce site and it uses css to make their site “pretty”. They have a square box with tabs on the top and every time you click a tab, a different set of text comes up utilizing css layers (product information, shipping information, guarantee… the usual).
Now, the friend (who asked to remain an anonymous voice - chicken shit) had immediate concern that this use of layering might be seen as hidden text to the search engines - not under a hand review of course, but rather as part of an automated process to detect people doing evil things with css.
My instinct/opinion was (and is) that it isn’t an issue at all - it’s a design concept gaining more and more popularity and the thought of a site being banned or penalized for utilizing css layers without it exuding other “red flags” to the engines in addition to the layers just seemed, well, dumb.
Now, I’m not saying the engines don’t do dumb things, I’m just saying that this seemed a little “extreme” on the dumb meter.
I went in search of official statements from the engines on the topic and saw this post on Captain Sprite’s blog - who thankfully has thick enough skin to be the target of my humor for the day - where he mentioned evil css doings and saw several people ask questions about using css layers legitimately and what Google’s stance was on it. The only comments Matt made on the entire post were:
Comment - Search Engines Web, you said that ‘That site has a perfect right to use that “invisible” text and the h1 tags’. I agree. In turn, Google has the right to decide not to return that site in our search results, because we feel that hiding text that is not visible to users is deceptive.
Ok, well, that’s what Matt thinks of a users “right” to hide text…
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.”
Common sense 101 - treat css under a graphic the same as you are *supposed* to treat an alt tag.
I’m starting to lose interest, and then I see Jennifer Sullivan state:
Comment - What Matt said earlier guys, is that hidden CSS layers are not penalized, UNLESS they are intent to deceive.
Now I’m thinking in my boredom due diligence I missed an actual definitive statement on using css layers to hide larger blocks of text (as opposed to in place of an alt tag)… go back, check… nope. So, looking to the official voice of Google didn’t reveal anything (I know, I’m shocked too).
So, without an “official” statement on using css layers in the manner I specified in the example site above… I go to those who know the engines best… what’s your theory? Perfectly acceptable design implementation or risk of being penalized? And for added fun, do you think Google is capable of determining the difference between “Expo Markers logo” and “Expo Markers cheap online discount buy online Expo Markers sale” algorithmically?
-- Subscribe to the Sugarrae feed




{ 1 trackback }
{ 8 comments… read them below or add one }
At Pubcon, I asked a few of the Google engineers about this specific issue and they gave me the same “dont be evil and you’ll probably be ok” charade they always give.
I think determining the intent of CSS is insanely difficult to do algorithmically. So will they throw the baby out with the bathwater if it gets too abused? I think it will depend on the ratio between common use and abuse.
I asked Cutts that exact question in person and he gave me the same (rehearsed?) answer. Would you predict that Goog would swallow some bathwater to save that baby? ha ha
Hiding/revealing content with CSS/DHTML is a special effect to enhance useability, not a viable method for content navigation.
If they wanted to work out this stuff, they could catch most of it.
I am figuring that they don’t have or don’t want to spend the processing time to work it out.
Until CSS files start being crawled as a common event its not something to worry about :)
Well, the thing is, Google is crawling css files, which was how this conversation came up between me and the afore-mentioned chicken shit. Yahoo has been crawling them for well over a year now as well.
but can G tell the difference between white-on-white text, and white-over-GIF-background? I think they’d be looking for obvious things like “display:none” applied to a block of content.
Use fancy DHTML to make your sign-up form jazzy. But don’t use it to show/hide content, unless that content is dispensible. Some very cool visual techniques are just not viable if SEO is a priority.
And definitely don’t use CSS to stuff the page with keywords. Or do it, get caught, and let me say “I told you so”
We’re using this CSS strategy on our site now: whole page delivered on one URL, and parts of it made visible by clicking clearly labeled tabs. Google sees the whole page; users see the parts they want, and instantly see others when they click the tabs, since it’s already in their browser.
Truthometer: why we did it this way: we wanted to get the full content of the page on a single URL, since some of our URLs (for new products, e.g.) are light. The goal is to get our software smart enough to decide to present the content of a tab as a separate (unique) URL once there’s content to support it; the primary URL would stop returning *all* content, and only return the most recent content. A newly created (and visible to spiders) URL associated with the tab would return the remaining content. Now we have two pages of content instead of one, but only when there’s real content to support it.
For example a new digital camera comes out. We have our own description and comments, but no reviews yet, no offers for it yet, no questions and answers, yet and little other info (maybe a press release that 30 other sites also have). It all comes up on the main URL for the product. Fast-forward 3 months, after we have 28 reviews, 75 questions and answers, offers, links to reviews from other sites and other interesting content. The first 10 most recent reviews , and 10 most recent answered questions still come up on that primary URL, but now there are distinct new URLs as real links on the tabs (that weren’t there before) that get the additional reviews and questions and other content that has developed as the product has come to life.
Truth patrol: why not put that content on separate URLs to start? Matt Cutts says they don’t like pages that say “Be the first to review the XYZ” or “Ask the first question about the XYZ”. So this boilerplate comes up on the main URL, along with the original content (our description, opinion, notes, etc.) for the product. Once there’s enough content for a page to stand on its own, we spin off a new, distinct URL to contain it.
Deceptive? I don’t think so. Intended to improve our rankings: yes. Reasonable, sure: this provides opportunities for G to find URLs that specifically address a user’s query when there are are such URLs, and not when the content available doesn’t support it.
So we are certainly doing this (or should I say “meaning to do this and will real soon”) purely to improve our ranking in search engines (you know, Google). User experience is the same either way.
Acid test: would you do this if search engines didn’t exist? Probably not, only if our load time got bad enough that we needed to have multiple pages of reviews or questions or whatever.
But this whole “would you do this if search engines didn’t exist” is a completely bullshit premise. They do, and like all businesses we’re out there to get customers find our take on the world that we *should* and *do* think is better (rightly or not). If we do something smart, reasonably good for users, and helpful for search engines, shouldn’t we get a benefit? We put all our URls in G sitemaps — how is this any different?
So if the world should be regressive and not embrace useful new technologies like CSS just because we’re gonna get dissed by the gods of Google, I say bullshit. If they want to continue to be great, they had best realize that good quality websites doing interesting and novel things with content and technology, then fruck them :-)
I have said my piece. There you have it.
Tom
Well said Tom. Our site uses similar techniques for displaying content to our users via CSS layers and I personally think that using CSS layers is MUCH better in terms of usability than using multiple pages. The user experience is increases by not having to retrieve a different page each time which (a) increases server load and (b) is just plain annoying in some cases. This is also why I find myself in love with Ajax. Maybe one day the engines will like this stuff too. Untile then we must adhere to 1995 UI rules I guess.
In a forum someone posted an email their seo guy sent them. The guy basically exclaimed how doing hidden content like that is untracable by Google. Yadda Yadda.
Well my opinion is that as long as you’ve got people like that, then you probably shouldn’t be doing it. So while it might be ok now, how bad will it hurt if you are delisted when they decide it’s not ok?
You must log in to post a comment.