What it is
Structured data uses the Schema.org vocabulary, usually written as JSON-LD in your page's code, to describe your business in a way machines can read reliably. For a local business, the LocalBusiness type and its more specific subtypes, such as Dentist, Restaurant or AutoRepair, are the ones to use.
Think of it as a label on a box. The page itself is for people. The schema is a short, structured summary that says: this is a business, this is its name, this is the address, these are the hours. Search engines can read the page without it, but the label removes ambiguity, especially where addresses are messy, as they often are in Dubai.
What Google requires and recommends
Google's local business documentation lists only two required properties, but several recommended ones that matter for a real business.
Local SEO · Dubai
Key LocalBusiness properties
| Property | Status | Notes for a Dubai business |
|---|---|---|
| name | Required | Exactly as on your Google Business Profile |
| address | Required | PostalAddress with building, street, addressLocality "Dubai", addressCountry "AE" |
| geo | Recommended | Latitude and longitude with at least 5 decimal places |
| telephone | Recommended | International format with country code, such as +971 |
| url | Recommended | The page for this location, and it must work |
| openingHoursSpecification | Recommended | dayOfWeek, opens and closes for each set of days |
| priceRange | Recommended | Short, under 100 characters |
| menu, servesCuisine | Recommended (food) | For restaurants and cafes |
On top of those, I usually add the logo and sameAs links to your official social profiles, such as Instagram and LinkedIn. They help connect your website to the rest of your presence.
Choosing the right type
Use the most specific type for your business instead of LocalBusiness if one exists. Schema.org has subtypes for many categories, from Dentist and MedicalClinic to Restaurant, AutoRepair, HairSalon and RealEstateAgent. Check the Schema.org LocalBusiness page for the full list. If nothing fits closely, LocalBusiness on its own is fine.
An example to adapt
Replace every value with your own. This version includes geo coordinates and opening hours in the structured format Google documents.
Example JSON-LD
{"@context":"https://schema.org","@type":"LocalBusiness","name":"Your Business Name","address":{"@type":"PostalAddress","streetAddress":"Office 000, Building Name, Street","addressLocality":"Dubai","addressCountry":"AE"},"geo":{"@type":"GeoCoordinates","latitude":25.00000,"longitude":55.00000},"telephone":"+971...","url":"https://example.ae/contact","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"18:00"}]}
The coordinates in the example are placeholders. Get your real ones by right-clicking your location in Google Maps, and make sure they point to your building, not the middle of the community.
Rules to follow
Google's structured data guidelines come down to honesty and consistency. Markup that misleads can make a page ineligible for rich results.
- Only mark up information that's visible on the page and true.
- Don't add reviews or ratings you collected elsewhere and present as if they're on the page. Google only recommends review markup for sites that collect reviews about other businesses.
- Keep details consistent with your Business Profile and listings. See NAP consistency for UAE businesses.
- Use one block per location. For several branches, put each branch's markup on its own branch page.
How to add it
Local SEO · Dubai
Adding schema without a developer
Write it
Adapt the example, or use a plugin that generates it from your settings.
Place it
Paste it into the page head or a custom code block on your contact or homepage.
Test it
Run the page through Google's Rich Results Test and the Schema.org validator.
Monitor it
Use URL Inspection in Search Console to see how Google reads the live page.
How to test it
Google recommends validating your code with the Rich Results Test and fixing any critical errors. Non-critical warnings are worth fixing but don't affect eligibility. The Schema.org validator is useful for checking general syntax. After it's live, Google's URL Inspection tool in Search Console shows whether Google can see the page and isn't blocked by robots.txt or a noindex tag.
Mistakes I see most
- A plugin outputs one business, and a theme outputs another with different details.
- The phone number in the schema is an old one that's no longer on the site.
- Generic LocalBusiness used where a precise type exists.
- Hours in the schema that don't match the hours on the page or the profile.
Schema is one small item in a wider list. If you want the full picture, start with the local SEO checklist or the technical SEO checklist.