I’ve had a long history with displaying tables in WordPress. I particularly like them because Google tends to pick them up for featured snippets. Unfortunately, finding the right one for me isn’t easy because of the following requirements:
- Needs to easily display on smaller screens
- Needs to display a “caption” tag
- Should be easy to edit, rearrange rows etc
I had earlier written about how to create responsive tables using the “Table Maker” plugin. While that still works, my opinion on the matter has evolved since then and I don’t recommend it any longer. The best plugin I have now figured out, is TablePress.
The Right “Kind” of Responsiveness
A responsive table is one that allows viewers to still see the table on smaller screens. By itself, a “table” tag will just get cut off at one end as the screen continues to shrink, which is undesirable to say the least. To solve this problem, table plugin authors have tried all kinds of solutions.
Stacking Rows isn’t Ideal for Featured Snippets
The Table Maker plugin has a unique system whereby it “stacks” the rows one underneath the other when the screen shrinks. It looks like this:
This is actually quite attractive. Unfortunately, it has one massive flaw. Google now crawls pages on a “mobile first” basis. This means that while I was getting featured snippets, the Googlebot was rendering my tables as “row stacking” and displaying them. It looks very odd on a featured snippet and doesn’t exactly feel professional.
Based on this, I’ve concluded that row stacking isn’t the right kind of responsiveness I want for my tables.
Horizontal Scrolling is the Best
Instead, what we need is horizontal scrolling. It’s the only mode where search bots can render tables properly even when it mobile mode. Users of course can simply swipe to the right, and everyone’s happy.
Internally I still kind of prefer the row stacking from an appearance perspective. But as long as Google’s “mobile first” bot keeps rendering the tables as on a small screen, I won’t be using it.
Displaying the “Caption” Tag
The “caption” tag is a crucial piece of HTML that tells Google what your table is about. Yes, it can get the context from the surrounding text. Yes, it can figure it out from the column headers. But why allow Google to guess? The <caption> HTML tag is the formal description of the table.
And almost no plugin shows it.
I don’t understand why almost no one gets this feature right. The otherwise excellent “Supsystic Data Tables” lacks this crucial component, as does Table Maker as shown here:
Without this, I can’t recommend any table plugin. Better to create your own HTML table instead!
TablePress: The Only Complete WordPress Plugin for Tables
TablePress is also the most well-known table plugin. However, by itself it has neither captions, nor responsive design! However, both of those are available with the following add-ons for free:
- Responsive Tables: https://tablepress.org/extensions/responsive-tables/
- Captions: https://tablepress.org/extensions/table-caption-html-tag/
Just download the plugin files and upload them manually to WordPress and you’re done! Here’s the TablePress output with captions enabled:
You can style it separately in CSS if you want. As for the responsive plugin, it adds the choice of responsive style. As explained above, choose the “Horizontal scroll” mode if you want good featured snippet displays in the SERPs.
For now, I think TablePress is the most complete WordPress plugin out there. I’m not sure I like that we need to download additional extensions for functionality, but I get the logic. If I find another plugin in the future that does a better job, I’ll be sure to let you know!
I’m a NameHero team member, and an expert on WordPress and web hosting. I’ve been in this industry since 2008. I’ve also developed apps on Android and have written extensive tutorials on managing Linux servers. You can contact me on my website WP-Tweaks.com!