Local Schema Implementation for Nashville Businesses
On this page
LocalBusiness structured data states your business facts in a form machines can read: your name, address, coordinates, hours and the kind of business you are. Google’s documentation frames it as a way to tell Google about details such as business hours and departments, and structured data in general as a way to help Google understand a page. It is not a ranking shortcut: Google says it uses structured data “to understand the content of the page,” and its LocalBusiness documentation adds that it “does not guarantee that features that consume structured data will show up in search results.” Implemented well, it is accurate, specific and consistent with your Business Profile and with what the page itself shows.
Choose the most specific type
Google’s LocalBusiness documentation says to “Define each local business location as a LocalBusiness type” and to “Use the most specific LocalBusiness sub-type possible,” with examples such as Restaurant, DaySpa and HealthClub (Local business structured data). A plumbing company can declare Plumber, an electrician Electrician and a restaurant Restaurant; the full tree of subtypes is on schema.org/LocalBusiness.
Some Nashville businesses fit no single type. A Lower Broadway venue can be a bar, a restaurant and a music venue at once, and a recording studio on Music Row may have no exact match. Choose the type that represents the main business model, and express a genuine secondary role with schema.org’s additionalType property rather than claiming every category that might apply.
Required and recommended properties
Google’s documentation lists two required properties for LocalBusiness rich-result eligibility: address, “The physical location of the business,” as a PostalAddress, and name. It adds that “The more properties you provide, the higher quality the result is to users.” The recommended properties worth carrying:
- telephone: the primary number shown on your page and your Business Profile.
- url: the page that describes this location.
- geo: latitude and longitude, where Google specifies that “The precision must be at least 5 decimal places.”
- openingHoursSpecification: your hours. For a seasonal closure, Google’s documentation uses
validFromandvalidThroughto mark the start and end dates in YYYY-MM-DD format. - priceRange: where relevant; Google notes that the field “must be shorter than 100 characters.”
aggregateRating and review are a special case. Google recommends them only for sites that capture reviews about other local businesses, and its review snippet documentation states: “If the entity that’s being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature” (Review snippet structured data). Do not mark up your own testimonials as ratings for your own business.
Keep the markup consistent with the page and the profile
Google’s general structured data guidelines say: “Don’t mark up content that is not visible to readers of the page” (General structured data guidelines). The name, address, phone number and hours in your markup should therefore be the ones the page shows, and those in turn should match your Business Profile and your main listings. The failure to watch for is quiet drift: the page gets a new phone number or suite number, but the JSON-LD sits in a template nobody updated and keeps the old value. Whenever a business fact changes, update the page, the markup and the profile together.
Service-area businesses
A business that travels to its customers and hides its address on the Business Profile needs a deliberate choice here, because two rules meet. Google lists address as required for LocalBusiness rich-result eligibility, and its guidelines say not to mark up content that is not visible on the page. If your site does not show a street address, do not add one to the markup just to complete it; publish only the address details the page shows, such as city, state and postal code, and accept that the markup may not qualify for local business rich results.
Describe the territory you cover with schema.org’s areaServed property, “The geographic area where a service or offered item is provided,” which accepts places and administrative areas. A Franklin-based plumber serving Davidson and Williamson counties can list those counties or the towns within them. List only places you serve, and keep the list consistent with the service area on your Business Profile. Google’s LocalBusiness documentation does not list areaServed among its properties, so treat it as a description for machines generally, not as a Google feature.
The contradiction to avoid is a business whose Business Profile says it comes to customers while old storefront markup on its website still publishes a street address with a walk-in business type. Bring the two into line.
Multiple locations
Mark up each location on its own page, with its own address, coordinates, phone number and hours. Google’s documentation says to define each local business location as a LocalBusiness type. A practical convention is to give each location’s markup a stable @id, such as the location page’s URL followed by a fragment, so that each entity has its own identifier and two locations are never described by one record. Google’s LocalBusiness documentation does not mention @id; this is an implementation choice, not a Google requirement.
For departments inside one business, such as a pharmacy inside a store, Google’s documentation supports a nested department property, with the department’s own hours and phone number.
Validate, then monitor
Test the markup before and after publishing. Google describes its Rich Results Test as a tool “for validating your structured data, and in some cases, previewing a feature in Google Search” (Intro to structured data). The Schema Markup Validator checks markup against the schema.org vocabulary, including properties such as areaServed that Google’s LocalBusiness documentation does not list. Run both, fix what they flag and run them again.
Then check on a schedule. Re-test after any template or theme change, after a change to any business fact and after Google updates its documentation. A template edit can break the markup on every location page at once. Three errors to look for each time: a business fact that no longer matches the page, a generic LocalBusiness type left in place when a specific subtype fits, and malformed structure from a copy-and-paste, such as coordinates entered as text or a property nested at the wrong level.
Sources
- Local business (LocalBusiness) structured data, Google Search Central
- General structured data guidelines, Google Search Central
- Review snippet structured data, Google Search Central
- Intro to structured data, Google Search Central
- LocalBusiness, schema.org
- areaServed, schema.org
- Schema Markup Validator