Structured data populates name, description, url, and contact or location property
Why it matters
Google's Rich Results Test rejects schema-org LocalBusiness markup that omits required fields, stripping star ratings and address panels from search results. Beyond SEO, empty or placeholder fields in name, description, url, or address degrade the directory's data integrity: aggregators and AI crawlers that consume your structured data surface incomplete records downstream. A listing that renders "telephone": "" or "description": "TBD" in its JSON-LD signals untrustworthiness to both search engines and users who encounter the raw data via the schema-org PostalAddress or GeoCoordinates properties.
Severity rationale
Critical because incomplete required fields cause Google to reject the structured data block entirely, making the listing ineligible for all rich result types regardless of other schema quality.
Remediation
Guard against empty fields at JSON-LD construction time, not at the database layer. Use || undefined to omit absent optional fields rather than passing empty strings, which still fail validation.
// lib/listing-schema.ts
export function buildListingSchema(listing: Listing) {
return {
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": listing.name,
"description": listing.description,
"url": listing.publicUrl,
"telephone": listing.phone || undefined,
"email": listing.email || undefined,
"address": listing.address ? {
"@type": "PostalAddress",
"streetAddress": listing.address.street,
"addressLocality": listing.address.city
} : undefined,
"geo": listing.latitude && listing.longitude ? {
"@type": "GeoCoordinates",
"latitude": listing.latitude,
"longitude": listing.longitude
} : undefined
};
}
Throw a validation error during listing creation if name, description, or url are absent — reject bad data at write time.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Listing Data & Schema Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- schema-org · LocalBusiness — LocalBusiness required properties: name, description, url, telephone, address
- schema-org · PostalAddress — PostalAddress type for address property
- schema-org · GeoCoordinates — GeoCoordinates type for geo property
Taxons
History
- 2026-04-18·v1.0.0·Initial import from directory-listing-schema·automated