AI visibility
Why lists and tables should be real HTML
What 13x checks
This is rule aeo.extractable-structure in the public registry: Real lists and tables, not styled divs. It runs on every audit, against the pages we actually fetched, and its result is derived from the response rather than estimated.
- Surface
- AI visibility
- Score weight
- 4 of the readiness score
- Scope
- Reported as skipped when the page renders only with JavaScript
- Applies
- To every site
Registry version 2026-07-30. Every rule is published, and the audit is deterministic — the same page produces the same finding every time.
The fix
The same text the audit hands you when this check fails on your own site.
Mark up comparisons and feature sets as real lists and tables:
<!-- Extractable -->
<table>
<thead>
<tr><th>Plan</th><th>Price</th><th>Projects</th></tr>
</thead>
<tbody>
<tr><td>Free</td><td>$0</td><td>1</td></tr>
<tr><td>Pro</td><td>$29/mo</td><td>Unlimited</td></tr>
</tbody>
</table>
<!-- Not extractable: same content, no structure -->
<div class="row">
<div class="cell">Free</div><div class="cell">$0</div>
</div>Use <th> for headers so each cell has a meaning attached. A styled grid of divs is visually identical and semantically empty — which also makes it unusable with a screen reader, so this fix pays twice.
Does your site have this problem?
13x checks this and 112 others against your live URL in about 30 seconds. No account, and every finding comes with the fix for your framework.
No signup. Results in 30 seconds.
More ai visibility checks
- My content only renders with JavaScriptContent is readable without JavaScript
- How to let ChatGPT and Claude crawl my siteAnswer engines are allowed to retrieve
- Why AI crawlers get a different response than GoogleAI crawlers actually receive the page
- How to write a description AI can quoteA citable description near the top
- Why my content is not quoted in AI answersPassages stand on their own
- Why my pages contradict each other about pricingThe site states the same facts everywhere