justuptime.com - monitor your servers & websites

is hiding keywords with CSS worth it?

You are viewing this site as a guest. Join our community to get your questions answered and share knowledge. Active members may advertise and ask for a website critique.
Busy's picture
Modrater

He has: 6,148 posts

Joined: May 2001

Say your code is like this:

#topbanner
{
margin: 0;
padding: 3px;
background: #fff;
}

h1
{
background: url(./logo.png) no-repeat;
height: 88px;
margin: 0;
text-indent: -2000px;
}

Your keywords which are never seen

On the page the logo will appear and the text between the heading tags ('s) is never seen (unless stylesheet doesn't display).

Is this worth it? Would it been counted as hidden keywords/spam keywords or would the SE bot think it normal (legit) code?

<?bhb if(broken){ echo("It wasn't me Smiling "); } ?>
Learn HTML the ez way - EzHTML.net

Some people are like slinkies, they dont really serve any purpose but they still bring a smile to your face when you push them down the stairs ...

Renegade's picture
Moderator

He has: 2,943 posts

Joined: Oct 2002

I think the bots just read the HTML and not the HTML.

I usually do something similar to that too. I label things like, navigation and what not so that people without CSS can actually view the site properly too.

Cheng Eu Chew - Renegade
Download:
- Mozilla, Firefox
- Opera
This post may contain peanut traces

timjpriebe's picture
DeveloperModeratorSponsor

He has: 2,666 posts

Joined: Dec 2004

Quote: I think the bots just read the HTML and not the HTML.

Huh? Did you mean they read the HTML and not the CSS?

There's been several sites where I put something like that in the code. Generally it's site titles, where the title will actually be represented by an image. It seems to have worked fine so far. I still get decent search engine rankings.

Renegade's picture
Moderator

He has: 2,943 posts

Joined: Oct 2002

timjpriebe wrote: Huh? Did you mean they read the HTML and not the CSS?

Haha yeah, sorry, that's exactly what I meant Smiling

Cheng Eu Chew - Renegade
Download:
- Mozilla, Firefox
- Opera
This post may contain peanut traces

Busy's picture
Modrater

He has: 6,148 posts

Joined: May 2001

I'm not rubbing off on you am I Renegade

Renegade's picture
Moderator

He has: 2,943 posts

Joined: Oct 2002

Busy wrote: I'm not rubbing off on you am I Renegade

Yeah, I think you are... Sad

I'm with teammatt3 here on this one. Putting in things like headers for different sections in HTML and hiding it with CSS for older browsers seems to makes sense to me.

Cheng Eu Chew - Renegade
Download:
- Mozilla, Firefox
- Opera
This post may contain peanut traces

teammatt3's picture
Moderator

He has: 1,831 posts

Joined: Sep 2003

I have been using that for about a year, I have never been penalized for it and I will keep doing it until SEs start reading CSS. When they do finally start reading CSS you could make an image that has a bg color of FFFFFF and then put white text over it. Search engines won't read images for a very long time. Smiling

He has: 377 posts

Joined: May 2005

I've not used it personally but I've never heard anyone complain about a problem with it.

typically, though, the Ses want every keyword to be visible.

He has: 495 posts

Joined: May 2005

I am thinking you might get by with it for awhile, but it is definitely hidden key-words, by anybodies definition. Smiling

Renegade's picture
Moderator

He has: 2,943 posts

Joined: Oct 2002

I disagree. How I usually use them is to hide things from browsers which display CSS properly.

For example, I may use a heading of "Navigation" for my... navigation (gasp). Hiding that from the more modern browsers would make sense because - depending on design - the navigation area is obvious. On the other hand, for browsers which don't render CSS properly or at all, it may not be obvious where the navigation is. Not to mention those who surf with CSS turned off.

Another thing I hide at times are tags. This way, if CSS is turned off or not showing at all, the sections are still clearly sectioned.

Cheng Eu Chew - Renegade
Download:
- Mozilla, Firefox
- Opera
This post may contain peanut traces

The Webmistress's picture

She has: 5,587 posts

Joined: Feb 2001

Google can now apparently read css and determine layouts, so hiding anything will be BAD for SEO!

Julia - if life was meant to be easy Michael Angelo would have painted the floor....

They have: 10 posts

Joined: Jan 2006

google says that loading a page with keywords is not allowed. so don't. end of.

He has: 495 posts

Joined: May 2005

Here is the way WDG says to handle a img header, Just like I said.

Welcome to XYZ Company Smiling

Megan's picture
Administrator

She has: 10,041 posts

Joined: Jun 1999

I think the main reason this technique was devised was for accessibility. So if you put it in the text the screen reader can read it. Better than an alt tag for larger blocks of text that needs individual formatting (such as a list), and in some opinions structurally superior to just putting in an image as a headline.

This is a very controversial technqiue, commonly known as "Fahrner Image Replacement". If you do a google search on that you'll come up with a lot of debates. It seems that it's been generally debunked as an accessilibity method but picked up as a possible SEO tactic.

I think that if you're spamming keywords (like people used to do by colouring the text the same as the page background), then that's obviously not a good thing. But, if you've got a header that you want to do as an image for stylistic purposes then I don't really see a problem with it (unless the SE's think there is!). You're showing the SE proper structural markup that it can read and understand. This is a heading. This is what it says. I happen to prefer my special font so I'm going to show visual brwosers an image instead. You're not throwing in words just to target the SE's, and are providing something that both visual and non-visual browsers can read and understand as well.

I can't seem to find much about the SEO implications of doing this.

ETA: And the image as used here is not structural, it is presentational and should therefore be kept in the CSS. Looking at Busy's code, I think the display: none or visibility: hidden properties would make more sense than just moving the text off the edge of the screen. Although I haven't read all the articles on the topic so there might be some rationale behind doing it like that.

ETA2: I now understand ther eason why the text-indent is done. There are several ways to do this, none of which are really great from a semantic point of view. Kind of messy.

Also, looking at steve's code, I'm not sure that this is an appropriate technique for replacing a logo. What is a logo anyway? I wouldn't say that it's a heading. That's being really picky though Smiling

He has: 495 posts

Joined: May 2005

That post was actually supposed to be under another topic. Discussing image headers, and hiding the header name/keywords from the browser.

CSS was mentioned to do this, I said use the "alt" tag. I did a little research, and WDG concurred. Do not hide the page name header words with CSS, but use the "alt" tag to display it to the bots. Not the browsers. Smiling

teammatt3's picture
Moderator

He has: 1,831 posts

Joined: Sep 2003

Quote: Google can now apparently read css and determine layouts, so hiding anything will be BAD for SEO!

Where did you read that?

He has: 495 posts

Joined: May 2005

The Webmistress's picture

She has: 5,587 posts

Joined: Feb 2001

Here where I read it http://www.adsensebits.com/node/24

Julia - if life was meant to be easy Michael Angelo would have painted the floor....

teammatt3's picture
Moderator

He has: 1,831 posts

Joined: Sep 2003

Ha, I think I have a way to block them from reading it. Can't you put your css in a folder and then block access to that folder using the robots.txt file? All the important search engine spiders (MSN, Yahoo, Google) obey the robots.txt file.

On the site that I "cheat" on, the CSS file is located in a sub directory of the folder /templates. So the robots.txt file would be
# Disallow directory /templates
User-agent: *
Disallow: /templates/

demonhale's picture

He has: 3,195 posts

Joined: May 2005

Something Related... Good Reading relating to wordpress and hidden css, and other things ad related... LINK HERE