Without a LocalBusiness JSON-LD block using schema-org LocalBusiness type, Google has no machine-readable signal to populate Knowledge Panels, local pack results, or Maps entries for your business. Competitors with this schema in place get rich search result features — star ratings, hours, phone number — that yours will not. Omitting it doesn't just hurt rankings; it makes your business invisible to the structured-data pipeline that drives local discovery at scale.
Critical because the absence of LocalBusiness JSON-LD eliminates eligibility for Google's local pack, Knowledge Panel, and map results — the primary discovery channels for local businesses.
Add a JSON-LD script block to app/layout.tsx using the most specific schema-org LocalBusiness subtype that fits your business. Generic Organization schema does not satisfy this requirement.
// app/layout.tsx
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify({
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Springfield Plumbing",
"url": "https://springfieldplumbing.com"
})}}
/>
Replace "Plumber" with the correct LocalBusiness subtype from schema.org (e.g., Restaurant, Dentist, LegalService).
ID: marketing-local-seo.local-schema.local-business-jsonld
Severity: critical
What to look for: Search for application/ld+json script blocks in layout or page files. Check for JSON-LD with @type set to LocalBusiness or any recognized subtype (e.g., Restaurant, MedicalBusiness, DentalClinic, LegalService, AutoRepair, HealthAndBeautyBusiness, HomeAndConstructionBusiness, LodgingBusiness, SportsActivityLocation, or any other schema.org LocalBusiness subtype). Check for dedicated structured data component files or utility functions that generate JSON-LD.
Pass criteria: Count all application/ld+json script blocks across the codebase. At least 1 JSON-LD block with @type that is LocalBusiness or a recognized LocalBusiness subtype is present in a layout or page component that renders on the site's primary location page (home, contact, or a dedicated location page). Report the count of JSON-LD blocks found even on pass.
Fail criteria: No JSON-LD structured data found anywhere in the project, or JSON-LD is present but does not use a LocalBusiness type (e.g., only WebSite or Organization schema without LocalBusiness). Do not pass when only Organization schema exists without LocalBusiness.
Skip (N/A) when: Whole-audit N/A rule applies (project is not a local business). Signal: no local business indicators found per the detection criteria above.
Detail on fail: Describe what was found. Example: "No JSON-LD structured data found in any layout or page file" or "JSON-LD present in layout.tsx but uses @type: Organization — no LocalBusiness type found"
Remediation: Add a JSON-LD script block to your root layout or home page:
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Your Business" }
</script>
Use the most specific LocalBusiness subtype that fits your business (e.g., Restaurant, Dentist, Plumber).
Cross-reference: For broader structured data and SEO strategy, the Advanced SEO audit covers additional schema types and optimization techniques.