# seo/structured-data

Every page carries valid JSON-LD structured data. Reglen seo/structured-data kører i page-scope med severity 'error' og indgår i teknisk seo-domænet sammen med 23 andre kontrakter i frameworket.

## Hvorfor structured-data findes

Schema.org JSON-LD is how search engines and AI systems read entities (organization, article, product, FAQ, breadcrumbs) instead of guessing from prose. Gold standard: every page has at least one JSON-LD block that parses and declares @type, generated from page data.

## Sådan håndhæves structured-data

Reglen structured-data evalueres på hver enkelt renderet HTML-side for sig, så et fund altid kan føres tilbage til én konkret side og én konkret rettelse i data eller template. Fejler en side, får agenten en finding, hvor fix-instruktionen for structured-data er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på structured-data fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.

## Test og fixtures

Som alle kontrakter i frameworket har seo/structured-data en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består structured-data sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

## Relaterede regler

- [seo/og-tags](https://pseo.mikkelkrogsholm.dk/regler/seo/og-tags/)
- [seo/lang-attribute](https://pseo.mikkelkrogsholm.dk/regler/seo/lang-attribute/)
- [seo/image-alt](https://pseo.mikkelkrogsholm.dk/regler/seo/image-alt/)
