SEO London — Freelance SEO & AI Consultant
Technical SEOLocal SEO

Local Schema Markup for SEO:
How to Implement LocalBusiness Structured Data

LocalBusiness schema is the structured data type that tells Google precisely what your business is, where it operates, and what it offers. Implemented correctly, it removes ambiguity from your local signals and reinforces the information in your GBP listing. Implemented incorrectly — or not at all — it leaves Google to infer your business details from unstructured text.

By Freelance SEO & AI Consultant, London·28 July 2026·11 min read

What LocalBusiness schema does

Schema markup is a vocabulary of structured data that you add to your website's HTML to help search engines understand the content. For local businesses, the LocalBusiness schema type — and its more specific subtypes like ProfessionalService, MedicalBusiness, or HomeAndConstructionBusiness — provides a structured way to declare your business name, address, phone number, opening hours, geographic coordinates, and service area.

The primary benefit is disambiguation. Google processes enormous amounts of unstructured text to extract business information. When your website contains structured LocalBusiness schema that exactly matches your GBP listing, you are confirming the same information through two independent channels — which reduces the likelihood of Google displaying incorrect details in the knowledge panel or local pack.

A secondary benefit is eligibility for rich results. Businesses with correctly implemented schema can appear with enhanced features in search results — star ratings, opening hours, and price ranges displayed directly in the SERP.

Required and recommended properties

Google's documentation distinguishes between required properties (needed for rich result eligibility) and recommended properties (improve the quality of the structured data). For local businesses, the following are the most important:

PropertyStatusNotes
@typeRequiredUse the most specific subtype available (e.g. ProfessionalService, not just LocalBusiness)
nameRequiredMust match your GBP business name exactly
addressRequiredUse PostalAddress subtype with streetAddress, addressLocality, postalCode, addressCountry
telephoneRecommendedInclude country code (+44 for UK)
urlRecommendedYour canonical homepage URL
openingHoursSpecificationRecommendedUse structured hours rather than the text-based openingHours property
geoRecommendedGeoCoordinates with latitude and longitude — reinforces proximity signals
areaServedRecommended for SABsUse for service-area businesses; set to borough, city, or region names
priceRangeOptionalUse £, ££, £££ format for UK businesses
sameAsRecommendedLinks to your GBP listing URL, Companies House entry, and key social profiles

How to implement LocalBusiness schema

The recommended implementation format is JSON-LD — a JavaScript object embedded in a <script type="application/ld+json"> tag in your page's <head>. Google prefers JSON-LD over microdata or RDFa because it is easier to maintain and does not require changes to the visible HTML structure.

Example: Professional Service LocalBusiness schema

{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "name": "SEO London Services",
  "url": "https://seolondon.services",
  "telephone": "+44-20-XXXX-XXXX",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "London",
    "postalCode": "EC1A",
    "addressCountry": "GB"
  },
  "areaServed": [
    "City of London", "Hackney", "Islington",
    "Tower Hamlets", "Southwark", "Lambeth"
  ],
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 51.5074,
    "longitude": -0.1278
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "09:00",
      "closes": "18:00"
    }
  ],
  "priceRange": "££",
  "sameAs": [
    "https://www.linkedin.com/company/seo-london-services",
    "https://g.page/seo-london-services"
  ]
}

Place this schema on your homepage and, if you have a dedicated contact or locations page, on that page too. Do not duplicate it across every page — one instance per site is sufficient for the core business entity.

Common LocalBusiness schema mistakes

Using @type: 'LocalBusiness' when a more specific subtype exists

Fix: Use the most specific subtype available. Google's schema.org hierarchy has over 100 LocalBusiness subtypes — ProfessionalService, LegalService, MedicalBusiness, HomeAndConstructionBusiness, and many more.

NAP mismatch between schema and GBP

Fix: Your schema name, address, and phone must be identical to your GBP listing. Even minor variations — 'Ltd' vs 'Limited', different phone formats — create conflicting signals.

Using the text-based openingHours property

Fix: Use openingHoursSpecification with structured day and time objects. The text format ('Mo-Fr 09:00-18:00') is less reliable for rich result eligibility.

Omitting the sameAs property

Fix: sameAs links to your GBP listing URL, LinkedIn, and other authoritative profiles help Google confirm your business entity across multiple sources.

Implementing schema on every page

Fix: LocalBusiness schema belongs on the homepage and contact/location page only. Duplicating it across hundreds of pages does not improve results and can create validation errors.

Not validating the implementation

Fix: Use Google's Rich Results Test (search.google.com/test/rich-results) to validate your schema before and after implementation. Fix any errors before publishing.

From our work

In technical SEO audits, LocalBusiness schema errors are among the most consistently found issues — and among the quickest to fix. The most common pattern: a business has schema implemented but the name or address does not match the GBP listing, often because the schema was set up when the business was at a previous address or trading under a different name. Correcting the mismatch and revalidating with the Rich Results Test takes under an hour and removes a source of conflicting signals that may have been suppressing local visibility for months.

Frequently asked questions

Does LocalBusiness schema markup directly improve local pack rankings?

LocalBusiness schema is not a direct local pack ranking factor in the way that GBP optimisation, reviews, and citations are. Its primary value is in helping Google parse and confirm your business information — name, address, phone, hours, and service area — which reduces ambiguity and reinforces the signals from your GBP listing.

Where should I put LocalBusiness schema on my website?

LocalBusiness schema should be implemented on your homepage and, where applicable, on your location or contact page. It should not be added to every page — once per site is sufficient for the core business entity markup.

What is the difference between LocalBusiness and Organization schema?

Organization is the parent type for any business entity. LocalBusiness is a more specific subtype that includes location-specific properties like address, opening hours, and geographic coordinates. For any business with a physical or service-area presence, LocalBusiness (or one of its more specific subtypes) is the correct choice.

Y

Freelance SEO & AI Consultant — London

Semantic SEO Specialist · Koray Framework Practitioner · AI Consulting for UK SMEs

I implement and audit structured data as part of technical SEO engagements for London businesses — from LocalBusiness schema to Article, FAQPage, and HowTo markup. About me →

Related guides

Need a technical SEO audit that covers structured data?

Schema validation, LocalBusiness markup, and rich result eligibility — included in technical SEO audits for London businesses.

View Technical SEO Audit