The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Other text-indent: -9999px = bad seo?

  • This topic is empty.
Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
  • #28366

    Hello all,

    As many of you are aware, the technique of image replacement with CSS is very powerful.

    Well, recently, I’m thinking about SEO effects with using something like h1 {text-indent: -9999px; background: url(‘xyz’) }…
    I dont think I trust this anymore to be good for SEO. And I don’t mean that it’s actually "good" for it, because that would certainly be bad SEO techniques. I’m just thinking that it wouldn’t be too far fetched to believe that in the search algorithms that anything that is negative text indent over ABC pixels, is considered spam and either isn’t registered, or even worse, effects your site negatively.

    Any thoughts on this? Chris?


    Hmmm.. Yea, okay. Well, thanks for the response. Your solutions are the same output as text-indent: -9999px… The idea isn’t trying to fool google… noone can do that, not for long atleast. The idea is to FOLLOW their rules, because they set them… if Google says the sky is purple, it’s purple, or we suffer. :<


    Couldn’t you use jquery to add the text-indent style? For those with javascript turned off it wouldn’t work, but I’m betting that it wouldn’t effect all that many users.

    Since search engines aren’t really in the habit of reading javascript, you would be able to accomplish what you need and won’t have to worry about that potential negative.

    Rob MacKay

    Well unless google has specified that it is – then it’s not.

    You have to remember that google spiders don’t look at your styling – because they don’t care how your site looks – they just see the raw HTML. Now as long as you play the game and follow their rules making the site’s hierarchy correctly and not spamming keywords it dosen’t matter.

    If you hide things off your page with -9999px it is irrelevant because the google bot will SEE it on your page, as part of your main HTML content. So if you are trying to hide spam with -9999px it ain’t gonna work because, google sees the HTML not the rendered page.

    So -9999px is irrelevant, it’s like trying to hide stuff with the same text colour as background – it dosen’t work with bot’s because they only see the HTML. So it is no "threat" to google.

    So -9999px is irrelevant, it’s like trying to hide stuff with the same text color as background – it doesn’t work with bot’s because they only see the HTML. So it is no "threat" to google.

    I think I disagree. Just like your example, if I had my keyword 8000 times with a color set the same as the background, yes, google would see it. They would also see the trick that I am trying to do. There are reports that google can and does read your CSS and Javascript but how it is weighed, they’re not sure. It sounds like it isn’t all that common, but it does happen.

    It could be that google evaluates the keyword density and if it up to high they ding you but they also have said that they are not a fan of hidden elements. How would they know if they don’t read your CSS/JS? Is the algorithm smart enough to tell the difference between good hidden items and bad hidden items? Maybe. Should you err on the side of caution? Definitely.

    Taking the chance on the -9999 indent is up to you and how good you think your chances are. You are hoping that they will see it as a design issue and not an SEO issue. I’ve used it and think it is worth the chance in some cases. Others might be more cautious. If you do use it, try and make it as unobtrusive as possible.

    Blanketly saying to ignore the possibility of penalty seems dangerous to me and not a very good practice. Use caution and best practices. Write content for the user, not the search engines. Don’t try to trick google, it’ll bite you eventually. A lot of people thought they were smarter than the PHD’s google employs and have watched their business crumble with a small tweak to the algorithm.

    Rob MacKay

    using -9999 hides nothing from google – so if you are trying to hide content to "trick" google into not seeing it,that is irrelevant because the data is still there, google can still see it and you are not tricking anyone.

    Google’s knows when it’s being tricked and using -9999 or not isn’t going to fool it or cause it concern – because it does not see it.

    If you code says:

    <h1 style="text-indent:-9999px">My site Title</h1>


    <h1 style="text-indent:-9999px">My site title Keyword spam, Keyword spam, Keyword spam, Keyword spam, Keyword spam, Keyword spam, Keyword spam</h1>

    just because you use -9999 Google will still see the text within your header, because in the HTML it will always be that line. CSS is just cosmetic, and because it hides nothing from Google, Google can still blacklist you if it detects your spam.

    That is why using -9999 is as irrelevant as colouring your text the same as your background colour – Google is colour blind lol It can see the little tricks – so as long as you don’t spam your site with keywords or whatever -9999 won’t matter.


    Coming from an SEO background and moving into front end development and Drupal dev, I can’t help but be plagued by the constant back and forth that never has any clarity. When SEO is concerned, clarity basically tips off the black hats as to where the line is and what they can get away with.

    This -9999 indent business boils down to the difference between what the user is presented with and what the spiders are presented with. Spiders can’t really read images, they’re doing things in this arena but nothing that I heard flat out solves the problem.

    My SEO tainted mind is that things like hide and indent implement a degree of separation so while we’re playing on the level using this in a legit manner, black hatters chomp at every bit.

    I’ve also heard several times over the years that JavaScript isn’t really followed because it pulls a switch-a-roo on the presentation. Again, it seems like if the capability is there to present the user with one thing and the spider with another it’s compromised by those willing to exploit the living daylights out of it.

    For years I was absolutely anti-JavaScript because of this notion, especially on navigation items because to me it seemed like it would compromise the link architecture of the website…

    Anybody come across any documentation, especially from Google, that adds some clarity?


    ok think I found my resolution on the JavaScript front, found this from 2009 and figure that if nofollow attributes are now being discussed then there must be a follow going on…

    Still, if anyone has anything more definitive (especially concerning AJAX) I’d love to see it :)


    @Robskiwarrior I have watched interviews with Google staff that actually state that yes, Google does look at stylesheets, and that they also penalize excessive use of text-indent (or other hiding techniques). Short story is that proper use is fine, hiding a bunch of keywords and links is not, as you said Google is smart enough to know when something dodgy is going on.


    This question has been addressed by Google and other search engines for some time now, and the answer was very clear: you won’t be penalized for using common image replacement techniques. Just don’t try anything dodgy.


    I thing this better then text-indent also SEO Friendly

    .ir {
    font: 0/0 a;
    text-shadow: none;
    color: transparent;

    Taufik Nurrohman

    @faiqadam Not sure about the `color:transparent` from this HTML5 boilerplate part. Is this just the same with make the text color same with background?

    Taufik Nurrohman

    @joshuanhibbert Sorry. Too fast. I mean, why are transparent? What’s the difference with `display:none`? Whether it will be seen on Search Engine?

    **Extra note:** I’v read the above conversations and I can understand that CSS does not affect with how search engine reading the HTML document. So:

    **Super extra note:** I feel a little misunderstood about **Screen Reader** to **Search Engine’s Spider**. What’s screen reader exactly? Why they can not read something that could only be removed with CSS? Why search engine can?


    Screen readers are what blind people use to access the internet (among other things).

    As far as I know, they will respect “display: none”, which means that it will be truly hidden, whereas if you use one of the other ways (squishing the font, moving it off-screen, etc) they will be able to pick up on it, even though it’s not visually there.


    Also, text-indent: -9999px; is not ideal for mobile browsers especially (or perhaps specifically), I understand, IOS devices.

Viewing 15 posts - 1 through 15 (of 17 total)
  • The forum ‘Other’ is closed to new topics and replies.