There has often been an argument between SEO professionals and webpage programmers over the use of tables, particularly nested tables. SEO professionals would rather programmers used CSS and styled DIV tags whilst programmers feel the whole issue is rather moot – search engines are more worried about readability, load times and the actual content on the page.
Where there is agreement is that CSS should be used in a page’s layout. It’s the publication of data that often brings disagreement.
Whether you use styled DIV tags or tables, the end result is often the same. In fact, if you are publishing a lot of tabulated data – for example, a calendar – then the use of tables can be faster and cleaner than styled DIV tags.
If you take the time to examine search engine results, there are a lot of web pages ranked at number one that use tables. Come to think of it, there are a lot that are not coded properly nor do they come anywhere near being W3C valid. Of course, we don’t know what the future holds, and search engines can and do change their criteria all the time. Styled DIVs certainly have their place, and should be used instead of tables when there is only a small amount of data. Nested tables are the best option, if used correctly, when publishing large amounts of tabulated data. The two do live happily side by side, and should be used whenever the need arises.
What is important is to ensure that nested tables are used correctly, and that the smallest and simplest amount of code is used. Where programmers get into trouble is when they make nested tables overly complex. This tends to bloat the amount of code on a page and will slow down a page’s load time. Like all programming, tables need to be concise and easy to read and follow. Nesting – that is, the use of tables within tables – should be kept to a minimum. When it comes to actual page layout, the use of CSS and styled DIVs is faster and easier to maintain. You can use styled DIVS to place your table at a certain point on the page, then table code to publish the data within the table.
When creating a webpage, it is the user’s experience that is important. It should also be kept in mind that users now access webpages from a variety of sources, not just computers. There are browser issues to consider along with mobile technology. For this reason, tables should not be used to lay out a page. Browsers treat tables differently to CSS – CSS is published as it is loaded whereas the data in tables is not published until the whole table has been loaded into memory. Users may see a blank screen for 10-20 seconds, and that could be enough to drive them away. For SEO purposes, publish the bulk of your page using CSS and reserve tables for the publication of data.
That principle will ensure that a minimum amount of table code is used, and that nesting is kept to a minimum. When nesting, it also helps to have programming comments, used judiciously, as guides for future programmers to follow. Get the balance right and the use of tables will not have any negative effects on your SEO outcomes, however, they may just make your users’ experience a lot easier, and that will have a positive effect on your websites success.