Open-source SEO primitives ↗

Editorial article

Why structured data belongs beside the content

An editorial look at aligning visible content, metadata, and JSON-LD without treating markup as a substitute for useful writing.

Demo editorial desk · February 14, 2025 · Updated February 20, 2025

A page has a clearer relationship with search engines and social platforms when its readable content and structured description agree. That does not mean adding more markup to every page. It means giving important facts one deliberate home and reusing them consistently.

Useful writing comes first

Metadata cannot rescue a vague article. Start with a specific headline, a helpful summary, and sections that answer the reader's next question. Once those facts are stable, a schema graph can describe the page without inventing a second version of it.

Make relationships explicit

A canonical URL identifies the document. Open Graph describes how it should travel through a share. JSON-LD connects the article to its author, publisher, dates, and page. Each layer has a different job, but they should point to the same underlying facts.

Inspect before publishing

Use the inspection panel below, then view the generated source. This route composes a NewsArticle with a WebPage, Organization, and BreadcrumbList. The visible headline, summary, section, author label, and dates are intentionally synchronized with that graph.

Read the metadata contract note for the same idea applied to blog content.

Inspect generated JSON-LD

This is the same schema graph emitted by SEO.astro; the demo only formats it for readable inspection.

{"@context":"https://schema.org","@graph":[{"@type":"NewsArticle","@id":"https://astro-seo-complement.pages.dev/editorial/#article","headline":"Why structured data belongs beside the content","description":"An editorial look at aligning visible content, metadata, and JSON-LD without treating markup as a substitute for useful writing.","url":"https://astro-seo-complement.pages.dev/editorial/","datePublished":"2025-02-14T00:00:00.000Z","dateModified":"2025-02-20T00:00:00.000Z","author":{"@context":"https://schema.org","@type":"Person","@id":"https://astro-seo-complement.pages.dev/about/#person","name":"Demo editorial desk","url":"https://astro-seo-complement.pages.dev/about/"},"publisher":{"@context":"https://schema.org","@type":"Organization","@id":"https://astro-seo-complement.pages.dev/#organization","name":"astro-seo-complement maintainers","url":"https://astro-seo-complement.pages.dev/"},"keywords":"structured data, Astro, SEO","articleSection":"Web development","inLanguage":"en-US","mainEntityOfPage":{"@id":"https://astro-seo-complement.pages.dev/editorial/#webpage"}},{"@type":"WebPage","@id":"https://astro-seo-complement.pages.dev/editorial/#webpage","url":"https://astro-seo-complement.pages.dev/editorial/","name":"Why structured data belongs beside the content","description":"An editorial look at aligning visible content, metadata, and JSON-LD without treating markup as a substitute for useful writing."},{"@type":"Organization","@id":"https://astro-seo-complement.pages.dev/#organization","name":"astro-seo-complement maintainers","url":"https://astro-seo-complement.pages.dev/"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://astro-seo-complement.pages.dev/"},{"@type":"ListItem","position":2,"name":"Editorial","item":"https://astro-seo-complement.pages.dev/editorial/"}]}]}