CSS Logo.I once got caught in the hype that having your entire website being without tables and all css styling instructions being in a separate file would help the search engines crawl my site better. While having all your styling information in a separate style.css file does help your website’s overall code cleanliness and makes it easier to update your website’s look in the future, it doesn’t do too much in terms of a search engine bot being able to get all the content on your website.

You see, search engines don’t care how your website looks, search engines only care about the valuable content and links that are on your website. All the HTML code that is in between:


<table></table> or <style></style>

is completely ignored by the search engine bots.

Now, I am a firm believer in keeping your code clean which is why I will always put my styling information in my style.css file as much as possible. Do I use tables for some of my layouts? Yes, I admit 100% that I use tables to do some of the layouts that css alone would make it difficult to accomplish. Whenever I do use tables, I always assign a css class to the table data to style the table cell correctly. An example of this would be the following:

Style sheet:


.left_advertising { line-height: 100%; font-family: "Times New Roman", Times, serif; font-size: 12px; font-weight: normal; text-align:left; }

HTML page:


<td class="left_advertising" valign="top" width="30%">

So whether you use tables or not really doesn’t matter. I mainly use tables when I know that css is going to be difficult to work with like in a 3 column situation. The 3 column css structure might work in new browsers, but go to Internet Explorer 6 and it turns into a big mess. With tables you don’t have to worry about these problems. Another example would be a css navigation menu. Let’s say you want to center the menu, using a simple table can center the navigation bar quite easily.

Definitely use css as much as you possibly can to layout your site, but when it comes to situations where cascading style sheets aren’t going to do the trick for you, don’t be afraid to use a simple HTML table, it won’t hurt your search engine rankings.


Tags: , , , , , , , , , , , , , , , ,


5 Comments to “CSS versus HTML tables for page layouts”

  1. Lisa Pecunia says:

    Interesting post. I have a question though…

    If search engines ignore everything between and tags, then wouldn’t that be a bad thing? Any content you put in between those tags, meaning inside your table, gets ignored.

    And if you use tables to layout your content page, then your content is not getting indexed.

    Did I miss something?

    [Reply]

    mywebmastertips Reply:

    Search engines do not ignore everything between tags, especially table tags. They do however ignore javascript and php. Everything between html tags like p tag, a tag, and pretty much everything in the tag that is not javascript is scanned by the Search Engine robots.

    Hope this clears things up.

    [Reply]

  2. Lisa Pecunia says:

    Let’s try that again, the tags I inserted in my last comment didn’t appear.

    If search engines ignore everything between <table> and </table> tags, then wouldn’t that be a bad thing? Any content you put in between those tags, meaning inside your table, gets ignored.

    [Reply]

    mywebmastertips Reply:

    I’m sorry, that is just wordpress keeping html special characters out of the database when you make comments.

    Once again, Search Engines do not ignore anything between table tags except for any javascript that might be present.

    [Reply]

  3. Search engines do not ignore everything between tags, especially table tags. nice info thankx

    [Reply]

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>