I can’t seem to get a straight answer when it comes to how a site is coded/built and the affects that this has on SEO. After having taken a few web courses (design to SEO related courses) it seems to me that the “best practice” with regard to building a site that is search engine “friendly” is with CSS, utilizing as few tables as possible. I’ve been told by numerous instructors that tables can adversely affect SEO rankings and they don’t recommend constructing with tables (they consider this an outdated approach).
However, I work with a couple of web developers that swear this isn’t true and refuse to move away from building sites with tables. Can you solve this mystery for me once and for all? And, if CSS is the way to go, should I go to the expense of having sites developed with tables converted to CSS in order to improve SEO??
Thanks, Barb. You ask a great question!
I have never heard that tables can adversely affect your SEO placement (also known as your “SERPs”), and on the face of it, that doesn’t make sense anyway. As long as it’s legal HTML and properly formed, I can’t imagine it’s a problem. The definitive word for this sort of thing is always Google, and a quick check at their Webmaster Guidelines reveals nothing about tables being good or bad.
SEO Notepad says: “Today, the discussion has become more of an argument over whether using CSS is superior to using tables, and that is a debate that is largely a matter of taste and style.”
One author at Webmaster World had a good point too: “One advantage to table free design can be semantic. When you use tables for layout, groups of text on the page that are actually related visually and in meaning can end up widely separated in the html.”
What I will say, however, is that a pure-CSS site is problematic, because if you think about it, a page that’s encoded like:
<div class=”regular-text”>This is stuff that’s not anywhere near as important</div>
How can the search engine figure out what are the most important words on the page if it doesn’t parse the CSS structure? Compare that to:
<p class=”regular-text”>This is stuff that’s not anywhere near as important</p>
Now you’ve given Google a lot more information to work with: The “h1” is a headline that is critically important to identifying the content of the page, while the text in the “p” block is just regular text.
Does that make sense? As a general rule, the search engines don’t parse and analyze CSS or Javascript, so designers who get too fancy with their layout code end up hurting you with search engine results, not helping, even if the site’s gorgeous.
Ultimately, though, the real keys to success are to produce great content with frequency that’s never shown up elsewhere online, to have good page titles that are specific to the content of that page, and to gain inbound links from related sites.
I have a lot of tables on my posts. Every time i check with SEO score, i am getting reports as “Nested tables”. So I am going to remove all of them and make it simple. However, I have seen on many websites that tables have been used. Even through ranked good in the Search engines? Any reason for that?
Personally I think CSS and tables work just fine together. The important thing is moderation and using the tool as it’s intended. I’ve seen sites generate 25K worth of CSS code just to replace 5-6 lines of table code. Talk about ridiculous. And a week later I bet the end results are completely unintelligible, even to the original coder! I really had to laugh when someone told me that CSS3 RE-introduces table tags ala CSS tags. LoL Hey, folks, they’re all just tools. Use’em as you like but don’t rain on someone else’s parade ’cause they like different tools! Nuff said.
Google ranks table-based sites just as well as CSS-based sites.
It’s the content that counts, and they do not care how the layout is achieved.
Enough with the “tabular data” argument.
There’s nothing wrong with using tables to create a basic 2 or 3-column layout.
Additionally, not many designers nest tables more than 3 levels deep.
Use whichever method you are comfortable with, and yields the desired effect.
See Google’s video and bust the myth…
http://morechristlike.com/which-is-more-seo-friendly-css-or-tables/
Oh yeah, and one last thing: Any web designer that builds a complete website in tables, doesn’t know how to use CSS properly.
Charles nailed it. Good comment. Thats exactly what tables are supposed to be used for – data.
I consider tables highly outdated. I think that tables should be used for what they were originally intended, tabular data. There are a lot of CSS snobs around who will insist that everything must be CSS, to the extent that they will make a complex set of classes to mimic a table. In my mind this is crazy.
CSS is the way to go for layout as it tips the balance between content and structure back towards content, which we know google likes. But if you want to include a table of numerical data, by all means put a table in, it’s what they are there for afterall.
Sorry Dave, but I think there are some issues that have to be separated. Without tables does not mean without structural tags like headings (h1 to h6, paragraphs (p) and lists (li). Or formatting (b, em, etc.) tags for that matter. Without tables just means don’t use the tag.
And in my humble opinion it has some SEO advantages not to use tables in Webdesign.
Maurice
I agree,
In fact, if the html pages are a front end for a database driven set of pages those pages will return table based anyway.
Jack
Sorry, but logic dictates that a search engine spider that’s reading through 400 words of actual content on a page needs to have some way of ascertaining which words are more important than others through a mechanism more accurate than keyword density. Ergo, it analyzes the markup that’s applied to the different words and phrases on the page.
Hi Dave, I think that Jill Whalen would disagree with you about H1 tags. In a recent article at http://searchengineland.com/most-of-seo-is-just-a-boondoggle-22297 she said:
“And don’t get me started on H1 tags. Old school SEOs swear by them, and often suggest if you don’t have keywords in them, your page is doomed. Yet, take them off a page and you’ll be hard pressed to see rankings or traffic changes from Google.”
So who’s correct?