How to Add Structured Data Markup for Business Name, Address, and Phone
Structured data markup for business name, address, and phone (NAP) tells search engines and AI systems exactly who your business is, where it is located, and how to contact it – in machine-readable code rather than plain text. Without this markup, search engines must infer your business details from context. With it, they receive a direct, unambiguous declaration. For local businesses competing for visibility in Google Search, Google Maps, and AI-generated answers, that clarity is a meaningful advantage.
This guide walks through selecting the right schema type, writing the minimum required markup, adding advanced properties, deploying the code to your site, and testing the result.
Step 1: Choose the Right Schema Type for Your Business
Schema.org defines LocalBusiness as the base type for any business with a physical location or a defined service area. Using LocalBusiness alone is technically correct, but it tells search engines very little about what your business actually does.
The more specific your schema type, the stronger the signal. A generic LocalBusiness label applies equally to a clinic, a restaurant, and a law firm. Choosing the correct subtype removes that ambiguity.
Common specific types include:
Restaurant– for food and beverage establishmentsMedicalClinicorPhysician– for healthcare providersLegalServiceorAttorney– for law firmsRealEstateAgent– for property agenciesHotelorLodgingBusiness– for hospitality businessesBeautySalonorHairSalon– for personal care servicesAutoRepair– for vehicle service businesses
Use the most specific type that accurately describes your business. If your business genuinely spans two types, declare both as an array. For example, a property agency that also offers management consulting would list both types in a single schema block.
Step 2: Assemble Your NAP Data Before Writing Code
Gather the following details before opening any code editor. Errors in this step propagate everywhere. Consistent NAP data across your website, Google Business Profile, and business directories is the foundation of local search trust and inconsistent NAP data across directories is one of the most common reasons businesses underperform in local rankings.
Collect:
- Legal business name – exactly as it appears on your Google Business Profile and primary listings
- Street address – include the full street number, street name, and any unit or floor number
- City, state or province, postal code, and country
- Primary phone number – include the country code (e.g., +27 for South Africa, +234 for Nigeria, +1 for the US)
- Business website URL
- Business category – to confirm the right schema subtype
- Geographic coordinates – latitude and longitude to at least five decimal places (use Google Maps to retrieve these)
Do not proceed with placeholder or approximate data. Inaccurate schema is worse than no schema, because it creates a conflict between what your markup declares and what directories and maps show.
Step 3: Write the LocalBusiness JSON-LD Block
Google recommends JSON-LD as the preferred format for structured data. JSON-LD sits in a <script> tag and does not require changes to your visible HTML. This makes it far easier to maintain than microdata, which requires adding attributes directly to page elements.
Below is a complete, production-ready example for a restaurant in Lagos. Adapt the values for your own business.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "The Lagos Kitchen",
"url": "https://www.thelagoskitchen.com",
"telephone": "+2348012345678",
"address": {
"@type": "PostalAddress",
"streetAddress": "14 Adeola Odeku Street",
"addressLocality": "Victoria Island",
"addressRegion": "Lagos",
"postalCode": "101233",
"addressCountry": "NG"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 6.43147,
"longitude": 3.42153
},
"hasMap": "https://maps.google.com/?cid=YOUR_GOOGLE_CID",
"image": "https://www.thelagoskitchen.com/images/restaurant.jpg",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "22:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday", "Sunday"],
"opens": "10:00",
"closes": "23:00"
}
],
"sameAs": [
"https://www.facebook.com/thelagoskitchen",
"https://www.yelp.com/biz/the-lagos-kitchen"
]
}
</script>
The sameAs Property
The sameAs property connects your schema markup to your business listings on other platforms – your Google Business Profile, Facebook page, Yelp listing, or any verified directory profile. When search engines see sameAs pointing to a confirmed listing, they can immediately associate the website with that external entity without waiting for a crawl. This accelerates trust and citation accuracy.
The geo and hasMap Properties
Geographic coordinates remove any ambiguity about where your business is located. At least five decimal places of precision are required for the coordinates to be meaningful. The hasMap property links directly to your business's map listing – not a general address search, but the specific map pin for your location.
The openingHoursSpecification Property
Hours are declared using ISO day names and 24-hour time. If your business is open past midnight on any day, define a single OpeningHoursSpecification for that overnight period spanning both days. To show a business as open 24 hours, set opens to "00:00" and closes to "23:59".
Step 4: Add the Schema to Your Website
There are two practical methods for adding the JSON-LD block to a website.
Method 1: Add Directly to the HTML
Paste the <script type="application/ld+json"> block inside the <head> section of the relevant page. For most local businesses, the homepage and the contact page are the right targets. If your business has a dedicated location page, add it there.
Most CMS platforms – WordPress, Wix, Squarespace, Shopify – provide a field for custom header code. In WordPress, this is available via the theme settings, a header plugin, or directly in the functions.php file. Paste the full script block into the custom header code field.
Method 2: Deploy via Google Tag Manager
Google Tag Manager (GTM) allows you to add schema without editing page code. This method suits businesses where the website is managed by a developer but marketing needs to control structured data independently.
To deploy via GTM:
- Open GTM and navigate to Tags > New.
- Select "Custom HTML" as the tag type.
- Paste the full
<script type="application/ld+json">block into the HTML field. - Set the trigger to "All Pages" or to the specific page where the schema belongs.
- Save and publish the container.
Both methods produce identical results for search engines. Choose the one that fits your workflow.
Step 5: Test and Validate the Markup
After deployment, validate the schema before assuming it is working correctly.
Use Google's Rich Results Test
Google's Rich Results Test accepts either a live URL or a code snippet. Paste your URL and run the test. The tool will confirm whether the schema is valid, flag any required properties that are missing, and identify recommended properties you have not yet included.
Fix any errors flagged as critical. Non-critical warnings indicate properties that would improve result quality but are not required for basic eligibility.
Use the Free Schema Generator
For businesses that find JSON-LD syntax unfamiliar, the free schema generator at AuthorityStack.ai produces valid LocalBusiness JSON-LD from a web form. Fill in your business details and copy the generated code directly into your site. No technical skill is required.
Check Google Search Console
After Google has crawled the updated page, the Search Console URL Inspection tool will show whether the structured data has been detected and processed. Navigate to URL Inspection, enter the page URL, and review the "Enhancements" section for LocalBusiness detection.
Step 6: Confirm NAP Consistency Across All Channels
Schema markup on your website is one signal. Search engines cross-reference it against what appears on your Google Business Profile, business directories, and other citation sources. If those sources show a different phone number, an old address, or a name variation, the conflicting data weakens your local search performance.
Destinali operates across 32 countries – including 27 major African markets and the US, UK, Canada, Australia, and the Philippines and the businesses that perform best in local search maintain consistent NAP data across every channel where they appear. The NAP Management tool maintains accurate business details across search engines, maps, directories, and business listings, and helps identify where inconsistencies exist before they affect rankings.
Structured data reinforces citation data. Citation data reinforces structured data. The two work together, and inconsistency in either one reduces the effectiveness of both.
FAQ
What Is Structured Data Markup for a Local Business?
Structured data markup for a local business is machine-readable code added to a website that explicitly declares the business name, address, phone number, hours, and other details to search engines. It uses the JSON-LD format and vocabulary from Schema.org to communicate business information in a standardized way that search engines and AI systems can extract directly, without needing to interpret the surrounding page content.
Which Schema Type Should a Local Business Use?
Most local businesses should use the most specific LocalBusiness subtype that accurately describes their operations. A restaurant uses Restaurant, a medical clinic uses MedicalClinic, a law firm uses LegalService. Using a specific subtype rather than the generic LocalBusiness type gives search engines clearer information about what the business does and improves eligibility for relevant rich results.
What Are the Required Fields for LocalBusiness Schema?
Google requires the following properties for a LocalBusiness schema block to be eligible for rich results: name, address (with streetAddress, addressLocality, and addressCountry at minimum), telephone, and geographic coordinates (latitude and longitude). Including recommended properties – such as openingHoursSpecification, image, url, and sameAs – improves the completeness and quality of the result.
How Do I Add Schema Markup Without Editing Code?
Google Tag Manager allows you to add a JSON-LD schema block to any page without editing the site's HTML directly. Create a new Custom HTML tag, paste the schema code, set the trigger to the relevant pages, and publish. Alternatively, most CMS platforms including WordPress offer custom header fields or plugins where the script block can be pasted. The free schema generator at AuthorityStack.ai can also produce ready-to-use JSON-LD from a web form if writing the code manually feels unfamiliar.
Does Schema Markup Directly Improve Google Rankings?
Schema markup is not a confirmed direct ranking factor, but it produces measurable indirect benefits. Pages with structured data are more likely to appear in rich results, which generate higher click-through rates. Research cited by BlueTone Media indicates a 40% boost in click-through rate for pages with schema, and Milestone Inc. reports that rich results receive 58% of user clicks compared to 41% for non-rich results. Schema also helps AI systems and voice assistants retrieve accurate business information.
What Is the sameAs Property and Why Does It Matter?
The sameAs property links your schema markup to verified third-party profiles of your business – your Google Business Profile URL, Facebook page, or directory listings. When a search engine sees sameAs pointing to a known citation, it can immediately connect your website with those external entities without waiting for a separate crawl. This accelerates the formation of a consistent business entity in search engine knowledge bases and supports accurate local rankings.
How Do I Test Whether My Schema Is Working?
Use Google's Rich Results Test to validate schema on a live URL or a code snippet. The tool identifies missing required properties and flags non-critical issues. After Google crawls the page, Google Search Console will show whether LocalBusiness structured data has been detected under the URL Inspection tool's Enhancements section.
What to Do Now
- Collect your exact business name, address, phone number, and coordinates before writing any code.
- Confirm which
LocalBusinesssubtype most accurately describes your business at Schema.org. - Generate your JSON-LD block – write it manually using the example above, or use the free schema generator.
- Add the script to your site via direct HTML or Google Tag Manager.
- Validate the result with Google's Rich Results Test and check for errors.
- Review your Google Business Profile and primary directory listings to confirm the name, address, and phone number match the schema exactly.
Businesses ready to go further can fix their business information with NAP management to maintain consistent details across every platform where customers search.

Destinali helps local businesses improve online visibility, discoverability, and customer acquisition across search engines, AI systems, maps, and local search platforms.
List your business →