Of the 418 rows in the dataset, 364 returned a successful HTTP 200 response during the live extraction. Those same 364 rows exposed structured data and a canonical tag. The remaining 54 rows were not quiet technical misses. Forty-two returned 404 and twelve could not be resolved by the collector.
That alignment is useful because it separates a content observation from a collection failure. A blank schema field on a page that never loaded does not prove the page lacked structured data. It proves the extractor did not receive the page.
The quality flag belongs beside the feature
The dataset retains fetch_status and fetch_error beside the content fields. That prevents a failed request from silently turning into zero headings, zero links, no canonical, and no structured data. Without the fetch fields, those zeros would look like page characteristics instead of missing observations.
What should happen on refresh
The 42 historical 404 rows and twelve unresolved rows should be rechecked before model training or reporting. If a page moved, the canonical URL and source page should be reconciled. If a host remains unavailable, the row can stay in the raw dataset with a missing-data flag, but it should not be treated as a successfully measured page.