---
term: "Semantic HTML"
canonical: https://citable.wiki/glossary/semantic-html
license: CC BY 4.0
---

# Semantic HTML

**Definition:** Semantic HTML is markup that uses elements for what content is rather than how it should look: article, section, nav, h1–h6, dl, table, time, blockquote and cite, instead of generic div and span. Because crawlers and text extractors read structure rather than styling, semantic markup determines how a page is split into passages and which parts survive extraction.

The sectioning and heading elements are defined in the [WHATWG HTML Living Standard](https://html.spec.whatwg.org/multipage/sections.html). MDN's glossary entry on [semantics](https://developer.mozilla.org/en-US/docs/Glossary/Semantics) states the principle plainly: write HTML to represent the data, not its default presentation.

Answer engine pipelines typically convert a page to plain text or Markdown before chunking it, and that conversion is only as good as the markup. Headings become section boundaries, `<p>` becomes a paragraph, `<table>` becomes a table, `<dl>` becomes term and definition pairs. A page built from nested `<div>` elements with visual class names converts into one undifferentiated block, and the answer-first passage at the top merges with the navigation around it.

The rules that matter most for extraction:

- one `<h1>`, and a heading outline that does not skip levels
- `<main>` around the content; `<nav>`, `<header>`, `<footer>` and `<aside>` around everything that is not the content
- `<time datetime="…">` on published and updated dates
- real `<ul>`, `<ol>`, `<table>` and `<dl>` elements for list-like, tabular and definitional data

```html
<article>
  <h1>What is content negotiation?</h1>
  <p data-speakable="short-answer">Content negotiation is the HTTP mechanism…</p>
  <p>Published <time datetime="2026-01-12">12 January 2026</time></p>
  <h2>How it works</h2>
  <dl>
    <dt>Accept</dt>
    <dd>The media types the client prefers, in order.</dd>
  </dl>
</article>
```

A page marked up this way converts cleanly into the Markdown that [this site serves to crawlers](/guides/serving-markdown-to-llms).

## Frequently asked questions

### Is semantic HTML the same as structured data?

No. Semantic HTML describes the role of content within the page — this is an article, this is its heading, this is a definition list. Structured data (JSON-LD using schema.org types) describes the things the page is about — a person, an organisation, a defined term — in a vocabulary machines share across sites. Good pages use both, generated from the same source.

## Related guides

- [Serving Markdown to LLMs: content negotiation and .md endpoints](https://citable.wiki/guides/serving-markdown-to-llms)
- [How to write answer-first content that LLMs can quote](https://citable.wiki/guides/how-to-write-answer-first-content)

---

Source: https://citable.wiki/glossary/semantic-html
