Skip to content
DevMarDe
Crawl Audit check 19Crawl AuditContent structure

HTML tables for prices: Crawl Audit check 19

Crawl Audit check 19 tests for HTML tables. Why a real table beats a picture or a grid of divs, and how to add one with headers and a caption.

Zain Kazmi3 min read
On this page
Check
19 of 200
Module
AI Search Visibility & GEO
Group
AI Engine Content Parsing & Extractability
Impact
Low

Short answer: when a page compares plans, lists specs or shows prices, a real HTML <table> keeps every value attached to its row and column. A screenshot of a table, or a grid built from <div>s, loses that, and a machine reading the page gets loose numbers. Crawl Audit check 19 warns when a commercial page has no table at all.

What Crawl Audit checks

  • Pass: the page has at least one <table>.
  • Warning: no table, and the page looks commercial: a $, £ or € followed by a number, the words "add to cart", "buy now", "add to bag" or "checkout", or Product or Offer markup.
  • Pass: no table and nothing commercial, so a table isn't needed.

A pricing page with two plans laid out as cards will warn. That doesn't mean cards are wrong. It means there's no table version of the comparison for machines to read.

Why a real table helps

MDN describes the <table> element as "information presented in a two-dimensional table comprised of rows and columns of cells containing data." Two parts make it readable without seeing it:

  • <th>, which "defines a cell as the header of a group of table cells". That's what ties "PKR 1,490" to "Monthly price".
  • <caption>, which "specifies the caption (or title) of a table, providing the table an accessible name". Screen readers use it too.

Google's documentation doesn't say tables help ranking or snippets, and we won't claim they do. The case for them is simpler: they're the only way to publish rows and columns that keep their meaning when read by anything other than eyes.

<table>
  <caption>Plans compared</caption>
  <thead><tr><th>Plan</th><th>Users</th><th>Price per month</th></tr></thead>
  <tbody>
    <tr><td>Starter</td><td>1</td><td>$9</td></tr>
    <tr><td>Team</td><td>5</td><td>$29</td></tr>
  </tbody>
</table>

Our article on whether ChatGPT can read your website puts its list of AI crawlers in a table like this: company, user agent, what it does, and whether it follows robots.txt. The infographic sits next to it for people; the table is there for everything else.

How to add a table on your platform

  • WordPress: the Table block (type /table). In its settings, turn on Header section so the first row becomes <th> cells, and add a caption.
  • Shopify: the rich text editor can insert tables in blog posts, pages, product descriptions and collection descriptions.
  • Wix Studio: Add Elements › Layout Tools › Tables, then switch on the column-title header.
  • Next.js: <table>, <thead> and <th>. Wrap it in a scrolling container so it doesn't push a phone screen sideways.

Common mistakes

  • A pricing table as an image. Nothing in it can be read, searched or quoted.
  • A table with no header row, so every cell is just a value with no label.
  • Tables used for page layout. Use tables for data only.

Sources

All 200 Crawl Audit checks

See how your site does on every check.

Crawl Audit runs this check and 199 others on your domain. The full report is $7.89, one time. The free check on this site covers 25.