The one defect v1.12.7 knowingly left behind, and the last of the family: a script that assumed the
shape it happened to see first. This one never raised. It returned a confident wrong answer, at
high severity, to exactly the users whose markup was already right.
Fixed
-
A LocalBusiness subtype now counts as a LocalBusiness.
local_signals_checker.pymatched the
literal stringLocalBusinessand nothing else, so a restaurant, dentist, plumber or bookshop
carrying correct, more specific schema — the markup schema.org actually asks for — was told at
high severity to add the schema it already had.maps_checker.pyhad known the subtype list
since it was written; the two scripts simply disagreed about what a local business is.The taxonomy now lives once in
scripts/jsonld.pyasLOCAL_BUSINESS_TYPES(149 types, grouped
by parent so it stays checkable against schema.org) and both scripts read it. Coverage is a strict
superset of whatmaps_checker.pymatched before: the five names in its private set that schema.org
has never defined (Cafe,Gym,AutoBody,BarOrSalon, and aselfstorgetypo) are kept as
LOCAL_BUSINESS_ALIASESso nothing stops being detected — but a page using one now gets a medium
finding naming the real type instead of silent acceptance.
Added
jsonld.declared_types(),jsonld.local_business_types_in()andjsonld.is_local_business().local_signals_checker.pyoutput gainslocalbusiness_types, and its recommendation names the
subtype it found rather than saying "LocalBusiness" back at a page that says "Restaurant".tests/test_local_business_subtypes.py(78 tests; suite 300 -> 378), including a parametrised
guard that every typemaps_checker.pymatched before this change is still matched.