Schema-validation test page coverage

Each page targets one Factor::MESSAGES ID or one extraction edge case. Crawl this directory and verify the corresponding row appears in crawl_schema_blocks and crawl_messages.

PageTarget IDWhat it tests
schema-500-jsonld-parseerror.html500JSON-LD parse error (malformed body)
schema-501-microdata-bad-itemtype.html501Microdata itemtype is not a URI
schema-502-rdfa-bad-typeof.html502RDFa typeof attribute is empty
schema-503-unknown-type.html503@type not in Schema.org vocabulary (typo Prodcut)
schema-504-unknown-property.html504Property name not in Schema.org vocabulary (typo nam)
schema-505-property-wrong-type.html505Schema.org property used on wrong type (birthDate on Product)
schema-507-wrong-value-type.html507Wrong @type on a nested property (Article.author=Place)
schema-508-enum-invalid.html508MerchantReturnPolicy returnPolicyCategory not in allowed enum
schema-509-string-too-short.html509Dataset.description below minLength=50
schema-510-string-too-long.html510Course.description above maxLength=60
schema-511-pattern-mismatch.html511MerchantReturnPolicy applicableCountry contains lowercase code (violates ^[A-Z]{2}$)
schema-512-numeric-out-of-range.html512ListItem.position below minimum=1
schema-514-cardinality-too-many.html514returnPolicyCountry above maxItems=50 (51 entries)
schema-516-conditional-failed.html516Event if/then violation (previousStartDate set without eventStatus=EventRescheduled)
schema-518-none-found.html518Plain HTML page with no structured-data markup
schema-519-orphan.html519JSON-LD object missing @type entirely
schema-format-violation.html511 (format)Article with malformed datePublished — guards the format-keyword fix
schema-microdata-clean.htmlClean Microdata Person control (Layer A on this domain)
schema-rdfa-clean.htmlClean RDFa Person with body vocab control (Layer A on this domain)
schema-product-ok-fixed.htmlValid Product with numeric price (should produce zero schema_* issues)
schema-microdata-itemref.htmlMicrodata itemref pulling properties from elsewhere in DOM
schema-rdfa-prefix.htmlRDFa with prefix attribute defining a CURIE mapping
schema-jsonld-graph-multi.htmlJSON-LD @graph with 4 entities → 4 rows in crawl_schema_blocks
schema-jsonld-multi-script.html3 separate <script> tags → 3 rows in crawl_schema_blocks
schema-article-mixed-validity.htmlSame feature, valid + invalid blocks → DAPI eligibility merge=false
schema-multi-format-product.htmlSame Product expressed in JSON-LD + Microdata + RDFa → FE format filter activates
schema-513-cardinality-too-few.html513Empty itemListElement array (minItems=1)
schema-515-oneof-missing.html515Product missing all three of: offers / review / aggregateRating
schema-multi-feature-page.htmlProduct + Article + LocalBusiness + Organization → multi-feature eligibility cards
schema-fully-eligible-product.htmlProduct with all required + recommended → eligible=true (green)
schema-empty-jsonld.html519Empty / whitespace / contextless JSON-LD blocks → degenerate-input guard