A lot of designers discourage the use of tables but I have a layout where I'll use more div structure to achieve something made simple with a table..

Are tables bad for search engines?

edit: I will use CSS for the table to keep the HTML clean.

  • Can you describe your need so we might suggest alternatives to tables (if needed). Dec 19, 2010 at 22:29
  • 2
    You might find this interesting.
    – tjm
    Dec 19, 2010 at 22:35
  • 1
    and yet the same snobs are quite happy to misuse lists for page menus! Tables are by definition to do with layout, not content. It is not a spreadsheet tag. There are many dynamic layouts that are impossible to do with css but possible with tables. A lot of people take the shortcut of having a fixed width page but this is far worse for accessibility. Yes content should be seperated from layout but this is not a reason to rule tables out in a knee jerk reaction. Using them where appropiate is perfectly acceptable.
    – JamesRyan
    Dec 21, 2010 at 14:52

11 Answers 11


As far as SEO is concerned, search engines do not care. However, the idea is to separate design from content. Tables should strictly be used for tabular data, divs for layout. Using tables for design purposes mixes your markup with layout elements, which is regarded as bad practice.


HTML tables are good:

  • displaying table-like date

Non-tabular data presented as HTML tables are bad for:

  • physically challenged people because they have to use screen readers (which do not work very well with nested tables)
  • search engines prefer sites which are made for people and accessible sites are one of them

To see your site as search engines try to visit it with text browser like ELinks or lynx.

  • 2
    Note of course, that screen readers approach the web page from a very similar angle to that of search engine bots.
    – Orbling
    Dec 19, 2010 at 22:32

It's been said before, and I'll say it again.

Tabular data - Use tables

Layout - Use Divs

I have a layout where I'll use more div structure to achieve something made simple with a table..

Sounds like you're trying to cut corners or make it easier for you to finish the job. In any case, there are a few exceptions where using a table might be crucial but without viewing what the design looks like, I can't say.

  • 2
    -1 for not answering the question.
    – ajbeaven
    Dec 19, 2010 at 22:33
  • sorry, I didn't mean layout. It's for entries. I guess tabular data
    – Cyber Junkie
    Dec 19, 2010 at 22:34
  • 1
    -1 for not answering the question - the question is not talking about optimal design of the website, or even good practices. It is purely focused on "Does it impact SEO?"
    – Arafangion
    Dec 19, 2010 at 22:42

<table>s vs. <div>s will have little or no effect on your SEO results. However, putting titles and keywords into your <h1>, <h2>, <h3>, etc.. tags will help.


Google doesn't care for ranking purposes what your code looks like. They only care that your visitors react well to it.

As long as your site works for your users there are no penalties from Google for how you structure your markup.

On the other hand, when users find your site unappealing, or when it doesn't work for them, they leave. Google does notice when users come back to the results page after visiting your site and click on your competitors. Your rankings fall when that happens


Search engines do not have a preference when it comes to tables and/or CSS, and you can even use both on the same page without issue.

If you really wanted to push it, I suppose page load time is something to keep in mind. It is a known factor in AdWords Quality Score, and there is definitely evidence of Google checking out user behavior in the SERPs, so if they see a high rate of abandonment (customers getting impatient with the page load time), you can lose out on rankings. Divs and CSS load faster than tables.


Ok, here's the deal.

It must be said, that tables are meant for tabular data, not layout. You're making accessibility a issue on both older mobile phones and text-based browsers used by the visually-impaired.

Now, Google's algorithm most definitely takes that into account. I don't know the specifics algorithm, but I would guess that when someone is on a mobile phone, Google gives results that it knows is more appropriate to a mobile phone - so you might be losing a great deal of potential visitors if you use a table for layout.

Depending on your layout, you might also be making it difficult for the search engine to determine which text and paragraphs are related to which. This could be bad for your ranking, but probably not too much. With CSS layout it is, however, easier to ensure that the main content of your page is near the top, which always helps.

Thirdly, using tables for layout duplicates a lot of HTML markup for every page in your site that is loaded. This duplication will effect your page-load time, even if it is only slightly, but Google, among other engines, are known to use load time as one of their metrics in determining site rank.

All in all, I don't think the difference in main search engine ranking would be that great. There are definite advantages to using divs CSS for layout though, as noted in this post, and it should therefore be the recommended course of action, unless there's a really good reason for going the table route (which there rarely is).

  • Sounds like a speculation for me, not an answer.
    – user7581
    Jan 10, 2014 at 15:43

Yes, table design are bad for S.E.O.

The best thing to do for S.E.O. optimization is considerate that a bot read your site as a blind.

So, when you use a table design, it's impossible to properly linearize your content, and impossible to know what is on the top and what isn't.

Try to do a site conform with section 508 (see this article about validators for it) and WCAG from the WAI (take look here for validation), and try to read it with tool like Lynx, or after a linearization (with the Web Developer Toolbar of Firefox by exemple).

The more your respect the grammar (<p> is for paragraphs, <table> for tabular content...), of the (x)HTML, the more it improve its accessibility AND its S.E.O..

So, use <table> for tabular data, not for design, use <h1> as the first heading title not a <span> with syles, etc., and don't use some <h3> just to make your text bolder and bigger, but because you put a first and a second heading title, and you need to create a sub section of the previous <h2> section in the structure of your document (not your webpage).

An important thing to do it easy is to know and use the document flow.

  • 1
    I don't see how this answers the question. OP asked about SEO impact, so everything below second sentence is a noice, and the first 2 are too little for answer.
    – user7581
    Jan 10, 2014 at 15:40
  • I was taught that providing a solution when talking about a problem is a far better way that talking negatively and aggressively as you do. So, through the solution I provided, I think that it's easier to see how and why tables are bad for SEO. IMHO, no, it's not noise (noice = noise ?), it's a manner to prove my point, and provide solution to a problem by the same occasion.
    – Pascal Qyy
    Jun 21, 2014 at 14:10

HTML tables should be used for tabular data and data sets (input as well as output) that flow naturally as tabular data such as forms. Using them for layout only is inadvisable.

As for SEO and Google, well, I believe Google applies the same logic as above, in any case nesting textual information deep in such a structure, rather than with an appropriate structure using headings and paragraphs works better.


On page SEO is related to content (quality, freshness, utility) and how it's wrapped into HTML elements.

Wrapping/composing HTML is choosing right tags for content. It just doesn't makes sense, for example, wrap all text within one h1 element, you putting just text into a form with no field nor submit button.

That said, I will repeat: use tables for tabular data. In this context they makes sense. In other contexts (like for making layout only), they don't.

This kind of misuse is bad for SEO as content is not indexed properly - you can achieve a better on-page ranking through an enhanced, clean and straight to the point markup.


HTML tables are great for SEO.

I used DIVs for years. Then, as an experiment, I decided to use tables on one of my websites for layout. My keyword rankings shot up. I redid my websites one by one to use tables. In every case SEO benefited.

Despite what the web snobs and the "Top Ten Ways to Improve your SEO" articles say, you'll never discover best SEO practices without doing your own tests.

I really don't care what a tag was meant to do, I care about results.