Does using CSS affect SEO?

I get asked this question time and time again. People seem to believe that the use of Cascading Style Sheets (CSS) will help with their Search Engine Optimisation (SEO). Well, does it?

The short answer is no. The long answer is as follows…

To begin with we will look as to why CSS has nothing to do with SEO by looking at the most popular Search Engine’s webmaster guide lines.

  • Google’s Guidelines on SEO’s
  • Google’s Guidelines on Site Design
  • MSN Search
  • Yahoo!

You will quickly notice that none of these pages contain anything about CSS, this is because you will find that search engines don’t even read CSS. Sure they may read your CSS file, but you’ll find they are looking for links not styles.

Once you realise this, you soon realise that the style of your page actually has no effect on your efforts to SEO, and that the search engine is more interested in your markup. It’s believed that search engine will actually strip the tables or divs when it processes the page as they serve no purpose for indexing pages (see: Poodle Predictor).

It is argued that using CSS forces you to use clean markup, and therefore CSS does help with SEO. I partially agree to this, however you have to remember that search engines are backwards compatible, and still read table layouts all the same. Still this argument is flawed as its the markup that is optimised, the style of the page still has no impact on SEO, infact you could do away with the CSS file all together, and it will still rank the same on search engines.

One of the things I notice recently about the industry is the way people seem to work these days. Often web design, web development and SEO cross, and people don’t clearly define them seperately.

A web designer is someone who designs and does not code (think of an artist), therefore a web designer must use a graphics package (such as photoshop) to design their web site layout. These applications use (very bad) html table layouts to produce the pages. They would not use CSS as this is “programming”. Yes, thats right CSS is NOT designing.

A web developer is someone who minipulates the web design to give the website its functionality. Once they have a design from the web designer, they would begin optimising the code and perhaps only then would they begin to use CSS.

Search Engine Optimisation is NOT web design, its mainly about marketing but usually requires some web development.

The main reason for using CSS over a table layout is because tables are there to provide a method to display tabular data, not to form a layout for your web page. It is also good practice that you seperate the page content from the page style as this allows for more flexablility, and because CSS is used it forces you to have clean markup as you are more organised. See “Why tables for layouts are stupid”

One of the major benifits to everyone for using CSS is with regards to bandwidth, as using a table layout is more code, than a layout created for use with CSS. One of the down sides, is that your beautiful CSS page style may not work properly on older browsers, where as a table layout would. One of the other major benifits of using a layout that is designed for use with CSS over table layouts is that it allows you to put your contents BEFORE your navigation (as long as the browser supports it). There are plenty more pros and cons of using CSS, but they all have nothing to do with SEO, as the style of the page means nothing to a search engine.

In summery, using CSS is definatly a better way to develop websites, but it doesn’t matter to the search engine whether you use CSS or not, they still view the page exactly the same, as it is the content that is important.

Still don’t believe me? Try this: Completly block search engines from reading your CSS file all together (using robots.txt), and see if you rank any differently on the search engines.

css-seo.html 1137526215.html

Related posts:

  1. jQuery sucks at browser detection This week i’ve been tweaking a little site I’ve started...
  2. Adding table controls and support to TinyMCE in WordPress One thing wordpress has always lacked is the ability to...

5 Comments »

  1. Darren - SEO Company said,

    October 13, 2007 @ 12:43 pm

    Hi Thanks for the article, i am going to reference this in my blog on the same subject. What do you think of the idea that another benefit of using CSS and DIVs is that you can manipulate the order that text appears to the search engines by positioning elements on the page so that all your keyword rich content is not preceded by useless links that might dilute the potency of the first paragraph and H1 tag.

  2. Tim said,

    November 20, 2008 @ 2:57 pm

    Interesting.. you strongly claim css will not help with seo, then you reference “Why tables for layouts are stupid”.. On page 3 they say that css WILL “get you better search engine results”. I don’t know either way but Seybold is very well established and I don’t think they would say that if it were false.

  3. hm2k said,

    November 20, 2008 @ 4:59 pm

    Wow, did you even read the whole article?

    1. Search engines are backwards compatible, thus tables don’t matter.
    2. Not using tables forces you to use schematic markup. Better code can mean better search results.
    3. Schematic markup helps SEO, not CSS. CSS styles the markup.

    Just because they are established doesn’t mean that common sense doesn’t over-ride, further more, their choice of wording isn’t exactly in-depth.

  4. Simon said,

    August 18, 2009 @ 12:41 pm

    Nice article, and you are right about CSS not working in older browsers, and there is always issues with IE and Firefox displaying content differently.

  5. Jeff said,

    December 4, 2009 @ 1:43 pm

    The article was quite interesting and sounds rational to me but I come away with open questions. Supposedly search engines look at headings for example with H1 tags. With CSS if the engine only read the markup it would never know that the heading exists. Search engines care about the relative position of certain words. Without analyzing CSS the search engine would have no way to know where anything is positioned on the page (to an extent it could possibly figure out high vs. low, but even then with the right CSS everything could easily be upside down). So these examples (and there could be several more) make me think that CSS could possibly have a Negative impact on rankings depending on how heavily some of the things I mentioned are weighted.

    This is not a theoretical question. I’m trying to figure out right now how to put keywords in a title but I don’t think Google will know it is a title because its a 100% CSS webpage.

RSS feed for comments on this post · TrackBack URL

Leave a Comment