LocalSEOFlow

Local Business Schema Checker

Paste a page URL or your JSON-LD code and this checker reads every LocalBusiness block on it. It flags missing name, address, phone and URL, broken opening hours and a wrong @type. In URL mode it also compares the phone, address and name in your schema with the text people see on the page. Every problem comes with a fix and a code sample you can copy.

πŸ›‘οΈ Paste mode stays in your browserβœ… 130 LocalBusiness subtypesπŸ“ Schema vs page NAPπŸš€ Copy ready fixes

Our server downloads the page once, reads every JSON-LD block and the visible text, and compares the NAP. Schema added by JavaScript after load is not visible to this check.

This is an independent checker based on the schema.org vocabulary and Google's published LocalBusiness guidelines. It is not Google's Rich Results Test and cannot tell you whether Google will show a rich result.

Was this tool helpful?

Rate it in one click. No sign-up, one rating per person.

How to Check Your Local Business Schema

Four steps. Most checks take a few seconds.

Step 1

Pick a mode

Use URL to check a live page. Use Paste code when the page is not live yet or sits behind a login.

Step 2

Run the check

The tool pulls every JSON-LD script on the page, including items inside @graph, and finds the business.

Step 3

Read the list

Red items break the markup. Amber items are fields Google recommends. Each one shows the fix.

Step 4

Copy or rebuild

Copy the corrected code, or send the data to the schema builder and finish it there.

What the Checker Looks At

Every LocalBusiness entity on the page gets its own report.

πŸ“

JSON syntax

One stray comma kills the whole block. For pasted code you get the line and column.

🏷️

The @type

It must be LocalBusiness or one of its 130 subtypes from the schema.org vocabulary, such as Plumber or Dentist. Typos like "LocalBuisness" get a suggestion.

🏠

Name and address

Google requires both. The address should be a PostalAddress with street, city, state, ZIP and country.

πŸ“±

Phone and URL

Google lists them as recommended. For a local business we treat them as must haves, since they are half of your NAP.

πŸ“

Geo

Latitude and longitude inside GeoCoordinates. Google asks for at least 5 decimal places.

⏰

Opening hours

Day names and times are checked one by one.

πŸ—ΊοΈ

Area served and sameAs

Area served matters most for a service area business. sameAs links your profiles together.

πŸ“Έ

Price, image, logo

Short fields, easy wins.

Required vs Recommended Fields

FieldGoogle saysThis tool treats it as
nameRequiredError if missing
addressRequiredError if missing
telephoneRecommendedError if missing (NAP)
urlRecommendedError if missing (NAP)
geoRecommendedWarning
openingHoursSpecificationRecommendedWarning
priceRangeRecommendedWarning
areaServed, sameAs, image, logoNot in Google's listTip

We are stricter than Google on purpose.

A listing with no phone in its schema is a weak NAP signal, even if Google will still parse it. The full list of fields is in Google's LocalBusiness documentation.

Opening Hours Format That Validates

Most broken markup I see on contractor sites comes from hours. A plugin writes "9am" or "Mon to Fri" and the parser throws it away. Use 24 hour time like 09:00 or 17:30. Use full English day names or the schema.org day URLs. Group days that share hours into one object.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "08:00",
    "closes": "17:30"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "09:00",
    "closes": "13:00"
  }
]

ℹ️ For a business open around the clock, set opens to 00:00 and closes to 23:59. For a day you are closed, Google suggests opens and closes both at 00:00, or you can leave the day out.

Schema NAP vs Page NAP

Your schema is a claim. The page is the proof. If a roofing company in Tulsa moves offices and updates the footer but forgets the plugin settings, the markup still shows the old street. Google now sees two addresses for one business.

What gets compared

In URL mode the checker takes the name, phone and address from your schema and looks for them in the visible text of the page, tel: links included. Phone numbers are matched on digits, so (918) 555 0142 and +1 918 555 0142 count as the same. Address is checked by street number, street name, city and ZIP.

A miss is a prompt to look

A miss does not always mean an error. Some sites keep the address only on the contact page. It does mean you should look, and check the same details against your Google Business Profile.

Planning pages for each town you serve? The service area page planner helps you map them before you add schema to each one.

This Is Not Google's Rich Results Test

This tool checks your markup against the schema.org vocabulary and Google's published LocalBusiness guidelines. It is not Google and it cannot tell you what Google will show. It reads the HTML your server sends, so schema added later by JavaScript (some tag manager setups) will not be seen.

Run the Rich Results Test or the Schema Markup Validator when you need Google's own answer. Use this one to find what is missing and fix it fast.

Before you worry about markup, make sure the page can be indexed at all. Our indexability checker tests that. And once the schema is clean, the Google review link generator helps you grow the reviews that sit behind it.

Frequently Asked Questions

Is this local schema checker free?

Yes. There is no signup and no paywall. Paste code mode runs in your browser, so the code never leaves your device. URL mode sends the address to our server, which downloads the page once and pulls out the JSON-LD and visible text. We do not store the page. A fair use limit stops abuse of the URL fetcher.

Which fields does LocalBusiness schema need?

Google requires only name and address. It recommends telephone, url, geo, openingHoursSpecification and priceRange, plus menu and servesCuisine for restaurants. For local SEO I add phone and URL to the must have list, because they complete your NAP. areaServed, sameAs, image and logo are optional but worth the two minutes they take.

Is LocalBusiness schema a ranking factor?

Google has not said it is a direct ranking factor, and I would not sell it as one. What it does is state your business details in a format machines read without guessing. That helps Google match your site to your Business Profile and can feed rich results. Clean, consistent NAP across your site, schema and profile is the real goal.

Can I use Organization instead of LocalBusiness?

You can, but you lose the local fields. Organization has no openingHoursSpecification or priceRange. If customers visit you, or you send crews to them, use LocalBusiness or a closer subtype like Electrician or AutoRepair. Big brands often use both: Organization for the company and a LocalBusiness for each branch, linked with parentOrganization.

Why does the checker find no schema on my page?

The usual reason is that the markup is added by JavaScript after the page loads, often through Google Tag Manager. This tool reads the HTML the server sends and does not run scripts. Open your page source and search for application/ld+json. If it is not there, paste the code from your plugin or tag into the Paste code tab instead.

How should I handle schema for multiple locations?

Give each location its own page and its own LocalBusiness block with that branch's name, address, phone and hours. Do not stack every branch on the home page. Use a unique @id per location, such as the page URL plus #localbusiness. Our service area page planner can help you map out those location pages first.

Does my schema need to match my Google Business Profile?

It should. Use the same business name, phone and address you use on your profile, written the same way. Small format changes like St versus Street are fine. A different phone number, an old suite number or a keyword stuffed name are not. Mismatches send mixed signals, and keyword stuffing in the name breaks Google's profile guidelines.

Is this the same as Google's Rich Results Test?

No. This is an independent checker built on the schema.org vocabulary and Google's published LocalBusiness docs. It goes deeper on local fields and compares your schema with your page text, which Google's test does not do. It cannot tell you if Google will show a rich result. For that final answer, run Google's own test as well.

Find the Gaps, Then Fix Them

Check the page, copy the corrected code, or finish the job in the free schema markup builder.

Free Tool Workflow

Next Step: Free Tools in This Workflow

Continue your workflow with these related free tools. No login required.

πŸ”’ All tools are 100% free Β· No login required Β· Files never leave your device